@ethora/chat-component-rn 26.8.5 → 26.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (690) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +95 -0
  3. package/lib/commonjs/assets/emojiData.js +40 -0
  4. package/lib/commonjs/assets/emojiData.js.map +1 -0
  5. package/lib/commonjs/assets/icons.js +5 -3
  6. package/lib/commonjs/assets/icons.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/ChatHeader.js +35 -15
  8. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ChatRoom.js +33 -24
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/ChatWrapper.js +22 -16
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/EncryptedSendNotice.js +47 -0
  14. package/lib/commonjs/components/MainComponents/EncryptedSendNotice.js.map +1 -0
  15. package/lib/commonjs/components/MainComponents/EncryptionCard.js +286 -0
  16. package/lib/commonjs/components/MainComponents/EncryptionCard.js.map +1 -0
  17. package/lib/commonjs/components/MainComponents/MediaMessage.js +7 -0
  18. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  19. package/lib/commonjs/components/MainComponents/MessageContainer.js +4 -12
  20. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  21. package/lib/commonjs/components/MainComponents/MessageList.js +110 -35
  22. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  23. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +5 -0
  24. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  25. package/lib/commonjs/components/MainComponents/RoomList.js +32 -29
  26. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  27. package/lib/commonjs/components/MainComponents/RoomStack.js +133 -65
  28. package/lib/commonjs/components/MainComponents/RoomStack.js.map +1 -1
  29. package/lib/commonjs/components/MainComponents/SealedAttachment.js +231 -0
  30. package/lib/commonjs/components/MainComponents/SealedAttachment.js.map +1 -0
  31. package/lib/commonjs/components/MainComponents/SystemMessage.js +6 -2
  32. package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
  33. package/lib/commonjs/components/MessageBubble/Avatar.js +5 -1
  34. package/lib/commonjs/components/MessageBubble/Avatar.js.map +1 -1
  35. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js +18 -21
  36. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  37. package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js +447 -0
  38. package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
  39. package/lib/commonjs/components/MessageBubble/Message.js +264 -136
  40. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  41. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +215 -13
  42. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  43. package/lib/commonjs/components/MessageBubble/MessageReaction.js +113 -94
  44. package/lib/commonjs/components/MessageBubble/MessageReaction.js.map +1 -1
  45. package/lib/commonjs/components/MessageBubble/MessageReply.js +66 -24
  46. package/lib/commonjs/components/MessageBubble/MessageReply.js.map +1 -1
  47. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +7 -4
  48. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  49. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +159 -16
  50. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  51. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +4 -0
  52. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  53. package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js +76 -44
  54. package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js.map +1 -1
  55. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +29 -6
  56. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  57. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +5 -1
  58. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  59. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +37 -13
  60. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  61. package/lib/commonjs/components/RoomComponents/LastMessageItem.js +6 -0
  62. package/lib/commonjs/components/RoomComponents/LastMessageItem.js.map +1 -1
  63. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +2 -2
  64. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  65. package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
  66. package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
  67. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +4 -6
  68. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  69. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +2 -2
  70. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  71. package/lib/commonjs/components/RoomComponents/styled/LastMessageSealed.js +41 -0
  72. package/lib/commonjs/components/RoomComponents/styled/LastMessageSealed.js.map +1 -0
  73. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +2 -2
  74. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  75. package/lib/commonjs/components/Thread/ThreadWrapper.js +273 -152
  76. package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
  77. package/lib/commonjs/components/UsersList/UsersList.js +2 -1
  78. package/lib/commonjs/components/UsersList/UsersList.js.map +1 -1
  79. package/lib/commonjs/components/styled/DateLabel.js +6 -3
  80. package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
  81. package/lib/commonjs/components/styled/SendInput.js +4 -2
  82. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  83. package/lib/commonjs/context/MessageNotificationContext.js +188 -9
  84. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  85. package/lib/commonjs/context/xmppProvider.js +22 -7
  86. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  87. package/lib/commonjs/e2ee/crypto.js +207 -0
  88. package/lib/commonjs/e2ee/crypto.js.map +1 -0
  89. package/lib/commonjs/e2ee/deviceStore.js +84 -0
  90. package/lib/commonjs/e2ee/deviceStore.js.map +1 -0
  91. package/lib/commonjs/e2ee/fileCipher.js +95 -0
  92. package/lib/commonjs/e2ee/fileCipher.js.map +1 -0
  93. package/lib/commonjs/e2ee/fileEnvelope.js +79 -0
  94. package/lib/commonjs/e2ee/fileEnvelope.js.map +1 -0
  95. package/lib/commonjs/e2ee/index.js +210 -0
  96. package/lib/commonjs/e2ee/index.js.map +1 -0
  97. package/lib/commonjs/e2ee/limits.js +9 -0
  98. package/lib/commonjs/e2ee/limits.js.map +1 -0
  99. package/lib/commonjs/e2ee/ns.js +8 -0
  100. package/lib/commonjs/e2ee/ns.js.map +1 -0
  101. package/lib/commonjs/e2ee/omemo.js +622 -0
  102. package/lib/commonjs/e2ee/omemo.js.map +1 -0
  103. package/lib/commonjs/e2ee/protobuf.js +149 -0
  104. package/lib/commonjs/e2ee/protobuf.js.map +1 -0
  105. package/lib/commonjs/e2ee/ratchet.js +238 -0
  106. package/lib/commonjs/e2ee/ratchet.js.map +1 -0
  107. package/lib/commonjs/e2ee/sealedBody.js +23 -0
  108. package/lib/commonjs/e2ee/sealedBody.js.map +1 -0
  109. package/lib/commonjs/e2ee/sealedFiles.js +174 -0
  110. package/lib/commonjs/e2ee/sealedFiles.js.map +1 -0
  111. package/lib/commonjs/e2ee/send.js +54 -0
  112. package/lib/commonjs/e2ee/send.js.map +1 -0
  113. package/lib/commonjs/e2ee/stanza.js +114 -0
  114. package/lib/commonjs/e2ee/stanza.js.map +1 -0
  115. package/lib/commonjs/e2ee/store.js +43 -0
  116. package/lib/commonjs/e2ee/store.js.map +1 -0
  117. package/lib/commonjs/helpers/accountName.js +23 -0
  118. package/lib/commonjs/helpers/accountName.js.map +1 -0
  119. package/lib/commonjs/helpers/createMessageFromXml.js +19 -4
  120. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  121. package/lib/commonjs/helpers/createRoomFromApi.js +36 -2
  122. package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
  123. package/lib/commonjs/helpers/createUserNameFromSetUser.js +2 -1
  124. package/lib/commonjs/helpers/createUserNameFromSetUser.js.map +1 -1
  125. package/lib/commonjs/helpers/displayName.js +16 -0
  126. package/lib/commonjs/helpers/displayName.js.map +1 -0
  127. package/lib/commonjs/helpers/emoji.js +51 -0
  128. package/lib/commonjs/helpers/emoji.js.map +1 -0
  129. package/lib/commonjs/helpers/haptics.js +29 -0
  130. package/lib/commonjs/helpers/haptics.js.map +1 -0
  131. package/lib/commonjs/helpers/historyPreloadScheduler.js +32 -66
  132. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  133. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +21 -12
  134. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  135. package/lib/commonjs/helpers/mamReactions.js +57 -0
  136. package/lib/commonjs/helpers/mamReactions.js.map +1 -0
  137. package/lib/commonjs/helpers/parseMessageReference.js +42 -0
  138. package/lib/commonjs/helpers/parseMessageReference.js.map +1 -0
  139. package/lib/commonjs/helpers/persistCrypto.js +5 -0
  140. package/lib/commonjs/helpers/persistCrypto.js.map +1 -1
  141. package/lib/commonjs/helpers/reactionsConfig.js +17 -0
  142. package/lib/commonjs/helpers/reactionsConfig.js.map +1 -0
  143. package/lib/commonjs/helpers/secureKeyValue.js +20 -0
  144. package/lib/commonjs/helpers/secureKeyValue.js.map +1 -1
  145. package/lib/commonjs/helpers/updateMessagesTillLast.js +17 -2
  146. package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
  147. package/lib/commonjs/helpers/videoCache.js +136 -0
  148. package/lib/commonjs/helpers/videoCache.js.map +1 -0
  149. package/lib/commonjs/hooks/useHeapSender.js +3 -1
  150. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  151. package/lib/commonjs/hooks/useLogout.js +8 -0
  152. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  153. package/lib/commonjs/hooks/useMessageHeapState.js +3 -2
  154. package/lib/commonjs/hooks/useMessageHeapState.js.map +1 -1
  155. package/lib/commonjs/hooks/useRoomInitialization.js +16 -7
  156. package/lib/commonjs/hooks/useRoomInitialization.js.map +1 -1
  157. package/lib/commonjs/hooks/useSendMessage.js +85 -15
  158. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  159. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -1
  160. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  161. package/lib/commonjs/i18n/strings.js +180 -0
  162. package/lib/commonjs/i18n/strings.js.map +1 -1
  163. package/lib/commonjs/main.js +13 -0
  164. package/lib/commonjs/main.js.map +1 -1
  165. package/lib/commonjs/networking/api-requests/auth.api.js +4 -1
  166. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  167. package/lib/commonjs/networking/api-requests/rooms.api.js +111 -17
  168. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  169. package/lib/commonjs/networking/stanzaHandlers.js +106 -50
  170. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  171. package/lib/commonjs/networking/xmpp/getHistory.xmpp.js +29 -74
  172. package/lib/commonjs/networking/xmpp/getHistory.xmpp.js.map +1 -1
  173. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +44 -0
  174. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  175. package/lib/commonjs/networking/xmpp/mamRouter.js +186 -0
  176. package/lib/commonjs/networking/xmpp/mamRouter.js.map +1 -0
  177. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +41 -4
  178. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  179. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js +16 -3
  180. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  181. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +13 -6
  182. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  183. package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +14 -6
  184. package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
  185. package/lib/commonjs/networking/xmppClient.js +104 -23
  186. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  187. package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js +29 -34
  188. package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
  189. package/lib/commonjs/roomStore/Middleware/perfMiddleware.js +51 -0
  190. package/lib/commonjs/roomStore/Middleware/perfMiddleware.js.map +1 -0
  191. package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js +66 -43
  192. package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
  193. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +88 -68
  194. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  195. package/lib/commonjs/roomStore/index.js +18 -14
  196. package/lib/commonjs/roomStore/index.js.map +1 -1
  197. package/lib/commonjs/roomStore/persistBackend.js +93 -0
  198. package/lib/commonjs/roomStore/persistBackend.js.map +1 -0
  199. package/lib/commonjs/roomStore/persistence.js +253 -51
  200. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  201. package/lib/commonjs/roomStore/roomsSlice.js +282 -136
  202. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  203. package/lib/commonjs/theme/theme.js +3 -0
  204. package/lib/commonjs/theme/theme.js.map +1 -1
  205. package/lib/commonjs/utils/devLogger.js +14 -0
  206. package/lib/commonjs/utils/devLogger.js.map +1 -1
  207. package/lib/commonjs/version.js +1 -1
  208. package/lib/module/assets/emojiData.js +36 -0
  209. package/lib/module/assets/emojiData.js.map +1 -0
  210. package/lib/module/assets/icons.js +4 -2
  211. package/lib/module/assets/icons.js.map +1 -1
  212. package/lib/module/components/MainComponents/ChatHeader.js +37 -17
  213. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  214. package/lib/module/components/MainComponents/ChatRoom.js +34 -25
  215. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  216. package/lib/module/components/MainComponents/ChatWrapper.js +23 -17
  217. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  218. package/lib/module/components/MainComponents/EncryptedSendNotice.js +42 -0
  219. package/lib/module/components/MainComponents/EncryptedSendNotice.js.map +1 -0
  220. package/lib/module/components/MainComponents/EncryptionCard.js +281 -0
  221. package/lib/module/components/MainComponents/EncryptionCard.js.map +1 -0
  222. package/lib/module/components/MainComponents/MediaMessage.js +7 -0
  223. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  224. package/lib/module/components/MainComponents/MessageContainer.js +7 -14
  225. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  226. package/lib/module/components/MainComponents/MessageList.js +110 -35
  227. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  228. package/lib/module/components/MainComponents/ReduxWrapper.js +5 -0
  229. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  230. package/lib/module/components/MainComponents/RoomList.js +32 -29
  231. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  232. package/lib/module/components/MainComponents/RoomStack.js +131 -63
  233. package/lib/module/components/MainComponents/RoomStack.js.map +1 -1
  234. package/lib/module/components/MainComponents/SealedAttachment.js +224 -0
  235. package/lib/module/components/MainComponents/SealedAttachment.js.map +1 -0
  236. package/lib/module/components/MainComponents/SystemMessage.js +6 -2
  237. package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
  238. package/lib/module/components/MessageBubble/Avatar.js +5 -1
  239. package/lib/module/components/MessageBubble/Avatar.js.map +1 -1
  240. package/lib/module/components/MessageBubble/BottomReplyContainer.js +19 -22
  241. package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  242. package/lib/module/components/MessageBubble/EmojiPickerSheet.js +438 -0
  243. package/lib/module/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
  244. package/lib/module/components/MessageBubble/Message.js +269 -140
  245. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  246. package/lib/module/components/MessageBubble/MessageInteractions.js +217 -15
  247. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  248. package/lib/module/components/MessageBubble/MessageReaction.js +115 -94
  249. package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
  250. package/lib/module/components/MessageBubble/MessageReply.js +65 -24
  251. package/lib/module/components/MessageBubble/MessageReply.js.map +1 -1
  252. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +7 -4
  253. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  254. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +161 -18
  255. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  256. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +4 -0
  257. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  258. package/lib/module/components/Modals/Modal/SwipeBackLayer.js +76 -44
  259. package/lib/module/components/Modals/Modal/SwipeBackLayer.js.map +1 -1
  260. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +32 -8
  261. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  262. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +4 -0
  263. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  264. package/lib/module/components/RoomComponents/ChatRoomItem.js +37 -13
  265. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  266. package/lib/module/components/RoomComponents/LastMessageItem.js +6 -0
  267. package/lib/module/components/RoomComponents/LastMessageItem.js.map +1 -1
  268. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +2 -2
  269. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  270. package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
  271. package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
  272. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +4 -6
  273. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  274. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +2 -2
  275. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  276. package/lib/module/components/RoomComponents/styled/LastMessageSealed.js +36 -0
  277. package/lib/module/components/RoomComponents/styled/LastMessageSealed.js.map +1 -0
  278. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +2 -2
  279. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  280. package/lib/module/components/Thread/ThreadWrapper.js +273 -153
  281. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  282. package/lib/module/components/UsersList/UsersList.js +2 -1
  283. package/lib/module/components/UsersList/UsersList.js.map +1 -1
  284. package/lib/module/components/styled/DateLabel.js +6 -3
  285. package/lib/module/components/styled/DateLabel.js.map +1 -1
  286. package/lib/module/components/styled/SendInput.js +4 -2
  287. package/lib/module/components/styled/SendInput.js.map +1 -1
  288. package/lib/module/context/MessageNotificationContext.js +190 -11
  289. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  290. package/lib/module/context/xmppProvider.js +22 -7
  291. package/lib/module/context/xmppProvider.js.map +1 -1
  292. package/lib/module/e2ee/crypto.js +170 -0
  293. package/lib/module/e2ee/crypto.js.map +1 -0
  294. package/lib/module/e2ee/deviceStore.js +77 -0
  295. package/lib/module/e2ee/deviceStore.js.map +1 -0
  296. package/lib/module/e2ee/fileCipher.js +90 -0
  297. package/lib/module/e2ee/fileCipher.js.map +1 -0
  298. package/lib/module/e2ee/fileEnvelope.js +66 -0
  299. package/lib/module/e2ee/fileEnvelope.js.map +1 -0
  300. package/lib/module/e2ee/index.js +185 -0
  301. package/lib/module/e2ee/index.js.map +1 -0
  302. package/lib/module/e2ee/limits.js +5 -0
  303. package/lib/module/e2ee/limits.js.map +1 -0
  304. package/lib/module/e2ee/ns.js +4 -0
  305. package/lib/module/e2ee/ns.js.map +1 -0
  306. package/lib/module/e2ee/omemo.js +610 -0
  307. package/lib/module/e2ee/omemo.js.map +1 -0
  308. package/lib/module/e2ee/protobuf.js +140 -0
  309. package/lib/module/e2ee/protobuf.js.map +1 -0
  310. package/lib/module/e2ee/ratchet.js +228 -0
  311. package/lib/module/e2ee/ratchet.js.map +1 -0
  312. package/lib/module/e2ee/sealedBody.js +19 -0
  313. package/lib/module/e2ee/sealedBody.js.map +1 -0
  314. package/lib/module/e2ee/sealedFiles.js +154 -0
  315. package/lib/module/e2ee/sealedFiles.js.map +1 -0
  316. package/lib/module/e2ee/send.js +48 -0
  317. package/lib/module/e2ee/send.js.map +1 -0
  318. package/lib/module/e2ee/stanza.js +107 -0
  319. package/lib/module/e2ee/stanza.js.map +1 -0
  320. package/lib/module/e2ee/store.js +35 -0
  321. package/lib/module/e2ee/store.js.map +1 -0
  322. package/lib/module/helpers/accountName.js +18 -0
  323. package/lib/module/helpers/accountName.js.map +1 -0
  324. package/lib/module/helpers/createMessageFromXml.js +19 -4
  325. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  326. package/lib/module/helpers/createRoomFromApi.js +36 -2
  327. package/lib/module/helpers/createRoomFromApi.js.map +1 -1
  328. package/lib/module/helpers/createUserNameFromSetUser.js +3 -1
  329. package/lib/module/helpers/createUserNameFromSetUser.js.map +1 -1
  330. package/lib/module/helpers/displayName.js +11 -0
  331. package/lib/module/helpers/displayName.js.map +1 -0
  332. package/lib/module/helpers/emoji.js +44 -0
  333. package/lib/module/helpers/emoji.js.map +1 -0
  334. package/lib/module/helpers/haptics.js +24 -0
  335. package/lib/module/helpers/haptics.js.map +1 -0
  336. package/lib/module/helpers/historyPreloadScheduler.js +32 -66
  337. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  338. package/lib/module/helpers/insertMessageWithDelimiter.js +21 -12
  339. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  340. package/lib/module/helpers/mamReactions.js +51 -0
  341. package/lib/module/helpers/mamReactions.js.map +1 -0
  342. package/lib/module/helpers/parseMessageReference.js +37 -0
  343. package/lib/module/helpers/parseMessageReference.js.map +1 -0
  344. package/lib/module/helpers/persistCrypto.js +4 -0
  345. package/lib/module/helpers/persistCrypto.js.map +1 -1
  346. package/lib/module/helpers/reactionsConfig.js +10 -0
  347. package/lib/module/helpers/reactionsConfig.js.map +1 -0
  348. package/lib/module/helpers/secureKeyValue.js +19 -0
  349. package/lib/module/helpers/secureKeyValue.js.map +1 -1
  350. package/lib/module/helpers/updateMessagesTillLast.js +17 -2
  351. package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
  352. package/lib/module/helpers/videoCache.js +125 -0
  353. package/lib/module/helpers/videoCache.js.map +1 -0
  354. package/lib/module/hooks/useHeapSender.js +3 -1
  355. package/lib/module/hooks/useHeapSender.js.map +1 -1
  356. package/lib/module/hooks/useLogout.js +8 -0
  357. package/lib/module/hooks/useLogout.js.map +1 -1
  358. package/lib/module/hooks/useMessageHeapState.js +3 -2
  359. package/lib/module/hooks/useMessageHeapState.js.map +1 -1
  360. package/lib/module/hooks/useRoomInitialization.js +17 -8
  361. package/lib/module/hooks/useRoomInitialization.js.map +1 -1
  362. package/lib/module/hooks/useSendMessage.js +85 -15
  363. package/lib/module/hooks/useSendMessage.js.map +1 -1
  364. package/lib/module/hooks/useUnreadMessagesCounter.js +1 -1
  365. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  366. package/lib/module/i18n/strings.js +180 -0
  367. package/lib/module/i18n/strings.js.map +1 -1
  368. package/lib/module/main.js +1 -0
  369. package/lib/module/main.js.map +1 -1
  370. package/lib/module/networking/api-requests/auth.api.js +4 -1
  371. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  372. package/lib/module/networking/api-requests/rooms.api.js +109 -18
  373. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  374. package/lib/module/networking/stanzaHandlers.js +107 -51
  375. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  376. package/lib/module/networking/xmpp/getHistory.xmpp.js +29 -74
  377. package/lib/module/networking/xmpp/getHistory.xmpp.js.map +1 -1
  378. package/lib/module/networking/xmpp/handleStanzas.xmpp.js +42 -0
  379. package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  380. package/lib/module/networking/xmpp/mamRouter.js +175 -0
  381. package/lib/module/networking/xmpp/mamRouter.js.map +1 -0
  382. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +38 -2
  383. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  384. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js +16 -3
  385. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  386. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +13 -6
  387. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  388. package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +14 -6
  389. package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
  390. package/lib/module/networking/xmppClient.js +105 -24
  391. package/lib/module/networking/xmppClient.js.map +1 -1
  392. package/lib/module/roomStore/Middleware/newMessageMidlleware.js +29 -34
  393. package/lib/module/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
  394. package/lib/module/roomStore/Middleware/perfMiddleware.js +45 -0
  395. package/lib/module/roomStore/Middleware/perfMiddleware.js.map +1 -0
  396. package/lib/module/roomStore/Middleware/reactionsMiddleware.js +66 -43
  397. package/lib/module/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
  398. package/lib/module/roomStore/Middleware/unreadMidlleware.js +89 -69
  399. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  400. package/lib/module/roomStore/index.js +19 -15
  401. package/lib/module/roomStore/index.js.map +1 -1
  402. package/lib/module/roomStore/persistBackend.js +86 -0
  403. package/lib/module/roomStore/persistBackend.js.map +1 -0
  404. package/lib/module/roomStore/persistence.js +253 -49
  405. package/lib/module/roomStore/persistence.js.map +1 -1
  406. package/lib/module/roomStore/roomsSlice.js +275 -134
  407. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  408. package/lib/module/theme/theme.js +3 -0
  409. package/lib/module/theme/theme.js.map +1 -1
  410. package/lib/module/utils/devLogger.js +13 -0
  411. package/lib/module/utils/devLogger.js.map +1 -1
  412. package/lib/module/version.js +1 -1
  413. package/lib/typescript/assets/emojiData.d.ts +8 -0
  414. package/lib/typescript/assets/emojiData.d.ts.map +1 -0
  415. package/lib/typescript/assets/icons.d.ts +8 -0
  416. package/lib/typescript/assets/icons.d.ts.map +1 -1
  417. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  418. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  419. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  420. package/lib/typescript/components/MainComponents/EncryptedSendNotice.d.ts +4 -0
  421. package/lib/typescript/components/MainComponents/EncryptedSendNotice.d.ts.map +1 -0
  422. package/lib/typescript/components/MainComponents/EncryptionCard.d.ts +10 -0
  423. package/lib/typescript/components/MainComponents/EncryptionCard.d.ts.map +1 -0
  424. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  425. package/lib/typescript/components/MainComponents/MessageContainer.d.ts +2 -2
  426. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  427. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  428. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  429. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  430. package/lib/typescript/components/MainComponents/RoomStack.d.ts +7 -2
  431. package/lib/typescript/components/MainComponents/RoomStack.d.ts.map +1 -1
  432. package/lib/typescript/components/MainComponents/SealedAttachment.d.ts +13 -0
  433. package/lib/typescript/components/MainComponents/SealedAttachment.d.ts.map +1 -0
  434. package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
  435. package/lib/typescript/components/MessageBubble/Avatar.d.ts +2 -0
  436. package/lib/typescript/components/MessageBubble/Avatar.d.ts.map +1 -1
  437. package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
  438. package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts +11 -0
  439. package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts.map +1 -0
  440. package/lib/typescript/components/MessageBubble/Message.d.ts +2 -2
  441. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  442. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +2 -0
  443. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  444. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts +1 -0
  445. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
  446. package/lib/typescript/components/MessageBubble/MessageReply.d.ts +7 -7
  447. package/lib/typescript/components/MessageBubble/MessageReply.d.ts.map +1 -1
  448. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  449. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  450. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  451. package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts +2 -1
  452. package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts.map +1 -1
  453. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  454. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  455. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts +2 -2
  456. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  457. package/lib/typescript/components/RoomComponents/LastMessageItem.d.ts.map +1 -1
  458. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
  459. package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts +3 -6
  460. package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts.map +1 -1
  461. package/lib/typescript/components/RoomComponents/styled/LastMessageSealed.d.ts +7 -0
  462. package/lib/typescript/components/RoomComponents/styled/LastMessageSealed.d.ts.map +1 -0
  463. package/lib/typescript/components/Thread/ThreadWrapper.d.ts +7 -1
  464. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  465. package/lib/typescript/components/UsersList/UsersList.d.ts.map +1 -1
  466. package/lib/typescript/components/styled/DateLabel.d.ts +1 -0
  467. package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
  468. package/lib/typescript/components/styled/SendInput.d.ts +1 -0
  469. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  470. package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
  471. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  472. package/lib/typescript/e2ee/crypto.d.ts +28 -0
  473. package/lib/typescript/e2ee/crypto.d.ts.map +1 -0
  474. package/lib/typescript/e2ee/deviceStore.d.ts +4 -0
  475. package/lib/typescript/e2ee/deviceStore.d.ts.map +1 -0
  476. package/lib/typescript/e2ee/fileCipher.d.ts +7 -0
  477. package/lib/typescript/e2ee/fileCipher.d.ts.map +1 -0
  478. package/lib/typescript/e2ee/fileEnvelope.d.ts +27 -0
  479. package/lib/typescript/e2ee/fileEnvelope.d.ts.map +1 -0
  480. package/lib/typescript/e2ee/index.d.ts +23 -0
  481. package/lib/typescript/e2ee/index.d.ts.map +1 -0
  482. package/lib/typescript/e2ee/limits.d.ts +3 -0
  483. package/lib/typescript/e2ee/limits.d.ts.map +1 -0
  484. package/lib/typescript/e2ee/ns.d.ts +2 -0
  485. package/lib/typescript/e2ee/ns.d.ts.map +1 -0
  486. package/lib/typescript/e2ee/omemo.d.ts +64 -0
  487. package/lib/typescript/e2ee/omemo.d.ts.map +1 -0
  488. package/lib/typescript/e2ee/protobuf.d.ts +25 -0
  489. package/lib/typescript/e2ee/protobuf.d.ts.map +1 -0
  490. package/lib/typescript/e2ee/ratchet.d.ts +39 -0
  491. package/lib/typescript/e2ee/ratchet.d.ts.map +1 -0
  492. package/lib/typescript/e2ee/sealedBody.d.ts +2 -0
  493. package/lib/typescript/e2ee/sealedBody.d.ts.map +1 -0
  494. package/lib/typescript/e2ee/sealedFiles.d.ts +31 -0
  495. package/lib/typescript/e2ee/sealedFiles.d.ts.map +1 -0
  496. package/lib/typescript/e2ee/send.d.ts +6 -0
  497. package/lib/typescript/e2ee/send.d.ts.map +1 -0
  498. package/lib/typescript/e2ee/stanza.d.ts +8 -0
  499. package/lib/typescript/e2ee/stanza.d.ts.map +1 -0
  500. package/lib/typescript/e2ee/store.d.ts +16 -0
  501. package/lib/typescript/e2ee/store.d.ts.map +1 -0
  502. package/lib/typescript/helpers/accountName.d.ts +7 -0
  503. package/lib/typescript/helpers/accountName.d.ts.map +1 -0
  504. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  505. package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
  506. package/lib/typescript/helpers/createUserNameFromSetUser.d.ts.map +1 -1
  507. package/lib/typescript/helpers/displayName.d.ts +2 -0
  508. package/lib/typescript/helpers/displayName.d.ts.map +1 -0
  509. package/lib/typescript/helpers/emoji.d.ts +6 -0
  510. package/lib/typescript/helpers/emoji.d.ts.map +1 -0
  511. package/lib/typescript/helpers/haptics.d.ts +3 -0
  512. package/lib/typescript/helpers/haptics.d.ts.map +1 -0
  513. package/lib/typescript/helpers/historyPreloadScheduler.d.ts +1 -0
  514. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  515. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  516. package/lib/typescript/helpers/mamReactions.d.ts +13 -0
  517. package/lib/typescript/helpers/mamReactions.d.ts.map +1 -0
  518. package/lib/typescript/helpers/parseMessageReference.d.ts +16 -0
  519. package/lib/typescript/helpers/parseMessageReference.d.ts.map +1 -0
  520. package/lib/typescript/helpers/persistCrypto.d.ts +1 -0
  521. package/lib/typescript/helpers/persistCrypto.d.ts.map +1 -1
  522. package/lib/typescript/helpers/reactionsConfig.d.ts +5 -0
  523. package/lib/typescript/helpers/reactionsConfig.d.ts.map +1 -0
  524. package/lib/typescript/helpers/secureKeyValue.d.ts +4 -0
  525. package/lib/typescript/helpers/secureKeyValue.d.ts.map +1 -1
  526. package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
  527. package/lib/typescript/helpers/videoCache.d.ts +19 -0
  528. package/lib/typescript/helpers/videoCache.d.ts.map +1 -0
  529. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  530. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  531. package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
  532. package/lib/typescript/hooks/useRoomInitialization.d.ts +2 -2
  533. package/lib/typescript/hooks/useRoomInitialization.d.ts.map +1 -1
  534. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  535. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  536. package/lib/typescript/main.d.ts +2 -0
  537. package/lib/typescript/main.d.ts.map +1 -1
  538. package/lib/typescript/networking/api-requests/auth.api.d.ts +4 -1
  539. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  540. package/lib/typescript/networking/api-requests/rooms.api.d.ts +22 -1
  541. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  542. package/lib/typescript/networking/stanzaHandlers.d.ts +4 -2
  543. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  544. package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts +3 -1
  545. package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts.map +1 -1
  546. package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts +1 -0
  547. package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
  548. package/lib/typescript/networking/xmpp/mamRouter.d.ts +23 -0
  549. package/lib/typescript/networking/xmpp/mamRouter.d.ts.map +1 -0
  550. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts +1 -0
  551. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  552. package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts.map +1 -1
  553. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  554. package/lib/typescript/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.d.ts.map +1 -1
  555. package/lib/typescript/networking/xmppClient.d.ts +22 -1
  556. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  557. package/lib/typescript/roomStore/Middleware/newMessageMidlleware.d.ts.map +1 -1
  558. package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts +4 -0
  559. package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts.map +1 -0
  560. package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts +9 -0
  561. package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts.map +1 -1
  562. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  563. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  564. package/lib/typescript/roomStore/persistBackend.d.ts +11 -0
  565. package/lib/typescript/roomStore/persistBackend.d.ts.map +1 -0
  566. package/lib/typescript/roomStore/persistence.d.ts +5 -6
  567. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  568. package/lib/typescript/roomStore/roomsSlice.d.ts +41 -1
  569. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  570. package/lib/typescript/theme/theme.d.ts +4 -1
  571. package/lib/typescript/theme/theme.d.ts.map +1 -1
  572. package/lib/typescript/types/models/message.model.d.ts +9 -0
  573. package/lib/typescript/types/models/message.model.d.ts.map +1 -1
  574. package/lib/typescript/types/models/room.model.d.ts +21 -0
  575. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  576. package/lib/typescript/types/models/xmpp.model.d.ts +6 -1
  577. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  578. package/lib/typescript/types/types.d.ts +19 -3
  579. package/lib/typescript/types/types.d.ts.map +1 -1
  580. package/lib/typescript/utils/devLogger.d.ts +8 -0
  581. package/lib/typescript/utils/devLogger.d.ts.map +1 -1
  582. package/lib/typescript/version.d.ts +1 -1
  583. package/package.json +14 -1
  584. package/src/assets/emojiData.ts +2146 -0
  585. package/src/assets/icons.tsx +32 -5
  586. package/src/components/MainComponents/ChatHeader.tsx +46 -16
  587. package/src/components/MainComponents/ChatRoom.tsx +46 -30
  588. package/src/components/MainComponents/ChatWrapper.tsx +28 -10
  589. package/src/components/MainComponents/EncryptedSendNotice.tsx +35 -0
  590. package/src/components/MainComponents/EncryptionCard.tsx +287 -0
  591. package/src/components/MainComponents/MediaMessage.tsx +5 -0
  592. package/src/components/MainComponents/MessageContainer.tsx +7 -15
  593. package/src/components/MainComponents/MessageList.tsx +96 -43
  594. package/src/components/MainComponents/ReduxWrapper.tsx +5 -0
  595. package/src/components/MainComponents/RoomList.tsx +28 -29
  596. package/src/components/MainComponents/RoomStack.tsx +156 -83
  597. package/src/components/MainComponents/SealedAttachment.tsx +251 -0
  598. package/src/components/MainComponents/SystemMessage.tsx +6 -2
  599. package/src/components/MessageBubble/Avatar.tsx +7 -1
  600. package/src/components/MessageBubble/BottomReplyContainer.tsx +20 -21
  601. package/src/components/MessageBubble/EmojiPickerSheet.tsx +468 -0
  602. package/src/components/MessageBubble/Message.tsx +242 -93
  603. package/src/components/MessageBubble/MessageInteractions.tsx +215 -15
  604. package/src/components/MessageBubble/MessageReaction.tsx +120 -96
  605. package/src/components/MessageBubble/MessageReply.tsx +65 -32
  606. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +7 -4
  607. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +181 -35
  608. package/src/components/Modals/FilePreviewModal/PdfView.tsx +4 -0
  609. package/src/components/Modals/Modal/SwipeBackLayer.tsx +114 -63
  610. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +53 -8
  611. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +5 -0
  612. package/src/components/RoomComponents/ChatRoomItem.tsx +34 -15
  613. package/src/components/RoomComponents/LastMessageItem.tsx +5 -0
  614. package/src/components/RoomComponents/styled/LastAudioMessage.tsx +3 -1
  615. package/src/components/RoomComponents/styled/LastMessageEmoji.tsx +7 -8
  616. package/src/components/RoomComponents/styled/LastMessageFile.tsx +2 -2
  617. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +1 -1
  618. package/src/components/RoomComponents/styled/LastMessageSealed.tsx +31 -0
  619. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +1 -1
  620. package/src/components/Thread/ThreadWrapper.tsx +287 -198
  621. package/src/components/UsersList/UsersList.tsx +2 -1
  622. package/src/components/styled/DateLabel.tsx +7 -3
  623. package/src/components/styled/SendInput.tsx +5 -2
  624. package/src/context/MessageNotificationContext.tsx +205 -7
  625. package/src/context/xmppProvider.tsx +29 -9
  626. package/src/e2ee/crypto.ts +194 -0
  627. package/src/e2ee/deviceStore.ts +80 -0
  628. package/src/e2ee/fileCipher.ts +86 -0
  629. package/src/e2ee/fileEnvelope.ts +115 -0
  630. package/src/e2ee/index.ts +192 -0
  631. package/src/e2ee/limits.ts +2 -0
  632. package/src/e2ee/ns.ts +1 -0
  633. package/src/e2ee/omemo.ts +802 -0
  634. package/src/e2ee/protobuf.ts +188 -0
  635. package/src/e2ee/ratchet.ts +271 -0
  636. package/src/e2ee/sealedBody.ts +17 -0
  637. package/src/e2ee/sealedFiles.ts +181 -0
  638. package/src/e2ee/send.ts +70 -0
  639. package/src/e2ee/stanza.ts +133 -0
  640. package/src/e2ee/store.ts +54 -0
  641. package/src/helpers/accountName.ts +15 -0
  642. package/src/helpers/createMessageFromXml.ts +31 -6
  643. package/src/helpers/createRoomFromApi.tsx +37 -1
  644. package/src/helpers/createUserNameFromSetUser.ts +2 -1
  645. package/src/helpers/displayName.ts +9 -0
  646. package/src/helpers/emoji.ts +39 -0
  647. package/src/helpers/haptics.ts +19 -0
  648. package/src/helpers/historyPreloadScheduler.ts +37 -69
  649. package/src/helpers/insertMessageWithDelimiter.ts +23 -16
  650. package/src/helpers/mamReactions.ts +59 -0
  651. package/src/helpers/parseMessageReference.ts +38 -0
  652. package/src/helpers/persistCrypto.ts +5 -0
  653. package/src/helpers/reactionsConfig.ts +13 -0
  654. package/src/helpers/secureKeyValue.ts +15 -0
  655. package/src/helpers/updateMessagesTillLast.tsx +14 -2
  656. package/src/helpers/videoCache.ts +138 -0
  657. package/src/hooks/useHeapSender.tsx +3 -2
  658. package/src/hooks/useLogout.tsx +9 -0
  659. package/src/hooks/useMessageHeapState.tsx +6 -2
  660. package/src/hooks/useRoomInitialization.tsx +32 -15
  661. package/src/hooks/useSendMessage.tsx +89 -16
  662. package/src/hooks/useUnreadMessagesCounter.ts +1 -1
  663. package/src/i18n/strings.ts +180 -0
  664. package/src/main.ts +2 -0
  665. package/src/networking/api-requests/auth.api.ts +9 -1
  666. package/src/networking/api-requests/rooms.api.ts +121 -18
  667. package/src/networking/stanzaHandlers.ts +116 -60
  668. package/src/networking/xmpp/getHistory.xmpp.ts +44 -106
  669. package/src/networking/xmpp/handleStanzas.xmpp.ts +51 -0
  670. package/src/networking/xmpp/mamRouter.ts +176 -0
  671. package/src/networking/xmpp/presenceInRoom.xmpp.ts +46 -3
  672. package/src/networking/xmpp/sendMediaMessage.xmpp.ts +19 -1
  673. package/src/networking/xmpp/sendTextMessage.xmpp.ts +17 -10
  674. package/src/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.ts +23 -10
  675. package/src/networking/xmppClient.ts +111 -20
  676. package/src/roomStore/Middleware/newMessageMidlleware.tsx +35 -38
  677. package/src/roomStore/Middleware/perfMiddleware.ts +50 -0
  678. package/src/roomStore/Middleware/reactionsMiddleware.tsx +53 -52
  679. package/src/roomStore/Middleware/unreadMidlleware.tsx +92 -80
  680. package/src/roomStore/index.ts +28 -27
  681. package/src/roomStore/persistBackend.ts +93 -0
  682. package/src/roomStore/persistence.ts +295 -73
  683. package/src/roomStore/roomsSlice.ts +304 -155
  684. package/src/theme/theme.ts +10 -1
  685. package/src/types/models/message.model.ts +9 -0
  686. package/src/types/models/room.model.ts +22 -0
  687. package/src/types/models/xmpp.model.ts +4 -2
  688. package/src/types/types.ts +19 -3
  689. package/src/utils/devLogger.ts +16 -0
  690. package/src/version.ts +1 -1
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from 'react';
4
- import { BackHandler, Keyboard, StyleSheet, useWindowDimensions, View } from 'react-native';
5
- import Animated, { Easing, interpolate, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
3
+ import React, { forwardRef, memo, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
4
+ import { Animated, BackHandler, Easing, Keyboard, StyleSheet, useWindowDimensions, View } from 'react-native';
6
5
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
7
6
 
8
7
  // Width of the left-edge strip that starts the back swipe.
9
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
9
  export const EDGE_WIDTH = 28;
11
10
  // Released past this share of the width (or faster than the velocity
12
11
  // below), the swipe completes; otherwise the room settles back.
@@ -23,10 +22,27 @@ export const POP = {
23
22
  duration: 240,
24
23
  easing: Easing.out(Easing.cubic)
25
24
  };
25
+
26
+ /**
27
+ * Holds its children still while `frozen`: the list under an open room is
28
+ * fully covered, so re-rendering it on every store update (each incoming
29
+ * message) is wasted work on the JS thread. It thaws as soon as it is
30
+ * about to be seen again.
31
+ */
32
+ const Freezable = /*#__PURE__*/memo(({
33
+ children
34
+ }) => /*#__PURE__*/_jsx(_Fragment, {
35
+ children: children
36
+ }), (_prev, next) => next.frozen);
26
37
  /**
27
38
  * Two-layer stack for the list → room navigation: the room slides in over
28
39
  * the list, and a swipe from the left edge drags it back out, following the
29
40
  * finger, with the list parallaxing in underneath (the iOS navigation feel).
41
+ *
42
+ * Driven by RN's own `Animated` (native driver), not Reanimated: every layer
43
+ * derives from ONE value through interpolation, so the layers cannot drift
44
+ * apart, and a React re-render mid-flight cannot reset a layer to the style
45
+ * it was first rendered with.
30
46
  */
31
47
  export const RoomStack = /*#__PURE__*/forwardRef(({
32
48
  list,
@@ -38,43 +54,83 @@ export const RoomStack = /*#__PURE__*/forwardRef(({
38
54
  const {
39
55
  width: windowWidth
40
56
  } = useWindowDimensions();
41
- const width = useSharedValue(windowWidth);
57
+ const [width, setWidth] = useState(windowWidth);
58
+ const widthRef = useRef(width);
59
+ widthRef.current = width;
42
60
  const hasRoom = !!room;
43
61
  // Room's horizontal offset: 0 = covering the list, `width` = off-screen.
44
62
  // A room already open on the first render is shown in place.
45
- const x = useSharedValue(hasRoom ? 0 : windowWidth);
46
- const closing = useSharedValue(false);
63
+ const x = useRef(new Animated.Value(hasRoom ? 0 : windowWidth)).current;
64
+ const closing = useRef(false);
65
+
66
+ // True while the list is (about to be) visible under a moving room.
67
+ const [peeking, setPeeking] = useState(false);
68
+ // Bumped after every completed pop — see the settle effect below.
69
+ const [popCount, setPopCount] = useState(0);
70
+ const slideTo = useCallback((toValue, config, done) => {
71
+ Animated.timing(x, {
72
+ toValue,
73
+ ...config,
74
+ useNativeDriver: true
75
+ }).start(({
76
+ finished
77
+ }) => done?.(finished));
78
+ }, [x]);
47
79
  const isFirstRender = useRef(true);
48
80
  useEffect(() => {
49
81
  if (isFirstRender.current) {
50
82
  isFirstRender.current = false;
51
83
  return;
52
84
  }
53
- closing.value = false;
85
+ closing.current = false;
86
+ setPeeking(false);
87
+ x.stopAnimation();
88
+ x.setValue(widthRef.current);
54
89
  if (hasRoom) {
55
- x.value = width.value;
56
- x.value = withTiming(0, PUSH);
57
- } else {
58
- x.value = width.value;
90
+ slideTo(0, PUSH);
59
91
  }
60
92
  }, [hasRoom]); // eslint-disable-line react-hooks/exhaustive-deps
61
93
 
62
94
  const onBackRef = useRef(onBack);
63
95
  onBackRef.current = onBack;
64
- const finish = useCallback(() => onBackRef.current(), []);
65
- const pop = useCallback(() => {
66
- if (closing.value) {
96
+ const finish = useCallback(() => {
97
+ onBackRef.current();
98
+ setPopCount(count => count + 1);
99
+ }, []);
100
+
101
+ // `onBack` normally clears the room, and the effect above takes over.
102
+ // If the room is still (or again) there after a pop — something
103
+ // re-selected it — bring it back on screen: a room parked off-screen
104
+ // would leave the list visible but untouchable.
105
+ const hasRoomRef = useRef(hasRoom);
106
+ hasRoomRef.current = hasRoom;
107
+ useEffect(() => {
108
+ if (popCount === 0 || !hasRoomRef.current) {
67
109
  return;
68
110
  }
69
- closing.value = true;
70
- Keyboard.dismiss();
71
- x.value = withTiming(width.value, POP, finished => {
111
+ closing.current = false;
112
+ setPeeking(false);
113
+ slideTo(0, POP);
114
+ }, [popCount]); // eslint-disable-line react-hooks/exhaustive-deps
115
+
116
+ const slideOut = useCallback(() => {
117
+ closing.current = true;
118
+ setPeeking(true);
119
+ slideTo(widthRef.current, POP, finished => {
72
120
  if (finished) {
73
- runOnJS(finish)();
121
+ finish();
122
+ } else {
123
+ closing.current = false;
74
124
  }
75
125
  });
76
- }, [finish]); // eslint-disable-line react-hooks/exhaustive-deps
77
-
126
+ }, [finish, slideTo]);
127
+ const pop = useCallback(() => {
128
+ if (closing.current) {
129
+ return;
130
+ }
131
+ Keyboard.dismiss();
132
+ slideOut();
133
+ }, [slideOut]);
78
134
  useImperativeHandle(ref, () => ({
79
135
  pop
80
136
  }), [pop]);
@@ -88,80 +144,92 @@ export const RoomStack = /*#__PURE__*/forwardRef(({
88
144
  });
89
145
  return () => sub.remove();
90
146
  }, [hasRoom, hardwareBack, pop]);
91
- const dismissKeyboard = useCallback(() => Keyboard.dismiss(), []);
92
- const swipeBack = Gesture.Pan().hitSlop({
147
+ const swipeBack = useMemo(() => Gesture.Pan().runOnJS(true).hitSlop({
93
148
  left: 0,
94
149
  width: EDGE_WIDTH
95
150
  }).activeOffsetX(12).failOffsetY([-16, 16]).onStart(() => {
96
- runOnJS(dismissKeyboard)();
151
+ if (closing.current) {
152
+ return;
153
+ }
154
+ Keyboard.dismiss();
155
+ setPeeking(true);
156
+ x.stopAnimation();
97
157
  }).onUpdate(e => {
98
- if (closing.value) {
158
+ if (closing.current) {
99
159
  return;
100
160
  }
101
- x.value = Math.min(Math.max(e.translationX, 0), width.value);
161
+ x.setValue(Math.min(Math.max(e.translationX, 0), widthRef.current));
102
162
  }).onEnd(e => {
103
- if (closing.value) {
163
+ if (closing.current) {
104
164
  return;
105
165
  }
106
- const complete = x.value > width.value * COMPLETE_DISTANCE || e.velocityX > COMPLETE_VELOCITY;
166
+ const complete = e.translationX > widthRef.current * COMPLETE_DISTANCE || e.velocityX > COMPLETE_VELOCITY;
107
167
  if (complete) {
108
- closing.value = true;
109
- x.value = withTiming(width.value, POP, finished => {
110
- if (finished) {
111
- runOnJS(finish)();
112
- }
113
- });
168
+ slideOut();
114
169
  } else {
115
- x.value = withTiming(0, POP);
170
+ slideTo(0, POP, () => setPeeking(false));
116
171
  }
117
- });
172
+ }), [slideOut, slideTo, x]);
118
173
  const onLayout = useCallback(e => {
119
174
  const next = e.nativeEvent.layout.width;
120
- if (next > 0 && next !== width.value) {
175
+ if (next > 0 && next !== widthRef.current) {
121
176
  // Keep an off-screen room off-screen when the container resizes.
122
- if (x.value === width.value) {
123
- x.value = next;
177
+ if (!hasRoomRef.current) {
178
+ x.setValue(next);
124
179
  }
125
- width.value = next;
180
+ setWidth(next);
126
181
  }
127
- }, []); // eslint-disable-line react-hooks/exhaustive-deps
128
-
129
- const roomStyle = useAnimatedStyle(() => ({
130
- transform: [{
131
- translateX: x.value
132
- }]
133
- }));
134
- // 1 while the room fully covers the list, 0 once it is gone.
135
- const listStyle = useAnimatedStyle(() => {
136
- const covered = 1 - Math.min(Math.max(x.value / width.value, 0), 1);
137
- return {
138
- transform: [{
139
- translateX: -width.value * LIST_PARALLAX * covered
140
- }]
141
- };
142
- });
143
- const dimStyle = useAnimatedStyle(() => ({
144
- opacity: interpolate(x.value, [0, width.value], [LIST_DIM, 0])
145
- }));
182
+ }, [x]);
183
+ const {
184
+ listShift,
185
+ dimOpacity
186
+ } = useMemo(() => ({
187
+ listShift: x.interpolate({
188
+ inputRange: [0, width],
189
+ outputRange: [-width * LIST_PARALLAX, 0],
190
+ extrapolate: 'clamp'
191
+ }),
192
+ dimOpacity: x.interpolate({
193
+ inputRange: [0, width],
194
+ outputRange: [LIST_DIM, 0],
195
+ extrapolate: 'clamp'
196
+ })
197
+ }), [x, width]);
146
198
  return /*#__PURE__*/_jsxs(View, {
147
199
  style: styles.container,
148
200
  onLayout: onLayout,
149
201
  children: [/*#__PURE__*/_jsx(Animated.View, {
150
- style: [styles.layer, listStyle],
202
+ style: [styles.layer,
203
+ // Without a room the list always rests in place, whatever the
204
+ // animated value is doing.
205
+ hasRoom ? {
206
+ transform: [{
207
+ translateX: listShift
208
+ }]
209
+ } : null],
151
210
  pointerEvents: hasRoom ? 'none' : 'auto',
152
211
  accessibilityElementsHidden: hasRoom,
153
212
  importantForAccessibility: hasRoom ? 'no-hide-descendants' : 'auto',
154
- children: list
213
+ children: /*#__PURE__*/_jsx(Freezable, {
214
+ frozen: hasRoom && !peeking,
215
+ children: list
216
+ })
155
217
  }), hasRoom && /*#__PURE__*/_jsxs(_Fragment, {
156
218
  children: [/*#__PURE__*/_jsx(Animated.View, {
157
219
  pointerEvents: "none",
158
- style: [styles.layer, styles.dim, dimStyle]
220
+ style: [styles.layer, styles.dim, {
221
+ opacity: dimOpacity
222
+ }]
159
223
  }), /*#__PURE__*/_jsx(GestureDetector, {
160
224
  gesture: swipeBack,
161
225
  children: /*#__PURE__*/_jsx(Animated.View, {
162
226
  style: [styles.layer, styles.room, {
163
227
  backgroundColor: roomBackground
164
- }, roomStyle],
228
+ }, {
229
+ transform: [{
230
+ translateX: x
231
+ }]
232
+ }],
165
233
  children: room
166
234
  })
167
235
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useCallback","useEffect","useImperativeHandle","useRef","BackHandler","Keyboard","StyleSheet","useWindowDimensions","View","Animated","Easing","interpolate","runOnJS","useAnimatedStyle","useSharedValue","withTiming","Gesture","GestureDetector","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EDGE_WIDTH","COMPLETE_DISTANCE","COMPLETE_VELOCITY","LIST_PARALLAX","LIST_DIM","PUSH","duration","easing","bezier","POP","out","cubic","RoomStack","list","room","onBack","roomBackground","hardwareBack","ref","width","windowWidth","hasRoom","x","closing","isFirstRender","current","value","onBackRef","finish","pop","dismiss","finished","undefined","sub","addEventListener","remove","dismissKeyboard","swipeBack","Pan","hitSlop","left","activeOffsetX","failOffsetY","onStart","onUpdate","e","Math","min","max","translationX","onEnd","complete","velocityX","onLayout","next","nativeEvent","layout","roomStyle","transform","translateX","listStyle","covered","dimStyle","opacity","style","styles","container","children","layer","pointerEvents","accessibilityElementsHidden","importantForAccessibility","dim","gesture","backgroundColor","displayName","create","flex","overflow","position","top","right","bottom","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius"],"sourceRoot":"../../../../src","sources":["components/MainComponents/RoomStack.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","memo","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","Animated","BackHandler","Easing","Keyboard","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","EDGE_WIDTH","COMPLETE_DISTANCE","COMPLETE_VELOCITY","LIST_PARALLAX","LIST_DIM","PUSH","duration","easing","bezier","POP","out","cubic","Freezable","children","_prev","next","frozen","RoomStack","list","room","onBack","roomBackground","hardwareBack","ref","width","windowWidth","setWidth","widthRef","current","hasRoom","x","Value","closing","peeking","setPeeking","popCount","setPopCount","slideTo","toValue","config","done","timing","useNativeDriver","start","finished","isFirstRender","stopAnimation","setValue","onBackRef","finish","count","hasRoomRef","slideOut","pop","dismiss","undefined","sub","addEventListener","remove","swipeBack","Pan","runOnJS","hitSlop","left","activeOffsetX","failOffsetY","onStart","onUpdate","e","Math","min","max","translationX","onEnd","complete","velocityX","onLayout","nativeEvent","layout","listShift","dimOpacity","interpolate","inputRange","outputRange","extrapolate","style","styles","container","layer","transform","translateX","pointerEvents","accessibilityElementsHidden","importantForAccessibility","dim","opacity","gesture","backgroundColor","displayName","create","flex","overflow","position","top","right","bottom","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius"],"sourceRoot":"../../../../src","sources":["components/MainComponents/RoomStack.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+
3
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
4
+ import { ActivityIndicator, StyleSheet, View } from 'react-native';
5
+ import { LockIcon } from '../../assets/icons';
6
+ import FileDownload from '../styled/UnsupportedType';
7
+ import CustomMessageImage from '../styled/MessageImage';
8
+ import CustomMessageVideo from '../styled/VideoMessage';
9
+ import AudioMessage from '../styled/AudioMessage';
10
+ import { BackgroundFile, FileInformation, FileName, FileSize, FileSizeContainer, UnsupportedContainer } from '../styled/StyledInputComponents/MediaComponents';
11
+ import { useTheme } from '../../hooks/useTheme';
12
+ import { useT } from '../../i18n/useT';
13
+ import { useChatSettingState } from '../../hooks/useChatSettingState';
14
+ import { withFileToken } from '../../helpers/secureFileUrl';
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ const sealedFiles = () => require('../../e2ee/sealedFiles');
17
+ export const sealedAttachmentsOf = message => {
18
+ if (!message) {
19
+ return [];
20
+ }
21
+ let raw = message.attachments;
22
+ if (typeof raw === 'string') {
23
+ try {
24
+ raw = JSON.parse(raw);
25
+ } catch {
26
+ raw = undefined;
27
+ }
28
+ }
29
+ if (Array.isArray(raw) && raw.length > 0) {
30
+ return raw.filter(item => item && typeof item.location === 'string' && item.location).map(item => ({
31
+ location: item.location,
32
+ size: item.size
33
+ }));
34
+ }
35
+ return message.location ? [{
36
+ location: message.location,
37
+ size: message.size
38
+ }] : [];
39
+ };
40
+ const formatBytes = value => {
41
+ const bytes = Number(value);
42
+ if (!Number.isFinite(bytes) || bytes <= 0) {
43
+ return '';
44
+ }
45
+ if (bytes < 1024) {
46
+ return `${bytes} B`;
47
+ }
48
+ if (bytes < 1024 * 1024) {
49
+ return `${(bytes / 1024).toFixed(0)} KB`;
50
+ }
51
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
52
+ };
53
+ const SealedItem = ({
54
+ attachment,
55
+ keyMaterial,
56
+ isUser
57
+ }) => {
58
+ const theme = useTheme();
59
+ const t = useT();
60
+ const {
61
+ config
62
+ } = useChatSettingState();
63
+ const [state, setState] = useState('idle');
64
+ const [progress, setProgress] = useState(0);
65
+ const [opened, setOpened] = useState(null);
66
+ const mounted = useRef(true);
67
+ useEffect(() => () => {
68
+ mounted.current = false;
69
+ }, []);
70
+ const {
71
+ location
72
+ } = attachment;
73
+ useEffect(() => {
74
+ if (!keyMaterial || !location) {
75
+ return;
76
+ }
77
+ let active = true;
78
+ sealedFiles().findOpened(location).then(found => {
79
+ if (active && found) {
80
+ setOpened(found);
81
+ }
82
+ }).catch(() => {});
83
+ return () => {
84
+ active = false;
85
+ };
86
+ }, [keyMaterial, location]);
87
+ const handlePress = useCallback(async () => {
88
+ if (opened || !keyMaterial || !location || state === 'working') {
89
+ return;
90
+ }
91
+ setState('working');
92
+ setProgress(0);
93
+ try {
94
+ const file = await sealedFiles().openSealedAttachment(location, withFileToken(location), keyMaterial, fraction => {
95
+ if (mounted.current) {
96
+ setProgress(fraction);
97
+ }
98
+ });
99
+ if (!mounted.current) {
100
+ return;
101
+ }
102
+ setOpened(file);
103
+ setState('idle');
104
+ } catch (error) {
105
+ console.warn('sealed attachment could not be opened', error);
106
+ if (mounted.current) {
107
+ setState('failed');
108
+ }
109
+ }
110
+ }, [keyMaterial, location, opened, state]);
111
+ if (opened) {
112
+ if (opened.mimetype.startsWith('image/')) {
113
+ return /*#__PURE__*/_jsx(View, {
114
+ testID: "sealed-attachment-image",
115
+ children: /*#__PURE__*/_jsx(CustomMessageImage, {
116
+ fileName: opened.name,
117
+ originalName: opened.name,
118
+ fileURL: opened.uri,
119
+ locationPreview: opened.uri,
120
+ mimetype: opened.mimetype
121
+ })
122
+ });
123
+ }
124
+ if (opened.mimetype.startsWith('video/')) {
125
+ return /*#__PURE__*/_jsx(CustomMessageVideo, {
126
+ fileName: opened.name,
127
+ originalName: opened.name,
128
+ fileURL: opened.uri,
129
+ mimetype: opened.mimetype
130
+ });
131
+ }
132
+ if (opened.mimetype.startsWith('audio/')) {
133
+ return /*#__PURE__*/_jsx(AudioMessage, {
134
+ src: opened.uri,
135
+ mimeType: opened.mimetype,
136
+ fileName: opened.name,
137
+ originalName: opened.name
138
+ });
139
+ }
140
+ return /*#__PURE__*/_jsx(View, {
141
+ testID: "sealed-attachment",
142
+ children: /*#__PURE__*/_jsx(FileDownload, {
143
+ fileURL: opened.uri,
144
+ fileName: opened.name,
145
+ originalName: opened.name,
146
+ mimetype: opened.mimetype,
147
+ isUser: isUser
148
+ })
149
+ });
150
+ }
151
+ const canOpen = !!keyMaterial && !!location;
152
+ const working = state === 'working';
153
+ const note = !canOpen ? t(config?.e2ee?.enabled === true ? 'media.sealedUnavailable' : 'media.sealedUnsupported') : working ? `${t('media.sealedDownloading')} ${Math.round(progress * 100)}%` : state === 'failed' ? t('media.sealedDownloadFailed') : formatBytes(attachment.size) || t('media.sealedDownload');
154
+ return /*#__PURE__*/_jsxs(UnsupportedContainer, {
155
+ isUser: isUser,
156
+ onPress: handlePress,
157
+ disabled: !canOpen || working,
158
+ activeOpacity: canOpen && !working ? 0.7 : 1,
159
+ testID: "sealed-attachment",
160
+ accessibilityRole: "button",
161
+ accessibilityLabel: t(canOpen ? 'media.sealedDownload' : 'media.sealedFile'),
162
+ children: [/*#__PURE__*/_jsx(BackgroundFile, {
163
+ children: working ? /*#__PURE__*/_jsx(ActivityIndicator, {
164
+ size: "small",
165
+ color: theme.textSecondary
166
+ }) : /*#__PURE__*/_jsx(LockIcon, {
167
+ width: 26,
168
+ height: 26,
169
+ color: theme.textSecondary
170
+ })
171
+ }), /*#__PURE__*/_jsxs(FileInformation, {
172
+ children: [/*#__PURE__*/_jsx(FileName, {
173
+ numberOfLines: 1,
174
+ isUser: isUser,
175
+ colorIsUser: config?.colors?.primary,
176
+ colorUsers: config?.colors?.secondary,
177
+ children: t('media.sealedFile')
178
+ }), /*#__PURE__*/_jsx(FileSizeContainer, {
179
+ style: styles.note,
180
+ children: /*#__PURE__*/_jsx(FileSize, {
181
+ numberOfLines: 2,
182
+ style: state === 'failed' && canOpen ? {
183
+ color: theme.danger
184
+ } : undefined,
185
+ children: note
186
+ })
187
+ })]
188
+ })]
189
+ });
190
+ };
191
+ const SealedAttachment = ({
192
+ message,
193
+ isUser
194
+ }) => {
195
+ const attachments = sealedAttachmentsOf(message);
196
+ const keys = message?.e2eeKeys;
197
+ if (attachments.length === 0) {
198
+ return /*#__PURE__*/_jsx(SealedItem, {
199
+ attachment: {
200
+ location: ''
201
+ },
202
+ isUser: isUser
203
+ });
204
+ }
205
+ return /*#__PURE__*/_jsx(View, {
206
+ style: styles.stack,
207
+ children: attachments.map((attachment, index) => /*#__PURE__*/_jsx(SealedItem, {
208
+ attachment: attachment,
209
+ keyMaterial: keys?.[index],
210
+ isUser: isUser
211
+ }, attachment.location || index))
212
+ });
213
+ };
214
+ export default SealedAttachment;
215
+ const styles = StyleSheet.create({
216
+ stack: {
217
+ gap: 8
218
+ },
219
+ note: {
220
+ flexShrink: 1,
221
+ borderRadius: 10
222
+ }
223
+ });
224
+ //# sourceMappingURL=SealedAttachment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useEffect","useRef","useState","ActivityIndicator","StyleSheet","View","LockIcon","FileDownload","CustomMessageImage","CustomMessageVideo","AudioMessage","BackgroundFile","FileInformation","FileName","FileSize","FileSizeContainer","UnsupportedContainer","useTheme","useT","useChatSettingState","withFileToken","jsx","_jsx","jsxs","_jsxs","sealedFiles","require","sealedAttachmentsOf","message","raw","attachments","JSON","parse","undefined","Array","isArray","length","filter","item","location","map","size","formatBytes","value","bytes","Number","isFinite","toFixed","SealedItem","attachment","keyMaterial","isUser","theme","t","config","state","setState","progress","setProgress","opened","setOpened","mounted","current","active","findOpened","then","found","catch","handlePress","file","openSealedAttachment","fraction","error","console","warn","mimetype","startsWith","testID","children","fileName","name","originalName","fileURL","uri","locationPreview","src","mimeType","canOpen","working","note","e2ee","enabled","Math","round","onPress","disabled","activeOpacity","accessibilityRole","accessibilityLabel","color","textSecondary","width","height","numberOfLines","colorIsUser","colors","primary","colorUsers","secondary","style","styles","danger","SealedAttachment","keys","e2eeKeys","stack","index","create","gap","flexShrink","borderRadius"],"sourceRoot":"../../../../src","sources":["components/MainComponents/SealedAttachment.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACvE,SAASC,iBAAiB,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAClE,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,OAAOC,YAAY,MAAM,2BAA2B;AACpD,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,YAAY,MAAM,wBAAwB;AACjD,SACEC,cAAc,EACdC,eAAe,EACfC,QAAQ,EACRC,QAAQ,EACRC,iBAAiB,EACjBC,oBAAoB,QACf,iDAAiD;AACxD,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAASC,mBAAmB,QAAQ,iCAAiC;AAErE,SAASC,aAAa,QAAQ,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG5D,MAAMC,WAAW,GAAGA,CAAA,KAClBC,OAAO,CAAC,wBAAwB,CAA4C;AAO9E,OAAO,MAAMC,mBAAmB,GAAIC,OAAyB,IAAkB;EAC7E,IAAI,CAACA,OAAO,EAAE;IAAC,OAAO,EAAE;EAAC;EACzB,IAAIC,GAAY,GAAID,OAAO,CAASE,WAAW;EAC/C,IAAI,OAAOD,GAAG,KAAK,QAAQ,EAAE;IAC3B,IAAI;MACFA,GAAG,GAAGE,IAAI,CAACC,KAAK,CAACH,GAAG,CAAC;IACvB,CAAC,CAAC,MAAM;MACNA,GAAG,GAAGI,SAAS;IACjB;EACF;EACA,IAAIC,KAAK,CAACC,OAAO,CAACN,GAAG,CAAC,IAAIA,GAAG,CAACO,MAAM,GAAG,CAAC,EAAE;IACxC,OAAOP,GAAG,CACPQ,MAAM,CAAEC,IAAI,IAAKA,IAAI,IAAI,OAAOA,IAAI,CAACC,QAAQ,KAAK,QAAQ,IAAID,IAAI,CAACC,QAAQ,CAAC,CAC5EC,GAAG,CAAEF,IAAI,KAAM;MAAEC,QAAQ,EAAED,IAAI,CAACC,QAAQ;MAAEE,IAAI,EAAEH,IAAI,CAACG;IAAK,CAAC,CAAC,CAAC;EAClE;EACA,OAAOb,OAAO,CAACW,QAAQ,GACnB,CAAC;IAAEA,QAAQ,EAAEX,OAAO,CAACW,QAAQ;IAAEE,IAAI,EAAEb,OAAO,CAACa;EAAK,CAAC,CAAC,GACpD,EAAE;AACR,CAAC;AAED,MAAMC,WAAW,GAAIC,KAAuB,IAAa;EACvD,MAAMC,KAAK,GAAGC,MAAM,CAACF,KAAK,CAAC;EAC3B,IAAI,CAACE,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAIA,KAAK,IAAI,CAAC,EAAE;IAAC,OAAO,EAAE;EAAC;EACtD,IAAIA,KAAK,GAAG,IAAI,EAAE;IAAC,OAAO,GAAGA,KAAK,IAAI;EAAC;EACvC,IAAIA,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE;IAAC,OAAO,GAAG,CAACA,KAAK,GAAG,IAAI,EAAEG,OAAO,CAAC,CAAC,CAAC,KAAK;EAAC;EACnE,OAAO,GAAG,CAACH,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,EAAEG,OAAO,CAAC,CAAC,CAAC,KAAK;AACnD,CAAC;AAID,MAAMC,UAIJ,GAAGA,CAAC;EAAEC,UAAU;EAAEC,WAAW;EAAEC;AAAO,CAAC,KAAK;EAC5C,MAAMC,KAAK,GAAGnC,QAAQ,CAAC,CAAC;EACxB,MAAMoC,CAAC,GAAGnC,IAAI,CAAC,CAAC;EAChB,MAAM;IAAEoC;EAAO,CAAC,GAAGnC,mBAAmB,CAAC,CAAC;EACxC,MAAM,CAACoC,KAAK,EAAEC,QAAQ,CAAC,GAAGtD,QAAQ,CAAY,MAAM,CAAC;EACrD,MAAM,CAACuD,QAAQ,EAAEC,WAAW,CAAC,GAAGxD,QAAQ,CAAC,CAAC,CAAC;EAC3C,MAAM,CAACyD,MAAM,EAAEC,SAAS,CAAC,GAAG1D,QAAQ,CAAoB,IAAI,CAAC;EAC7D,MAAM2D,OAAO,GAAG5D,MAAM,CAAC,IAAI,CAAC;EAC5BD,SAAS,CACP,MAAM,MAAM;IACV6D,OAAO,CAACC,OAAO,GAAG,KAAK;EACzB,CAAC,EACD,EACF,CAAC;EAED,MAAM;IAAEvB;EAAS,CAAC,GAAGU,UAAU;EAE/BjD,SAAS,CAAC,MAAM;IACd,IAAI,CAACkD,WAAW,IAAI,CAACX,QAAQ,EAAE;MAAC;IAAO;IACvC,IAAIwB,MAAM,GAAG,IAAI;IACjBtC,WAAW,CAAC,CAAC,CACVuC,UAAU,CAACzB,QAAQ,CAAC,CACpB0B,IAAI,CAAEC,KAAK,IAAK;MACf,IAAIH,MAAM,IAAIG,KAAK,EAAE;QAACN,SAAS,CAACM,KAAK,CAAC;MAAC;IACzC,CAAC,CAAC,CACDC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAClB,OAAO,MAAM;MACXJ,MAAM,GAAG,KAAK;IAChB,CAAC;EACH,CAAC,EAAE,CAACb,WAAW,EAAEX,QAAQ,CAAC,CAAC;EAE3B,MAAM6B,WAAW,GAAGrE,WAAW,CAAC,YAAY;IAC1C,IAAI4D,MAAM,IAAI,CAACT,WAAW,IAAI,CAACX,QAAQ,IAAIgB,KAAK,KAAK,SAAS,EAAE;MAAC;IAAO;IACxEC,QAAQ,CAAC,SAAS,CAAC;IACnBE,WAAW,CAAC,CAAC,CAAC;IACd,IAAI;MACF,MAAMW,IAAI,GAAG,MAAM5C,WAAW,CAAC,CAAC,CAAC6C,oBAAoB,CACnD/B,QAAQ,EACRnB,aAAa,CAACmB,QAAQ,CAAC,EACvBW,WAAW,EACVqB,QAAQ,IAAK;QACZ,IAAIV,OAAO,CAACC,OAAO,EAAE;UAACJ,WAAW,CAACa,QAAQ,CAAC;QAAC;MAC9C,CACF,CAAC;MACD,IAAI,CAACV,OAAO,CAACC,OAAO,EAAE;QAAC;MAAO;MAC9BF,SAAS,CAACS,IAAI,CAAC;MACfb,QAAQ,CAAC,MAAM,CAAC;IAClB,CAAC,CAAC,OAAOgB,KAAK,EAAE;MACdC,OAAO,CAACC,IAAI,CAAC,uCAAuC,EAAEF,KAAK,CAAC;MAC5D,IAAIX,OAAO,CAACC,OAAO,EAAE;QAACN,QAAQ,CAAC,QAAQ,CAAC;MAAC;IAC3C;EACF,CAAC,EAAE,CAACN,WAAW,EAAEX,QAAQ,EAAEoB,MAAM,EAAEJ,KAAK,CAAC,CAAC;EAE1C,IAAII,MAAM,EAAE;IACV,IAAIA,MAAM,CAACgB,QAAQ,CAACC,UAAU,CAAC,QAAQ,CAAC,EAAE;MACxC,oBACEtD,IAAA,CAACjB,IAAI;QAACwE,MAAM,EAAC,yBAAyB;QAAAC,QAAA,eACpCxD,IAAA,CAACd,kBAAkB;UACjBuE,QAAQ,EAAEpB,MAAM,CAACqB,IAAK;UACtBC,YAAY,EAAEtB,MAAM,CAACqB,IAAK;UAC1BE,OAAO,EAAEvB,MAAM,CAACwB,GAAI;UACpBC,eAAe,EAAEzB,MAAM,CAACwB,GAAI;UAC5BR,QAAQ,EAAEhB,MAAM,CAACgB;QAAS,CAC3B;MAAC,CACE,CAAC;IAEX;IACA,IAAIhB,MAAM,CAACgB,QAAQ,CAACC,UAAU,CAAC,QAAQ,CAAC,EAAE;MACxC,oBACEtD,IAAA,CAACb,kBAAkB;QACjBsE,QAAQ,EAAEpB,MAAM,CAACqB,IAAK;QACtBC,YAAY,EAAEtB,MAAM,CAACqB,IAAK;QAC1BE,OAAO,EAAEvB,MAAM,CAACwB,GAAI;QACpBR,QAAQ,EAAEhB,MAAM,CAACgB;MAAS,CAC3B,CAAC;IAEN;IACA,IAAIhB,MAAM,CAACgB,QAAQ,CAACC,UAAU,CAAC,QAAQ,CAAC,EAAE;MACxC,oBACEtD,IAAA,CAACZ,YAAY;QACX2E,GAAG,EAAE1B,MAAM,CAACwB,GAAI;QAChBG,QAAQ,EAAE3B,MAAM,CAACgB,QAAS;QAC1BI,QAAQ,EAAEpB,MAAM,CAACqB,IAAK;QACtBC,YAAY,EAAEtB,MAAM,CAACqB;MAAK,CAC3B,CAAC;IAEN;IACA,oBACE1D,IAAA,CAACjB,IAAI;MAACwE,MAAM,EAAC,mBAAmB;MAAAC,QAAA,eAC9BxD,IAAA,CAACf,YAAY;QACX2E,OAAO,EAAEvB,MAAM,CAACwB,GAAI;QACpBJ,QAAQ,EAAEpB,MAAM,CAACqB,IAAK;QACtBC,YAAY,EAAEtB,MAAM,CAACqB,IAAK;QAC1BL,QAAQ,EAAEhB,MAAM,CAACgB,QAAS;QAC1BxB,MAAM,EAAEA;MAAO,CAChB;IAAC,CACE,CAAC;EAEX;EAEA,MAAMoC,OAAO,GAAG,CAAC,CAACrC,WAAW,IAAI,CAAC,CAACX,QAAQ;EAC3C,MAAMiD,OAAO,GAAGjC,KAAK,KAAK,SAAS;EACnC,MAAMkC,IAAI,GAAG,CAACF,OAAO,GACjBlC,CAAC,CACCC,MAAM,EAAEoC,IAAI,EAAEC,OAAO,KAAK,IAAI,GAC1B,yBAAyB,GACzB,yBACN,CAAC,GACDH,OAAO,GACL,GAAGnC,CAAC,CAAC,yBAAyB,CAAC,IAAIuC,IAAI,CAACC,KAAK,CAACpC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAChEF,KAAK,KAAK,QAAQ,GAChBF,CAAC,CAAC,4BAA4B,CAAC,GAC/BX,WAAW,CAACO,UAAU,CAACR,IAAI,CAAC,IAAIY,CAAC,CAAC,sBAAsB,CAAC;EAEjE,oBACE7B,KAAA,CAACR,oBAAoB;IACnBmC,MAAM,EAAEA,MAAO;IACf2C,OAAO,EAAE1B,WAAY;IACrB2B,QAAQ,EAAE,CAACR,OAAO,IAAIC,OAAQ;IAC9BQ,aAAa,EAAET,OAAO,IAAI,CAACC,OAAO,GAAG,GAAG,GAAG,CAAE;IAC7CX,MAAM,EAAC,mBAAmB;IAC1BoB,iBAAiB,EAAC,QAAQ;IAC1BC,kBAAkB,EAAE7C,CAAC,CAACkC,OAAO,GAAG,sBAAsB,GAAG,kBAAkB,CAAE;IAAAT,QAAA,gBAE7ExD,IAAA,CAACX,cAAc;MAAAmE,QAAA,EACZU,OAAO,gBACNlE,IAAA,CAACnB,iBAAiB;QAACsC,IAAI,EAAC,OAAO;QAAC0D,KAAK,EAAE/C,KAAK,CAACgD;MAAc,CAAE,CAAC,gBAE9D9E,IAAA,CAAChB,QAAQ;QAAC+F,KAAK,EAAE,EAAG;QAACC,MAAM,EAAE,EAAG;QAACH,KAAK,EAAE/C,KAAK,CAACgD;MAAc,CAAE;IAC/D,CACa,CAAC,eACjB5E,KAAA,CAACZ,eAAe;MAAAkE,QAAA,gBACdxD,IAAA,CAACT,QAAQ;QACP0F,aAAa,EAAE,CAAE;QACjBpD,MAAM,EAAEA,MAAO;QACfqD,WAAW,EAAElD,MAAM,EAAEmD,MAAM,EAAEC,OAAQ;QACrCC,UAAU,EAAErD,MAAM,EAAEmD,MAAM,EAAEG,SAAU;QAAA9B,QAAA,EAErCzB,CAAC,CAAC,kBAAkB;MAAC,CACd,CAAC,eACX/B,IAAA,CAACP,iBAAiB;QAAC8F,KAAK,EAAEC,MAAM,CAACrB,IAAK;QAAAX,QAAA,eACpCxD,IAAA,CAACR,QAAQ;UACPyF,aAAa,EAAE,CAAE;UACjBM,KAAK,EAAEtD,KAAK,KAAK,QAAQ,IAAIgC,OAAO,GAAG;YAAEY,KAAK,EAAE/C,KAAK,CAAC2D;UAAO,CAAC,GAAG9E,SAAU;UAAA6C,QAAA,EAE1EW;QAAI,CACG;MAAC,CACM,CAAC;IAAA,CACL,CAAC;EAAA,CACE,CAAC;AAE3B,CAAC;AAED,MAAMuB,gBAAmE,GAAGA,CAAC;EAC3EpF,OAAO;EACPuB;AACF,CAAC,KAAK;EACJ,MAAMrB,WAAW,GAAGH,mBAAmB,CAACC,OAAO,CAAC;EAChD,MAAMqF,IAAI,GAAGrF,OAAO,EAAEsF,QAAQ;EAC9B,IAAIpF,WAAW,CAACM,MAAM,KAAK,CAAC,EAAE;IAC5B,oBAAOd,IAAA,CAAC0B,UAAU;MAACC,UAAU,EAAE;QAAEV,QAAQ,EAAE;MAAG,CAAE;MAACY,MAAM,EAAEA;IAAO,CAAE,CAAC;EACrE;EACA,oBACE7B,IAAA,CAACjB,IAAI;IAACwG,KAAK,EAAEC,MAAM,CAACK,KAAM;IAAArC,QAAA,EACvBhD,WAAW,CAACU,GAAG,CAAC,CAACS,UAAU,EAAEmE,KAAK,kBACjC9F,IAAA,CAAC0B,UAAU;MAETC,UAAU,EAAEA,UAAW;MACvBC,WAAW,EAAE+D,IAAI,GAAGG,KAAK,CAAE;MAC3BjE,MAAM,EAAEA;IAAO,GAHVF,UAAU,CAACV,QAAQ,IAAI6E,KAI7B,CACF;EAAC,CACE,CAAC;AAEX,CAAC;AAED,eAAeJ,gBAAgB;AAE/B,MAAMF,MAAM,GAAG1G,UAAU,CAACiH,MAAM,CAAC;EAC/BF,KAAK,EAAE;IACLG,GAAG,EAAE;EACP,CAAC;EACD7B,IAAI,EAAE;IACJ8B,UAAU,EAAE,CAAC;IACbC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -2,20 +2,24 @@
2
2
 
3
3
  import React from 'react';
4
4
  import { View, Text, StyleSheet } from 'react-native';
5
+ import { useTheme } from '../../hooks/useTheme';
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
6
7
  const SystemMessage = ({
7
8
  messageText,
8
9
  colors
9
10
  }) => {
11
+ // Same pill as the day separator; `colors.secondary` is not a pill
12
+ // colour (see DateLabel).
13
+ const theme = useTheme();
10
14
  return /*#__PURE__*/_jsx(View, {
11
15
  style: styles.container,
12
16
  children: /*#__PURE__*/_jsx(View, {
13
17
  style: [styles.bubble, {
14
- backgroundColor: colors?.secondary || '#e7edf9'
18
+ backgroundColor: theme.dateLabelBackground
15
19
  }],
16
20
  children: /*#__PURE__*/_jsx(Text, {
17
21
  style: [styles.text, {
18
- color: colors?.primary || '#0052cd'
22
+ color: colors?.primary || theme.dateLabel
19
23
  }],
20
24
  children: messageText
21
25
  })
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","jsx","_jsx","SystemMessage","messageText","colors","style","styles","container","children","bubble","backgroundColor","secondary","text","color","primary","create","width","alignItems","paddingVertical","paddingHorizontal","maxWidth","borderRadius","fontSize","lineHeight","fontWeight","textAlign"],"sourceRoot":"../../../../src","sources":["components/MainComponents/SystemMessage.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOtD,MAAMC,aAA2C,GAAGA,CAAC;EACnDC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,oBACEH,IAAA,CAACJ,IAAI;IAACQ,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAK5BP,IAAA,CAACJ,IAAI;MACHQ,KAAK,EAAE,CACLC,MAAM,CAACG,MAAM,EACb;QAAEC,eAAe,EAAEN,MAAM,EAAEO,SAAS,IAAI;MAAU,CAAC,CACnD;MAAAH,QAAA,eAEFP,IAAA,CAACH,IAAI;QAACO,KAAK,EAAE,CAACC,MAAM,CAACM,IAAI,EAAE;UAAEC,KAAK,EAAET,MAAM,EAAEU,OAAO,IAAI;QAAU,CAAC,CAAE;QAAAN,QAAA,EACjEL;MAAW,CACR;IAAC,CACH;EAAC,CACH,CAAC;AAEX,CAAC;AAED,eAAeD,aAAa;AAE5B,MAAMI,MAAM,GAAGP,UAAU,CAACgB,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDV,MAAM,EAAE;IACNW,QAAQ,EAAE,KAAK;IACfC,YAAY,EAAE,EAAE;IAChBH,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDP,IAAI,EAAE;IACJU,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","StyleSheet","useTheme","jsx","_jsx","SystemMessage","messageText","colors","theme","style","styles","container","children","bubble","backgroundColor","dateLabelBackground","text","color","primary","dateLabel","create","width","alignItems","paddingVertical","paddingHorizontal","maxWidth","borderRadius","fontSize","lineHeight","fontWeight","textAlign"],"sourceRoot":"../../../../src","sources":["components/MainComponents/SystemMessage.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,QAAQ,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOhD,MAAMC,aAA2C,GAAGA,CAAC;EACnDC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ;EACA;EACA,MAAMC,KAAK,GAAGN,QAAQ,CAAC,CAAC;EACxB,oBACEE,IAAA,CAACL,IAAI;IAACU,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAK5BR,IAAA,CAACL,IAAI;MACHU,KAAK,EAAE,CACLC,MAAM,CAACG,MAAM,EACb;QAAEC,eAAe,EAAEN,KAAK,CAACO;MAAoB,CAAC,CAC9C;MAAAH,QAAA,eAEFR,IAAA,CAACJ,IAAI;QAACS,KAAK,EAAE,CAACC,MAAM,CAACM,IAAI,EAAE;UAAEC,KAAK,EAAEV,MAAM,EAAEW,OAAO,IAAIV,KAAK,CAACW;QAAU,CAAC,CAAE;QAAAP,QAAA,EACvEN;MAAW,CACR;IAAC,CACH;EAAC,CACH,CAAC;AAEX,CAAC;AAED,eAAeD,aAAa;AAE5B,MAAMK,MAAM,GAAGT,UAAU,CAACmB,MAAM,CAAC;EAC/BT,SAAS,EAAE;IACTU,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDX,MAAM,EAAE;IACNY,QAAQ,EAAE,KAAK;IACfC,YAAY,EAAE,EAAE;IAChBH,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDR,IAAI,EAAE;IACJW,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -34,7 +34,8 @@ export const Avatar = ({
34
34
  username,
35
35
  firstName,
36
36
  lastName,
37
- style
37
+ style,
38
+ textSize
38
39
  }) => {
39
40
  const {
40
41
  config
@@ -73,6 +74,9 @@ export const Avatar = ({
73
74
  bgColor: backgroundColor?.backgroundColor,
74
75
  children: /*#__PURE__*/_jsx(AvatarText, {
75
76
  color: getAvatarTextColor(backgroundColor?.backgroundColor),
77
+ style: textSize ? {
78
+ fontSize: textSize
79
+ } : undefined,
76
80
  children: getInitials()
77
81
  })
78
82
  });