@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 +1 @@
1
- {"version":3,"names":["useDispatch","DeviceEventEmitter","AsyncStorage","store","logout","setLogoutState","useCallback","clearHeap","pushSubscriptionService","releasePushRegistration","clearRoomsRestCache","clearPersistedState","secureUserStorage","getFlushBoundaryTs","LIBRARY_STRAY_KEYS","logoutService","performLogout","state","getState","client","chatSettingStore","rooms","visibleRoomJID","boundaryTs","roomHeapSlice","readBoundaries","undefined","flushLastViewedToPrivateStoreStanza","Promise","race","visibleRoomTs","onlyIfNoUnread","res","setTimeout","e","console","warn","emit","reset","dispatch","multiRemove","remove","useLogout","err"],"sourceRoot":"../../../src","sources":["hooks/useLogout.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useDispatch","DeviceEventEmitter","AsyncStorage","store","logout","setLogoutState","useCallback","clearHeap","pushSubscriptionService","releasePushRegistration","clearRoomsRestCache","clearPersistedState","secureUserStorage","getFlushBoundaryTs","stopOmemo","LIBRARY_STRAY_KEYS","logoutService","performLogout","state","getState","client","chatSettingStore","rooms","visibleRoomJID","boundaryTs","roomHeapSlice","readBoundaries","undefined","flushLastViewedToPrivateStoreStanza","Promise","race","visibleRoomTs","onlyIfNoUnread","res","setTimeout","e","console","warn","emit","reset","clearOpenedFiles","require","dispatch","multiRemove","remove","useLogout","err"],"sourceRoot":"../../../src","sources":["hooks/useLogout.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
+ import { useMemo } from 'react';
3
4
  import { useSelector } from 'react-redux';
4
5
  export const useMessageHeapState = () => {
5
6
  const queue = useSelector(state => state.roomHeapSlice?.messageHeap);
6
7
  const failedMessages = useSelector(state => state.roomHeapSlice?.failedMessages);
7
- const idSet = new Set(queue?.map(m => m.id) ?? []);
8
- const failedIdSet = new Set(Object.keys(failedMessages || {}));
8
+ const idSet = useMemo(() => new Set(queue?.map(m => m.id) ?? []), [queue]);
9
+ const failedIdSet = useMemo(() => new Set(Object.keys(failedMessages || {})), [failedMessages]);
9
10
  return {
10
11
  queue,
11
12
  idSet,
@@ -1 +1 @@
1
- {"version":3,"names":["useSelector","useMessageHeapState","queue","state","roomHeapSlice","messageHeap","failedMessages","idSet","Set","map","m","id","failedIdSet","Object","keys"],"sourceRoot":"../../../src","sources":["hooks/useMessageHeapState.tsx"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,aAAa;AAGzC,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,KAAK,GAAGF,WAAW,CACtBG,KAAgB,IAAKA,KAAK,CAACC,aAAa,EAAEC,WAC7C,CAAC;EACD,MAAMC,cAAc,GAAGN,WAAW,CAC/BG,KAAgB,IAAKA,KAAK,CAACC,aAAa,EAAEE,cAC7C,CAAC;EACD,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAACN,KAAK,EAAEO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,CAAC,IAAI,EAAE,CAAC;EACpD,MAAMC,WAAW,GAAG,IAAIJ,GAAG,CAACK,MAAM,CAACC,IAAI,CAACR,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC;EAE9D,OAAO;IAAEJ,KAAK;IAAEK,KAAK;IAAED,cAAc;IAAEM;EAAY,CAAC;AACtD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useSelector","useMessageHeapState","queue","state","roomHeapSlice","messageHeap","failedMessages","idSet","Set","map","m","id","failedIdSet","Object","keys"],"sourceRoot":"../../../src","sources":["hooks/useMessageHeapState.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,WAAW,QAAQ,aAAa;AAGzC,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,KAAK,GAAGF,WAAW,CACtBG,KAAgB,IAAKA,KAAK,CAACC,aAAa,EAAEC,WAC7C,CAAC;EACD,MAAMC,cAAc,GAAGN,WAAW,CAC/BG,KAAgB,IAAKA,KAAK,CAACC,aAAa,EAAEE,cAC7C,CAAC;EACD,MAAMC,KAAK,GAAGR,OAAO,CAAC,MAAM,IAAIS,GAAG,CAACN,KAAK,EAAEO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAACT,KAAK,CAAC,CAAC;EAC5E,MAAMU,WAAW,GAAGb,OAAO,CACzB,MAAM,IAAIS,GAAG,CAACK,MAAM,CAACC,IAAI,CAACR,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,EAChD,CAACA,cAAc,CACjB,CAAC;EAED,OAAO;IAAEJ,KAAK;IAAEK,KAAK;IAAED,cAAc;IAAEM;EAAY,CAAC;AACtD,CAAC","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  import { useEffect } from 'react';
4
4
  import { setIsLoading } from '../roomStore/roomsSlice';
5
5
  import { useXmppClient } from '../context/xmppProvider';
6
- import { useDispatch } from 'react-redux';
6
+ import { useDispatch, useSelector, useStore } from 'react-redux';
7
7
  import useGetNewArchRoom from './useGetNewArchRoom';
8
8
  const countUndefinedText = arr => (Array.isArray(arr) ? arr : []).filter(item => item?.body === undefined)?.length;
9
9
  const hasLoadedRoomHistory = room => {
@@ -13,11 +13,20 @@ const hasLoadedRoomHistory = room => {
13
13
  }
14
14
  return messages.some(message => message?.id !== 'delimiter-new' && message?.pending !== true && !!String(message?.body || '').trim());
15
15
  };
16
- export const useRoomInitialization = (activeRoomJID, roomsList, config, messageLength) => {
16
+ const defaultRoomJids = config => (config?.defaultRooms || []).map(room => typeof room === 'string' ? room : room?.jid);
17
+ export const useRoomInitialization = (activeRoomJID, config) => {
17
18
  const {
18
19
  client
19
20
  } = useXmppClient();
20
21
  const dispatch = useDispatch();
22
+ const reduxStore = useStore();
23
+ const hasRooms = useSelector(state => Object.keys(state.rooms.rooms || {}).length > 0);
24
+ const activeRoomExists = useSelector(state => !!activeRoomJID && !!state.rooms.rooms?.[activeRoomJID]);
25
+ const activeHistoryLoaded = useSelector(state => hasLoadedRoomHistory(state.rooms.rooms?.[activeRoomJID]));
26
+ const defaultRoomsMissing = useSelector(state => {
27
+ const jids = defaultRoomJids(config);
28
+ return jids.length > 0 && jids.some(jid => !state.rooms.rooms?.[jid]);
29
+ });
21
30
  const syncRooms = useGetNewArchRoom();
22
31
 
23
32
  // Fast active-room join. Mirrors web's first effect: as soon as the
@@ -46,8 +55,8 @@ export const useRoomInitialization = (activeRoomJID, roomsList, config, messageL
46
55
  }
47
56
  }, [client, activeRoomJID]);
48
57
  useEffect(() => {
49
- const activeRoom = roomsList?.[activeRoomJID];
50
- const shouldLoadActiveHistory = !!activeRoomJID && !hasLoadedRoomHistory(activeRoom);
58
+ const roomsList = reduxStore.getState().rooms.rooms || {};
59
+ const shouldLoadActiveHistory = !!activeRoomJID && !activeHistoryLoaded;
51
60
  const getDefaultHistory = async () => {
52
61
  if (!client || !activeRoomJID) {
53
62
  return;
@@ -116,7 +125,7 @@ export const useRoomInitialization = (activeRoomJID, roomsList, config, messageL
116
125
  chatJID: activeRoomJID
117
126
  }));
118
127
  getDefaultHistory();
119
- } else {
128
+ } else if (roomsList?.[activeRoomJID]?.isLoading) {
120
129
  dispatch(setIsLoading({
121
130
  loading: false,
122
131
  chatJID: activeRoomJID
@@ -126,8 +135,7 @@ export const useRoomInitialization = (activeRoomJID, roomsList, config, messageL
126
135
  initialPresenceAndHistory();
127
136
  }
128
137
  if (client && config?.defaultRooms) {
129
- const allExist = config?.defaultRooms.every(room => roomsList[typeof room === 'string' ? room : room.jid] !== undefined);
130
- if (roomsList && !allExist) {
138
+ if (defaultRoomsMissing) {
131
139
  config?.defaultRooms.map(async room => {
132
140
  client.presenceInRoomStanza(typeof room === 'string' ? room : room.jid);
133
141
  });
@@ -138,6 +146,7 @@ export const useRoomInitialization = (activeRoomJID, roomsList, config, messageL
138
146
  }
139
147
  }
140
148
  }
141
- }, [activeRoomJID, Object.keys(roomsList).length, messageLength, roomsList?.[activeRoomJID]?.messages?.length]);
149
+ // eslint-disable-next-line react-hooks/exhaustive-deps
150
+ }, [activeRoomJID, hasRooms, activeRoomExists, activeHistoryLoaded, defaultRoomsMissing]);
142
151
  };
143
152
  //# sourceMappingURL=useRoomInitialization.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","setIsLoading","useXmppClient","useDispatch","useGetNewArchRoom","countUndefinedText","arr","Array","isArray","filter","item","body","undefined","length","hasLoadedRoomHistory","room","messages","some","message","id","pending","String","trim","useRoomInitialization","activeRoomJID","roomsList","config","messageLength","client","dispatch","syncRooms","setActiveRoomJid","promoteRoomHistory","presenceInRoomStanza","getRoomInfoStanza","activeRoom","shouldLoadActiveHistory","getDefaultHistory","loading","chatJID","res","getHistoryStanza","prioritizeRoomPresence","catch","Number","loadingText","initialPresenceAndHistory","newArch","getRoomsStanza","Object","keys","defaultRooms","allExist","every","jid","map"],"sourceRoot":"../../../src","sources":["hooks/useRoomInitialization.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,aAAa,QAAQ,yBAAyB;AAEvD,SAASC,WAAW,QAAQ,aAAa;AACzC,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,MAAMC,kBAAkB,GAAIC,GAAe,IACzC,CAACC,KAAK,CAACC,OAAO,CAACF,GAAG,CAAC,GAAGA,GAAG,GAAG,EAAE,EAAEG,MAAM,CACnCC,IAAI,IAAKA,IAAI,EAAEC,IAAI,KAAKC,SAC3B,CAAC,EAAEC,MAAM;AAEX,MAAMC,oBAAoB,GAAIC,IAAY,IAAc;EACtD,MAAMC,QAAQ,GAAGT,KAAK,CAACC,OAAO,CAACO,IAAI,EAAEC,QAAQ,CAAC,GAAGD,IAAI,CAACC,QAAQ,GAAG,EAAE;EACnE,IAAI,CAACA,QAAQ,CAACH,MAAM,EAAE;IAAC,OAAO,KAAK;EAAC;EACpC,OAAOG,QAAQ,CAACC,IAAI,CACjBC,OAAO,IACNA,OAAO,EAAEC,EAAE,KAAK,eAAe,IAC/BD,OAAO,EAAEE,OAAO,KAAK,IAAI,IACzB,CAAC,CAACC,MAAM,CAACH,OAAO,EAAEP,IAAI,IAAI,EAAE,CAAC,CAACW,IAAI,CAAC,CACvC,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGA,CACnCC,aAAqB,EACrBC,SAAgC,EAChCC,MAAe,EACfC,aAAqB,KAClB;EACH,MAAM;IAAEC;EAAO,CAAC,GAAG1B,aAAa,CAAC,CAAC;EAClC,MAAM2B,QAAQ,GAAG1B,WAAW,CAAC,CAAC;EAE9B,MAAM2B,SAAS,GAAG1B,iBAAiB,CAAC,CAAC;;EAErC;EACA;EACA;EACA;EACA;EACA;EACAJ,SAAS,CAAC,MAAM;IACd,IAAI4B,MAAM,IAAIJ,aAAa,EAAE;MAC3BI,MAAM,CAACG,gBAAgB,GAAGP,aAAa,CAAC;MACxCI,MAAM,CAACI,kBAAkB,GAAGR,aAAa,CAAC;MAC1C,IAAI;QACFI,MAAM,CAACK,oBAAoB,CAACT,aAAa,CAAC;MAC5C,CAAC,CAAC,MAAM;QACN;MAAA;MAEF,IAAI;QACFI,MAAM,CAACM,iBAAiB,GAAGV,aAAa,CAAC;MAC3C,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;IACA,IAAII,MAAM,IAAI,CAACJ,aAAa,EAAE;MAC5BI,MAAM,CAACG,gBAAgB,GAAG,IAAI,CAAC;IACjC;EACF,CAAC,EAAE,CAACH,MAAM,EAAEJ,aAAa,CAAC,CAAC;EAE3BxB,SAAS,CAAC,MAAM;IACd,MAAMmC,UAAU,GAAGV,SAAS,GAAGD,aAAa,CAAC;IAC7C,MAAMY,uBAAuB,GAC3B,CAAC,CAACZ,aAAa,IAAI,CAACV,oBAAoB,CAACqB,UAAU,CAAC;IAEtD,MAAME,iBAAiB,GAAG,MAAAA,CAAA,KAAY;MACpC,IAAI,CAACT,MAAM,IAAI,CAACJ,aAAa,EAAE;QAAC;MAAO;MACvC;MACA;MACA;MACA,IAAI;QACFI,MAAM,CAACK,oBAAoB,CAACT,aAAa,CAAC;MAC5C,CAAC,CAAC,MAAM;QACN;MAAA;MAEFK,QAAQ,CAAC5B,YAAY,CAAC;QAAEqC,OAAO,EAAE,IAAI;QAAEC,OAAO,EAAEf;MAAc,CAAC,CAAC,CAAC;MACjE,IAAI;QACF,MAAMgB,GAAG,GAAG,MAAMZ,MAAM,CAACa,gBAAgB,CAACjB,aAAa,EAAE,EAAE,CAAC;QAC5D,IAAI,CAACgB,GAAG,EAAE3B,MAAM,EAAE;UAChBe,MAAM,CAACc,sBAAsB,GAAGlB,aAAa,CAAC,CAACmB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE;QACA,IAAIH,GAAG,IAAInC,kBAAkB,CAACmC,GAAG,CAAC,GAAG,CAAC,EAAE;UACtCX,QAAQ,CAAC5B,YAAY,CAAC;YAAEqC,OAAO,EAAE,KAAK;YAAEC,OAAO,EAAEf;UAAc,CAAC,CAAC,CAAC;UAClE,MAAMI,MAAM,CAACa,gBAAgB,CAC3BjB,aAAa,EACb,EAAE,GAAGnB,kBAAkB,CAACmC,GAAG,CAAC,EAC5BI,MAAM,CAACJ,GAAG,CAAC,CAAC,CAAC,CAACrB,EAAE,CAClB,CAAC;QACH;MACF,CAAC,SAAS;QACRU,QAAQ,CACN5B,YAAY,CAAC;UACXqC,OAAO,EAAE,KAAK;UACdC,OAAO,EAAEf,aAAa;UACtBqB,WAAW,EAAEjC;QACf,CAAC,CACH,CAAC;MACH;IACF,CAAC;IAED,MAAMkC,yBAAyB,GAAG,MAAAA,CAAA,KAAY;MAC5C,IAAI,CAACrB,SAAS,CAACD,aAAa,CAAC,IAAIA,aAAa,IAAII,MAAM,EAAE;QACxD,MAAMA,MAAM,CAACK,oBAAoB,CAACT,aAAa,CAAC;QAChD,IAAIE,MAAM,EAAEqB,OAAO,EAAE;UACnB,MAAMjB,SAAS,CAACF,MAAM,EAAEF,MAAM,CAAC;QACjC,CAAC,MAAM;UACL,MAAME,MAAM,CAACoB,cAAc,CAAC,CAAC;QAC/B;QACA,MAAMX,iBAAiB,CAAC,CAAC;MAC3B,CAAC,MAAM;QACL,MAAMA,iBAAiB,CAAC,CAAC;MAC3B;IACF,CAAC;IAED,IAAIY,MAAM,CAACC,IAAI,CAACzB,SAAS,CAAC,EAAEZ,MAAM,GAAG,CAAC,EAAE;MACtC,IACEW,aAAa,IACb,CAACC,SAAS,GAAGD,aAAa,CAAC,IAC3ByB,MAAM,CAACC,IAAI,CAACzB,SAAS,CAAC,CAACZ,MAAM,GAAG,CAAC,EACjC;QACAgB,QAAQ,CAAC5B,YAAY,CAAC;UAAEqC,OAAO,EAAE,IAAI;UAAEC,OAAO,EAAEf;QAAc,CAAC,CAAC,CAAC;QACjEsB,yBAAyB,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAItB,aAAa,IAAIY,uBAAuB,EAAE;QACnD;QACA;QACA;QACA;QACA;QACA;QACAP,QAAQ,CAAC5B,YAAY,CAAC;UAAEqC,OAAO,EAAE,IAAI;UAAEC,OAAO,EAAEf;QAAc,CAAC,CAAC,CAAC;QACjEa,iBAAiB,CAAC,CAAC;MACrB,CAAC,MAAM;QACLR,QAAQ,CAAC5B,YAAY,CAAC;UAAEqC,OAAO,EAAE,KAAK;UAAEC,OAAO,EAAEf;QAAc,CAAC,CAAC,CAAC;MACpE;IACF,CAAC,MAAM,IAAI,CAACC,SAAS,GAAGD,aAAa,CAAC,EAAE;MACtCsB,yBAAyB,CAAC,CAAC;IAC7B;IAEA,IAAIlB,MAAM,IAAIF,MAAM,EAAEyB,YAAY,EAAE;MAClC,MAAMC,QAAQ,GAAG1B,MAAM,EAAEyB,YAAY,CAACE,KAAK,CACxCtC,IAAI,IAAKU,SAAS,CAAC,OAAOV,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAGA,IAAI,CAACuC,GAAG,CAAC,KAAK1C,SACtE,CAAC;MACD,IAAIa,SAAS,IAAI,CAAC2B,QAAQ,EAAE;QAC1B1B,MAAM,EAAEyB,YAAY,CAACI,GAAG,CAAC,MAAOxC,IAAI,IAAK;UACvCa,MAAM,CAACK,oBAAoB,CAAC,OAAOlB,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAGA,IAAI,CAACuC,GAAG,CAAC;QACzE,CAAC,CAAC;QACF,IAAI5B,MAAM,EAAEqB,OAAO,EAAE;UACnB;QAAA,CACD,MAAM;UACLnB,MAAM,CAACoB,cAAc,CAAC,CAAC;QACzB;MACF;IACF;EACF,CAAC,EAAE,CACDxB,aAAa,EACbyB,MAAM,CAACC,IAAI,CAACzB,SAAS,CAAC,CAACZ,MAAM,EAC7Bc,aAAa,EACbF,SAAS,GAAGD,aAAa,CAAC,EAAER,QAAQ,EAAEH,MAAM,CAC7C,CAAC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","setIsLoading","useXmppClient","useDispatch","useSelector","useStore","useGetNewArchRoom","countUndefinedText","arr","Array","isArray","filter","item","body","undefined","length","hasLoadedRoomHistory","room","messages","some","message","id","pending","String","trim","defaultRoomJids","config","defaultRooms","map","jid","useRoomInitialization","activeRoomJID","client","dispatch","reduxStore","hasRooms","state","Object","keys","rooms","activeRoomExists","activeHistoryLoaded","defaultRoomsMissing","jids","syncRooms","setActiveRoomJid","promoteRoomHistory","presenceInRoomStanza","getRoomInfoStanza","roomsList","getState","shouldLoadActiveHistory","getDefaultHistory","loading","chatJID","res","getHistoryStanza","prioritizeRoomPresence","catch","Number","loadingText","initialPresenceAndHistory","newArch","getRoomsStanza","isLoading"],"sourceRoot":"../../../src","sources":["hooks/useRoomInitialization.tsx"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,8 @@ import { enqueueOutboundSend, removeOutboundSend } from '../networking/outboundQ
12
12
  import { store } from '../roomStore';
13
13
  import { getGlobalXmppClient } from '../utils/clientRegistry';
14
14
  import { useEventHandlers } from './useEventHandlers';
15
+ import { canEditMessage, canSendMediaToRoom, canSendToRoom } from '../e2ee';
16
+ import { shouldEncrypt } from '../e2ee/send';
15
17
  // Watchdog: if a message stays "pending" (no server echo) for this
16
18
  // long after the optimistic dispatch, mark it failed so the bubble
17
19
  // flips out of the "sending..." state. Covers the silent-failure
@@ -71,16 +73,22 @@ export const useSendMessage = _configOverride => {
71
73
  // Mirrors the web SDK, which always sends through the translate-tag path.
72
74
  const langSource = useSelector(state => state.chatSettingStore.langSource);
73
75
  const editAction = useSelector(state => state.rooms.editAction);
74
- const rooms = useSelector(state => state.rooms.rooms);
75
76
  const {
76
77
  handleMessageSent,
77
78
  handleMessageFailed,
78
79
  handleMessageEdited,
79
80
  handleMessageRetry
80
81
  } = useEventHandlers(config);
81
- const failedMessages = useSelector(state => state.roomHeapSlice?.failedMessages || {});
82
82
  const sendMessage = useCallback(async (message, activeRoomJID, isReply, isChecked, mainMessage, existingId) => {
83
83
  if (editAction?.isEdit) {
84
+ const edited = reduxStore.getState().rooms?.rooms?.[editAction.roomJid]?.messages?.find(m => m.id === editAction.messageId);
85
+ if (edited && !canEditMessage(edited)) {
86
+ console.warn('edit not sent: the message was encrypted');
87
+ dispatch(setEditAction({
88
+ isEdit: false
89
+ }));
90
+ return;
91
+ }
84
92
  try {
85
93
  client?.editMessageStanza(editAction.roomJid, editAction.messageId, message);
86
94
  handleMessageEdited({
@@ -102,6 +110,10 @@ export const useSendMessage = _configOverride => {
102
110
  }));
103
111
  return;
104
112
  }
113
+ if (!canSendToRoom(activeRoomJID)) {
114
+ console.warn('message not sent: room is end-to-end encrypted');
115
+ return;
116
+ }
105
117
 
106
118
  // Critical-send hint to the QoS scheduler.
107
119
  client?.onCriticalSend?.(activeRoomJID);
@@ -132,6 +144,14 @@ export const useSendMessage = _configOverride => {
132
144
  // manual-mode readers see the Translate link on it too (parity with
133
145
  // the web SDK, which stamps langSource on the optimistic message).
134
146
  langSource: langSource || 'en',
147
+ // Reply fields as the wire carries them (strings), so a thread reply
148
+ // shows in its thread — and NOT in the channel — from the first
149
+ // frame, not only once the server echo lands.
150
+ ...(isReply ? {
151
+ isReply: 'true',
152
+ showInChannel: isChecked ? 'true' : 'false',
153
+ mainMessage
154
+ } : {}),
135
155
  user: {
136
156
  ...user,
137
157
  id: selfId,
@@ -273,6 +293,10 @@ export const useSendMessage = _configOverride => {
273
293
  }
274
294
  }, [editAction, client, user, langSource, dispatch, handleMessageSent, handleMessageEdited, handleMessageFailed, reduxStore]);
275
295
  const sendMedia = useCallback(async (data, type, activeRoomJID, isReply = false, isChecked = false, mainMessage = '', existingId) => {
296
+ if (!canSendMediaToRoom(activeRoomJID)) {
297
+ console.warn('media not sent: room is end-to-end encrypted');
298
+ return;
299
+ }
276
300
  client?.onCriticalSend?.(activeRoomJID);
277
301
 
278
302
  // Defensive 50 MB guard on every send path (SendInput blocks it at
@@ -335,7 +359,7 @@ export const useSendMessage = _configOverride => {
335
359
  mimetype: type,
336
360
  originalName: data?.name,
337
361
  size: fileSizeStr,
338
- isReply,
362
+ isReply: isReply ? 'true' : 'false',
339
363
  showInChannel: `${isChecked}`,
340
364
  mainMessage
341
365
  }
@@ -402,20 +426,40 @@ export const useSendMessage = _configOverride => {
402
426
  type: data?.type || data?.mimeType || type || 'application/octet-stream',
403
427
  name: data?.name || data?.fileName || `media_${Date.now()}`
404
428
  };
429
+ let sealed;
405
430
  const tryUpload = async () => {
431
+ if (shouldEncrypt(activeRoomJID) && !sealed) {
432
+ const {
433
+ sealPickedFile
434
+ } = require('../e2ee/sealedFiles');
435
+ sealed = await sealPickedFile({
436
+ uri: fileBlob.uri,
437
+ name: fileBlob.name,
438
+ type: fileBlob.type,
439
+ size: typeof data?.size === 'number' ? data.size : undefined
440
+ });
441
+ }
442
+ const part = sealed ? {
443
+ uri: sealed.uri,
444
+ type: 'application/octet-stream',
445
+ name: sealed.name
446
+ } : fileBlob;
447
+ const options = {
448
+ clientEncrypted: !!sealed
449
+ };
406
450
  const fd = new FormData();
407
- fd.append('files', fileBlob);
451
+ fd.append('files', part);
408
452
  try {
409
- return await uploadFileV2(fd, activeRoomJID);
453
+ return await uploadFileV2(fd, activeRoomJID, options);
410
454
  } catch (err) {
411
455
  if (err?.response?.status === 500) {
412
456
  console.warn('upload "files" field returned 500 — retrying with "file" (singular)', {
413
- name: fileBlob.name,
414
- type: fileBlob.type
457
+ name: part.name,
458
+ type: part.type
415
459
  });
416
460
  const fd2 = new FormData();
417
- fd2.append('file', fileBlob);
418
- return await uploadFileV2(fd2, activeRoomJID);
461
+ fd2.append('file', part);
462
+ return await uploadFileV2(fd2, activeRoomJID, options);
419
463
  }
420
464
  throw err;
421
465
  }
@@ -453,8 +497,25 @@ export const useSendMessage = _configOverride => {
453
497
  isReply,
454
498
  mainMessage,
455
499
  isPrivate: item?.isPrivate,
456
- __v: item.__v
500
+ __v: item.__v,
501
+ e2eeKeys: sealed ? [sealed.keyMaterial] : undefined
457
502
  };
503
+ if (sealed) {
504
+ try {
505
+ const {
506
+ rememberOpened
507
+ } = require('../e2ee/sealedFiles');
508
+ await rememberOpened(item.location, {
509
+ uri: fileBlob.uri,
510
+ name: fileBlob.name,
511
+ type: fileBlob.type,
512
+ size: typeof data?.size === 'number' ? data.size : undefined
513
+ });
514
+ } catch (err) {
515
+ console.warn('could not keep the sent attachment', err);
516
+ }
517
+ sealed.dispose();
518
+ }
458
519
  // Stanza id == placeholder id so the MUC echo's outer
459
520
  // <message id="..."> matches xmppId on the placeholder and
460
521
  // insertMessageWithDelimiter merges in place + flips pending.
@@ -504,6 +565,7 @@ export const useSendMessage = _configOverride => {
504
565
  // Upload (or stanza send) threw an explicit error. Clear the
505
566
  // watchdog so it doesn't double-fire `markMessageFailed`.
506
567
  clearTimeout(mediaWatchdog);
568
+ sealed?.dispose();
507
569
  // Surface the real server payload so we can see why the upload
508
570
  // was rejected (axios collapses the message to "Request failed
509
571
  // with status code N"; the actual reason lives in
@@ -550,7 +612,7 @@ export const useSendMessage = _configOverride => {
550
612
  // "sending..."; if the retry fails again `markMessageFailed` re-arms
551
613
  // it. No-op when the id isn't in the failed map.
552
614
  const retryMessage = useCallback(async failedId => {
553
- const payload = failedMessages[failedId];
615
+ const payload = reduxStore.getState().roomHeapSlice?.failedMessages?.[failedId];
554
616
  if (!payload) {
555
617
  return;
556
618
  }
@@ -560,7 +622,7 @@ export const useSendMessage = _configOverride => {
560
622
  // failed, but a confirmed (non-pending) copy is already sitting in
561
623
  // the room. Resending here would deliver a genuine duplicate; just
562
624
  // clear the failure and let the existing copy stand.
563
- const roomMsgs = rooms?.[payload.roomJID]?.messages || [];
625
+ const roomMsgs = reduxStore.getState().rooms?.rooms?.[payload.roomJID]?.messages || [];
564
626
  const alreadyDelivered = roomMsgs.some(m => !m.pending && (m.id === failedId || m.xmppId === failedId));
565
627
  if (alreadyDelivered) {
566
628
  dispatch(clearMessageFailure(failedId));
@@ -580,7 +642,7 @@ export const useSendMessage = _configOverride => {
580
642
  } else {
581
643
  await sendMedia(payload.data, payload.type, payload.roomJID, payload.isReply, payload.isChecked, payload.mainMessage, failedId);
582
644
  }
583
- }, [failedMessages, rooms, dispatch, handleMessageRetry, sendMessage, sendMedia]);
645
+ }, [reduxStore, dispatch, handleMessageRetry, sendMessage, sendMedia]);
584
646
 
585
647
  // ChatRoom/ThreadWrapper consume this as the "edit branch" of send.
586
648
  // It mirrors the edit path inside `sendMessage` so callers can wire it
@@ -589,6 +651,14 @@ export const useSendMessage = _configOverride => {
589
651
  if (!editAction?.isEdit || !editAction.roomJid || !editAction.messageId) {
590
652
  return;
591
653
  }
654
+ const edited = reduxStore.getState().rooms?.rooms?.[editAction.roomJid]?.messages?.find(m => m.id === editAction.messageId);
655
+ if (edited && !canEditMessage(edited)) {
656
+ console.warn('edit not sent: the message was encrypted');
657
+ dispatch(setEditAction({
658
+ isEdit: false
659
+ }));
660
+ return;
661
+ }
592
662
  try {
593
663
  client?.editMessageStanza(editAction.roomJid, editAction.messageId, message);
594
664
  handleMessageEdited({
@@ -617,7 +687,7 @@ export const useSendMessage = _configOverride => {
617
687
  if (!roomJID) {
618
688
  return false;
619
689
  }
620
- const msgs = rooms?.[roomJID]?.messages;
690
+ const msgs = reduxStore.getState().rooms?.rooms?.[roomJID]?.messages;
621
691
  if (!msgs || msgs.length === 0) {
622
692
  return false;
623
693
  }
@@ -630,7 +700,7 @@ export const useSendMessage = _configOverride => {
630
700
  return false;
631
701
  }
632
702
  return last.user?.id === selfId;
633
- }, [rooms, user?.xmppUsername, user?.walletAddress]);
703
+ }, [reduxStore, user?.xmppUsername, user?.walletAddress]);
634
704
  return {
635
705
  sendMessage,
636
706
  sendMedia,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","Platform","v4","uuidv4","useXmppClient","useDispatch","useSelector","useStore","addRoomMessage","setEditAction","addMessageToHeap","clearMessageFailure","markMessageFailed","uploadFileV2","enqueueOutboundSend","removeOutboundSend","store","getGlobalXmppClient","useEventHandlers","PENDING_WATCHDOG_MS","MEDIA_PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","dispatch","reduxStore","user","state","chatSettingStore","config","langSource","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","failedMessages","roomHeapSlice","sendMessage","message","activeRoomJID","isReply","isChecked","mainMessage","existingId","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","name","firstName","lastName","trim","disableSentLogic","watchdogExtended","runWatchdog","getState","roomMsgs","messages","stillPending","find","m","alreadyFailed","streamOnline","status","console","warn","watchdogTimer","setTimeout","kind","Error","replaySend","c","sendTextMessageWithTranslateTagStanza","enqueuedAt","send","effectiveClient","anyClient","forceReconnect","ensureStreamAlive","clearTimeout","sendMedia","data","type","size","optimisticTimestamp","displayName","fileSizeStr","String","normalizedFileUri","uri","replace","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","showInChannel","mediaWatchdog","fileBlob","mimeType","tryUpload","fd","FormData","append","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","effectiveMediaClient","setActiveRoomJid","Promise","resolve","prioritizeRoomPresence","catch","sendMediaMessageStanza","anyMediaClient","ttlMs","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","OS","platformVersion","Version","retryMessage","failedId","payload","alreadyDelivered","some","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","Platform","v4","uuidv4","useXmppClient","useDispatch","useSelector","useStore","addRoomMessage","setEditAction","addMessageToHeap","clearMessageFailure","markMessageFailed","uploadFileV2","enqueueOutboundSend","removeOutboundSend","store","getGlobalXmppClient","useEventHandlers","canEditMessage","canSendMediaToRoom","canSendToRoom","shouldEncrypt","PENDING_WATCHDOG_MS","MEDIA_PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","dispatch","reduxStore","user","state","chatSettingStore","config","langSource","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","sendMessage","message","activeRoomJID","isReply","isChecked","mainMessage","existingId","isEdit","edited","getState","roomJid","messages","find","m","id","messageId","console","warn","editMessageStanza","newMessage","roomJID","error","messageType","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","xmppId","body","date","pending","isDeleted","showInChannel","name","firstName","lastName","trim","disableSentLogic","watchdogExtended","runWatchdog","roomMsgs","stillPending","alreadyFailed","roomHeapSlice","failedMessages","streamOnline","status","watchdogTimer","setTimeout","kind","Error","replaySend","c","sendTextMessageWithTranslateTagStanza","enqueuedAt","send","effectiveClient","anyClient","forceReconnect","ensureStreamAlive","clearTimeout","sendMedia","data","type","size","optimisticTimestamp","displayName","fileSizeStr","String","normalizedFileUri","uri","replace","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","mediaWatchdog","fileBlob","mimeType","sealed","tryUpload","sealPickedFile","require","undefined","part","options","clientEncrypted","fd","FormData","append","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","e2eeKeys","keyMaterial","rememberOpened","dispose","effectiveMediaClient","setActiveRoomJid","Promise","resolve","prioritizeRoomPresence","catch","sendMediaMessageStanza","anyMediaClient","ttlMs","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","OS","platformVersion","Version","retryMessage","failedId","payload","alreadyDelivered","some","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
@@ -26,7 +26,7 @@ export const useUnreadMessagesCounter = () => {
26
26
  unreadByRoom[roomJid] = unreadCount;
27
27
  totalCount += unreadCount;
28
28
  }
29
- if (room?.unreadCapped) {
29
+ if (room?.unreadCapped && unreadCount >= 10) {
30
30
  isCapped = true;
31
31
  }
32
32
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useSyncExternalStore","store","useUnreadMessagesCounter","subscribe","callback","roomsState","getState","rooms","unreadByRoom","totalCount","isCapped","Object","entries","forEach","roomJid","room","unreadCount","unreadMessages","unreadCapped","hasUnread","isLoading","isUnreadSyncing","useUnread"],"sourceRoot":"../../../src","sources":["hooks/useUnreadMessagesCounter.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,OAAO;AAE5C,SAASC,KAAK,QAAQ,cAAc;AAmBpC,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,KAA2B;EACjE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,SAAS,GAAIC,QAAoB,IAAKH,KAAK,CAACE,SAAS,CAACC,QAAQ,CAAC;EAErE,MAAMC,UAAU,GAAGL,oBAAoB,CACrCG,SAAS,EACT,MAAMF,KAAK,CAACK,QAAQ,CAAC,CAAC,CAACC,KACzB,CAAC;EAED,MAAMA,KAAK,GAAGF,UAAU,CAACE,KAAK;EAC9B,MAAMC,YAA+B,GAAG,CAAC,CAAC;EAC1C,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,QAAQ,GAAG,KAAK;EAEpBC,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,CAACM,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;IAClE,MAAMC,WAAW,GAAGD,IAAI,CAACE,cAAc,IAAI,CAAC;IAC5C,IAAID,WAAW,GAAG,CAAC,EAAE;MACnBR,YAAY,CAACM,OAAO,CAAC,GAAGE,WAAW;MACnCP,UAAU,IAAIO,WAAW;IAC3B;IACA,IAAKD,IAAI,EAAUG,YAAY,EAAE;MAC/BR,QAAQ,GAAG,IAAI;IACjB;EACF,CAAC,CAAC;EAEF,OAAO;IACLS,SAAS,EAAEV,UAAU,GAAG,CAAC;IACzBA,UAAU;IACVD,YAAY;IACZY,SAAS,EAAE,CAAC,CAACf,UAAU,CAACgB,eAAe,IAAI,CAAC,CAAChB,UAAU,CAACe,SAAS;IACjEV;EACF,CAAC;AACH,CAAC;AAED,SAASR,wBAAwB,IAAIoB,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["useSyncExternalStore","store","useUnreadMessagesCounter","subscribe","callback","roomsState","getState","rooms","unreadByRoom","totalCount","isCapped","Object","entries","forEach","roomJid","room","unreadCount","unreadMessages","unreadCapped","hasUnread","isLoading","isUnreadSyncing","useUnread"],"sourceRoot":"../../../src","sources":["hooks/useUnreadMessagesCounter.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,OAAO;AAE5C,SAASC,KAAK,QAAQ,cAAc;AAmBpC,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,KAA2B;EACjE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,SAAS,GAAIC,QAAoB,IAAKH,KAAK,CAACE,SAAS,CAACC,QAAQ,CAAC;EAErE,MAAMC,UAAU,GAAGL,oBAAoB,CACrCG,SAAS,EACT,MAAMF,KAAK,CAACK,QAAQ,CAAC,CAAC,CAACC,KACzB,CAAC;EAED,MAAMA,KAAK,GAAGF,UAAU,CAACE,KAAK;EAC9B,MAAMC,YAA+B,GAAG,CAAC,CAAC;EAC1C,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,QAAQ,GAAG,KAAK;EAEpBC,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,CAACM,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;IAClE,MAAMC,WAAW,GAAGD,IAAI,CAACE,cAAc,IAAI,CAAC;IAC5C,IAAID,WAAW,GAAG,CAAC,EAAE;MACnBR,YAAY,CAACM,OAAO,CAAC,GAAGE,WAAW;MACnCP,UAAU,IAAIO,WAAW;IAC3B;IACA,IAAKD,IAAI,EAAUG,YAAY,IAAIF,WAAW,IAAI,EAAE,EAAE;MACpDN,QAAQ,GAAG,IAAI;IACjB;EACF,CAAC,CAAC;EAEF,OAAO;IACLS,SAAS,EAAEV,UAAU,GAAG,CAAC;IACzBA,UAAU;IACVD,YAAY;IACZY,SAAS,EAAE,CAAC,CAACf,UAAU,CAACgB,eAAe,IAAI,CAAC,CAAChB,UAAU,CAACe,SAAS;IACjEV;EACF,CAAC;AACH,CAAC;AAED,SAASR,wBAAwB,IAAIoB,SAAS","ignoreList":[]}