@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,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { store } from '../../roomStore';
4
- import { addRoom, mergeUsersSet } from '../../roomStore/roomsSlice';
4
+ import { addRoom, mergeUsersSet, updateRoom } from '../../roomStore/roomsSlice';
5
5
  import http from '../apiClient';
6
6
 
7
7
  /**
@@ -19,12 +19,17 @@ import http from '../apiClient';
19
19
  * - `_id` (fallback)
20
20
  * - `xmppUsername` (raw + localpart) when the API does return one
21
21
  */
22
+ const usableImage = value => {
23
+ const url = typeof value === 'string' ? value.trim() : '';
24
+ return url && url !== 'none' ? url : '';
25
+ };
22
26
  function dispatchUsersSetFromRestItems(items) {
23
27
  if (!items?.length) {
24
28
  return;
25
29
  }
26
30
  const ownXmpp = String(store.getState().chatSettingStore?.user?.xmppUsername || '');
27
31
  const appId = ownXmpp.includes('_') ? ownXmpp.split('_')[0] : '';
32
+ const known = store.getState().rooms?.usersSet || {};
28
33
  const members = {};
29
34
  for (const item of items) {
30
35
  const list = Array.isArray(item?.members) ? item.members : [];
@@ -32,11 +37,14 @@ function dispatchUsersSetFromRestItems(items) {
32
37
  if (!m) {
33
38
  continue;
34
39
  }
40
+ const before = m._id && (members[m._id] || known[m._id]) || undefined;
35
41
  const entry = {
36
- firstName: m.firstName || '',
37
- lastName: m.lastName || '',
42
+ firstName: m.firstName ?? before?.firstName ?? '',
43
+ lastName: m.lastName ?? before?.lastName ?? '',
38
44
  xmppUsername: m.xmppUsername || (appId && m._id ? `${appId}_${m._id}` : m._id || ''),
39
45
  _id: m._id || '',
46
+ profileImage: m.profileImage !== undefined ? usableImage(m.profileImage) : before?.profileImage ?? '',
47
+ description: m.description ?? before?.description,
40
48
  role: m.role,
41
49
  ban_status: m.ban_status,
42
50
  last_active: m.last_active,
@@ -85,9 +93,41 @@ function dispatchUsersSetFromRestItems(items) {
85
93
  * manifested as a phantom "ethora" room stub on third-party servers,
86
94
  * customer-reported #23)
87
95
  */
96
+ export function memberAccount(member, appId) {
97
+ const explicit = String(member?.xmppUsername || '').split('@')[0];
98
+ if (explicit) {
99
+ return explicit;
100
+ }
101
+ return appId && member?._id ? `${appId}_${member._id}` : '';
102
+ }
103
+ export function ownAppId() {
104
+ const ownXmpp = String(store.getState().chatSettingStore?.user?.xmppUsername || '');
105
+ return ownXmpp.includes('_') ? ownXmpp.split('_')[0] : '';
106
+ }
107
+ const toRoomMembers = members => {
108
+ const known = store.getState().rooms?.usersSet || {};
109
+ return (members || []).map(m => ({
110
+ firstName: m.firstName,
111
+ lastName: m.lastName,
112
+ profileImage: m.profileImage !== undefined ? usableImage(m.profileImage) : known[m._id]?.profileImage ?? '',
113
+ xmppUsername: m._id || '',
114
+ role: m.role,
115
+ ban_status: m.ban_status,
116
+ last_active: m.last_active,
117
+ jid: m.jid || ''
118
+ }));
119
+ };
120
+ const toE2eeMembers = (members, appId) => (members || []).map(m => ({
121
+ _id: m._id || '',
122
+ firstName: m.firstName || '',
123
+ lastName: m.lastName || '',
124
+ xmppUsername: memberAccount(m, appId)
125
+ })).filter(m => m.xmppUsername);
126
+ const memberCount = item => item.usersCnt ?? item.participants ?? item.members?.length ?? 0;
88
127
  function dispatchRoomsFromRestItems(items) {
89
128
  if (!items?.length) return;
90
129
  const config = store.getState().chatSettingStore?.config;
130
+ const appId = ownAppId();
91
131
  // Best: explicit xmpp settings.
92
132
  let host = config?.xmppSettings?.host || config?.xmppSettings?.conference?.replace(/^conference\./, '');
93
133
  // Heuristic fallback: derive xmpp host from the REST baseUrl.
@@ -114,12 +154,15 @@ function dispatchRoomsFromRestItems(items) {
114
154
  jid = `${item.name}@${conference}`;
115
155
  }
116
156
  if (!jid.includes('@')) continue;
157
+ const known = store.getState().rooms.rooms?.[jid];
158
+ const preview = (item.members?.length ?? 0) < memberCount(item);
159
+ const keep = (fresh, existing) => preview && (existing?.length ?? 0) > fresh.length ? existing : fresh;
117
160
  const room = {
118
161
  id: item._id || jid,
119
162
  jid,
120
163
  name: item.name,
121
164
  title: item.title || item.name,
122
- usersCnt: item.participants ?? item.members?.length ?? 0,
165
+ usersCnt: memberCount(item),
123
166
  messages: [],
124
167
  isLoading: false,
125
168
  roomBg: '',
@@ -129,18 +172,11 @@ function dispatchRoomsFromRestItems(items) {
129
172
  muted: item.muted === true,
130
173
  description: item.description,
131
174
  type: item.type,
132
- // ChatProfileModal renders this list under the description/type
133
- // fields. The REST API returns `members` (an array of {_id,
134
- // firstName?, lastName?}); map to the shape RoomMember expects.
135
- roomMembers: (item.members || []).map(m => ({
136
- firstName: m.firstName,
137
- lastName: m.lastName,
138
- xmppUsername: m._id || '',
139
- role: m.role,
140
- ban_status: m.ban_status,
141
- last_active: m.last_active,
142
- jid: m.jid || ''
143
- }))
175
+ ...(item.e2ee === true ? {
176
+ e2ee: true,
177
+ members: keep(toE2eeMembers(item.members, appId), known?.members)
178
+ } : {}),
179
+ roomMembers: keep(toRoomMembers(item.members), known?.roomMembers)
144
180
  };
145
181
  store.dispatch(addRoom({
146
182
  roomData: room
@@ -149,6 +185,57 @@ function dispatchRoomsFromRestItems(items) {
149
185
  // Hydrate the sender-name identity cache from the same REST payload.
150
186
  dispatchUsersSetFromRestItems(items);
151
187
  }
188
+ const ROOM_MEMBERS_TTL_MS = 5 * 60_000;
189
+ const roomMembersLoads = new Map();
190
+ export function loadRoomMembers(roomJid) {
191
+ const jid = String(roomJid || '').split('/')[0];
192
+ const room = store.getState().rooms.rooms?.[jid];
193
+ if (!room) {
194
+ return Promise.resolve(false);
195
+ }
196
+ if ((room.roomMembers?.length ?? 0) >= Number(room.usersCnt || 0)) {
197
+ return Promise.resolve(false);
198
+ }
199
+ const running = roomMembersLoads.get(jid);
200
+ if (running && Date.now() - running.at < ROOM_MEMBERS_TTL_MS) {
201
+ return running.done;
202
+ }
203
+ const done = (async () => {
204
+ try {
205
+ const response = await getRoomByName(jid.split('@')[0]);
206
+ const item = response?.result ?? response;
207
+ const members = Array.isArray(item?.members) ? item.members : [];
208
+ if (members.length === 0) {
209
+ return false;
210
+ }
211
+ dispatchUsersSetFromRestItems([item]);
212
+ const current = store.getState().rooms.rooms?.[jid];
213
+ if (!current) {
214
+ return false;
215
+ }
216
+ store.dispatch(updateRoom({
217
+ jid,
218
+ updates: {
219
+ roomMembers: toRoomMembers(members),
220
+ usersCnt: Math.max(memberCount(item), members.length),
221
+ ...(current.e2ee ? {
222
+ members: toE2eeMembers(members, ownAppId())
223
+ } : {})
224
+ }
225
+ }));
226
+ return true;
227
+ } catch (error) {
228
+ roomMembersLoads.delete(jid);
229
+ console.warn('[ethora-rn] rooms.api: could not load room members', jid, error);
230
+ return false;
231
+ }
232
+ })();
233
+ roomMembersLoads.set(jid, {
234
+ at: Date.now(),
235
+ done
236
+ });
237
+ return done;
238
+ }
152
239
  const GET_ROOMS_CACHE_MS = 60_000;
153
240
  let getRoomsInFlight = null;
154
241
  let getRoomsInFlightToken = '';
@@ -221,10 +308,13 @@ export async function postRoom(data) {
221
308
  throw new Error('Error updating profile');
222
309
  }
223
310
  }
224
- export async function postPrivateRoom(username, title = 'Private chat') {
311
+ export async function postPrivateRoom(username, e2ee = false) {
225
312
  const token = store.getState().chatSettingStore.user.token || '';
226
313
  try {
227
- const response = await http.post('/v1/chats/private', {
314
+ const response = await http.post('/v1/chats/private', e2ee === true ? {
315
+ username,
316
+ e2ee: true
317
+ } : {
228
318
  username
229
319
  }, {
230
320
  headers: {
@@ -368,6 +458,7 @@ export async function createChatCall(chatName, options) {
368
458
  }
369
459
  }
370
460
  export function clearRoomsRestCache() {
461
+ roomMembersLoads.clear();
371
462
  lastGetRoomsResponse = null;
372
463
  lastGetRoomsResponseAt = 0;
373
464
  lastGetRoomsResponseToken = '';
@@ -1 +1 @@
1
- {"version":3,"names":["store","addRoom","mergeUsersSet","http","dispatchUsersSetFromRestItems","items","length","ownXmpp","String","getState","chatSettingStore","user","xmppUsername","appId","includes","split","members","item","list","Array","isArray","m","entry","firstName","lastName","_id","role","ban_status","last_active","jid","name","keys","Set","add","forEach","k","Object","dispatch","dispatchRoomsFromRestItems","config","host","xmppSettings","conference","replace","baseUrl","exec","undefined","console","warn","room","id","title","usersCnt","participants","messages","isLoading","roomBg","icon","picture","createdAt","updatedAt","muted","description","type","roomMembers","map","roomData","GET_ROOMS_CACHE_MS","getRoomsInFlight","getRoomsInFlightToken","lastGetRoomsResponse","lastGetRoomsResponseAt","lastGetRoomsResponseToken","getRooms","token","now","Date","response","get","headers","Authorization","data","error","log","getRoomByName","chatName","Error","postRoom","post","result","postPrivateRoom","username","setRoomMuted","url","encodeURIComponent","put","delete","postReportRoom","category","text","postAddRoomMember","results","deleteRoomMember","roomId","deleteRoom","CALL_CREATE_TIMEOUT_MS","createChatCall","options","kind","timeout","code","test","message","clearRoomsRestCache"],"sourceRoot":"../../../../src","sources":["networking/api-requests/rooms.api.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["store","addRoom","mergeUsersSet","updateRoom","http","usableImage","value","url","trim","dispatchUsersSetFromRestItems","items","length","ownXmpp","String","getState","chatSettingStore","user","xmppUsername","appId","includes","split","known","rooms","usersSet","members","item","list","Array","isArray","m","before","_id","undefined","entry","firstName","lastName","profileImage","description","role","ban_status","last_active","jid","name","keys","Set","add","forEach","k","Object","dispatch","memberAccount","member","explicit","ownAppId","toRoomMembers","map","toE2eeMembers","filter","memberCount","usersCnt","participants","dispatchRoomsFromRestItems","config","host","xmppSettings","conference","replace","baseUrl","exec","console","warn","preview","keep","fresh","existing","room","id","title","messages","isLoading","roomBg","icon","picture","createdAt","updatedAt","muted","type","e2ee","roomMembers","roomData","ROOM_MEMBERS_TTL_MS","roomMembersLoads","Map","loadRoomMembers","roomJid","Promise","resolve","Number","running","get","Date","now","at","done","response","getRoomByName","result","current","updates","Math","max","error","delete","set","GET_ROOMS_CACHE_MS","getRoomsInFlight","getRoomsInFlightToken","lastGetRoomsResponse","lastGetRoomsResponseAt","lastGetRoomsResponseToken","getRooms","token","headers","Authorization","data","log","chatName","Error","postRoom","post","postPrivateRoom","username","setRoomMuted","encodeURIComponent","put","postReportRoom","category","text","postAddRoomMember","results","deleteRoomMember","roomId","deleteRoom","CALL_CREATE_TIMEOUT_MS","createChatCall","options","kind","timeout","code","test","message","clearRoomsRestCache","clear"],"sourceRoot":"../../../../src","sources":["networking/api-requests/rooms.api.ts"],"mappings":";;AACA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASC,OAAO,EAAEC,aAAa,EAAEC,UAAU,QAAQ,4BAA4B;AAE/E,OAAOC,IAAI,MAAM,cAAc;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,WAAW,GAAIC,KAAc,IAAa;EAC9C,MAAMC,GAAG,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACE,IAAI,CAAC,CAAC,GAAG,EAAE;EACzD,OAAOD,GAAG,IAAIA,GAAG,KAAK,MAAM,GAAGA,GAAG,GAAG,EAAE;AACzC,CAAC;AAED,SAASE,6BAA6BA,CAACC,KAAgB,EAAQ;EAC7D,IAAI,CAACA,KAAK,EAAEC,MAAM,EAAE;IAAC;EAAO;EAC5B,MAAMC,OAAO,GAAGC,MAAM,CACpBb,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,IAAI,EAC3D,CAAC;EACD,MAAMC,KAAK,GAAGN,OAAO,CAACO,QAAQ,CAAC,GAAG,CAAC,GAAGP,OAAO,CAACQ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;EAEhE,MAAMC,KAAK,GAAIrB,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACQ,KAAK,EAAEC,QAAQ,IAAI,CAAC,CAAgC;EACpF,MAAMC,OAAmC,GAAG,CAAC,CAAC;EAC9C,KAAK,MAAMC,IAAI,IAAIf,KAAK,EAAE;IACxB,MAAMgB,IAAI,GAAGC,KAAK,CAACC,OAAO,CAAEH,IAAI,EAAUD,OAAO,CAAC,GAAIC,IAAI,CAASD,OAAO,GAAG,EAAE;IAC/E,KAAK,MAAMK,CAAC,IAAIH,IAAI,EAAE;MACpB,IAAI,CAACG,CAAC,EAAE;QAAC;MAAS;MAClB,MAAMC,MAA8B,GACjCD,CAAC,CAACE,GAAG,KAAKP,OAAO,CAACK,CAAC,CAACE,GAAG,CAAC,IAAIV,KAAK,CAACQ,CAAC,CAACE,GAAG,CAAC,CAAC,IAAKC,SAAS;MAC1D,MAAMC,KAAiB,GAAG;QACxBC,SAAS,EAAEL,CAAC,CAACK,SAAS,IAAIJ,MAAM,EAAEI,SAAS,IAAI,EAAE;QACjDC,QAAQ,EAAEN,CAAC,CAACM,QAAQ,IAAIL,MAAM,EAAEK,QAAQ,IAAI,EAAE;QAC9ClB,YAAY,EAAEY,CAAC,CAACZ,YAAY,KAAKC,KAAK,IAAIW,CAAC,CAACE,GAAG,GAAG,GAAGb,KAAK,IAAIW,CAAC,CAACE,GAAG,EAAE,GAAGF,CAAC,CAACE,GAAG,IAAI,EAAE,CAAC;QACpFA,GAAG,EAAEF,CAAC,CAACE,GAAG,IAAI,EAAE;QAChBK,YAAY,EACVP,CAAC,CAACO,YAAY,KAAKJ,SAAS,GACxB3B,WAAW,CAACwB,CAAC,CAACO,YAAY,CAAC,GAC3BN,MAAM,EAAEM,YAAY,IAAI,EAAE;QAChCC,WAAW,EAAER,CAAC,CAACQ,WAAW,IAAIP,MAAM,EAAEO,WAAW;QACjDC,IAAI,EAAET,CAAC,CAACS,IAAI;QACZC,UAAU,EAAEV,CAAC,CAACU,UAAU;QACxBC,WAAW,EAAEX,CAAC,CAACW,WAAW;QAC1BC,GAAG,EAAEZ,CAAC,CAACY,GAAG;QACVC,IAAI,EAAEb,CAAC,CAACa;MACV,CAAe;MAEf,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAAS,CAAC;MAC9B,IAAI1B,KAAK,IAAIW,CAAC,CAACE,GAAG,EAAE;QAACY,IAAI,CAACE,GAAG,CAAC,GAAG3B,KAAK,IAAIW,CAAC,CAACE,GAAG,EAAE,CAAC;MAAC;MACnD,IAAIF,CAAC,CAACE,GAAG,EAAE;QAACY,IAAI,CAACE,GAAG,CAAChB,CAAC,CAACE,GAAG,CAAC;MAAC;MAC5B,IAAIF,CAAC,CAACZ,YAAY,EAAE;QAClB0B,IAAI,CAACE,GAAG,CAAChB,CAAC,CAACZ,YAAY,CAAC;QACxB0B,IAAI,CAACE,GAAG,CAAChC,MAAM,CAACgB,CAAC,CAACZ,YAAY,CAAC,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MAChD;MACAuB,IAAI,CAACG,OAAO,CAAEC,CAAC,IAAK;QAClB,IAAIA,CAAC,EAAE;UAACvB,OAAO,CAACuB,CAAC,CAAC,GAAGd,KAAK;QAAC;MAC7B,CAAC,CAAC;IACJ;EACF;EAEA,IAAIe,MAAM,CAACL,IAAI,CAACnB,OAAO,CAAC,CAACb,MAAM,GAAG,CAAC,EAAE;IACnCX,KAAK,CAACiD,QAAQ,CAAC/C,aAAa,CAAC;MAAEsB;IAAQ,CAAC,CAAC,CAAC;EAC5C;AACF;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS0B,aAAaA,CAACC,MAAW,EAAEjC,KAAa,EAAU;EAChE,MAAMkC,QAAQ,GAAGvC,MAAM,CAACsC,MAAM,EAAElC,YAAY,IAAI,EAAE,CAAC,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EACjE,IAAIgC,QAAQ,EAAE;IAAC,OAAOA,QAAQ;EAAC;EAC/B,OAAOlC,KAAK,IAAIiC,MAAM,EAAEpB,GAAG,GAAG,GAAGb,KAAK,IAAIiC,MAAM,CAACpB,GAAG,EAAE,GAAG,EAAE;AAC7D;AAEA,OAAO,SAASsB,QAAQA,CAAA,EAAW;EACjC,MAAMzC,OAAO,GAAGC,MAAM,CACpBb,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,IAAI,EAC3D,CAAC;EACD,OAAOL,OAAO,CAACO,QAAQ,CAAC,GAAG,CAAC,GAAGP,OAAO,CAACQ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAI,EAAE;AAC5D;AAEA,MAAMkC,aAAa,GAAI9B,OAA0B,IAAmB;EAClE,MAAMH,KAAK,GAAIrB,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACQ,KAAK,EAAEC,QAAQ,IAAI,CAAC,CAAgC;EACpF,OAAO,CAACC,OAAO,IAAI,EAAE,EAAE+B,GAAG,CAAE1B,CAAM,KAAM;IACtCK,SAAS,EAAEL,CAAC,CAACK,SAAS;IACtBC,QAAQ,EAAEN,CAAC,CAACM,QAAQ;IACpBC,YAAY,EACVP,CAAC,CAACO,YAAY,KAAKJ,SAAS,GACxB3B,WAAW,CAACwB,CAAC,CAACO,YAAY,CAAC,GAC3Bf,KAAK,CAACQ,CAAC,CAACE,GAAG,CAAC,EAAEK,YAAY,IAAI,EAAE;IACtCnB,YAAY,EAAEY,CAAC,CAACE,GAAG,IAAI,EAAE;IACzBO,IAAI,EAAET,CAAC,CAACS,IAAI;IACZC,UAAU,EAAEV,CAAC,CAACU,UAAU;IACxBC,WAAW,EAAEX,CAAC,CAACW,WAAW;IAC1BC,GAAG,EAAEZ,CAAC,CAACY,GAAG,IAAI;EAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAMe,aAAa,GAAGA,CAAChC,OAA0B,EAAEN,KAAa,KAC9D,CAACM,OAAO,IAAI,EAAE,EACX+B,GAAG,CAAE1B,CAAM,KAAM;EAChBE,GAAG,EAAEF,CAAC,CAACE,GAAG,IAAI,EAAE;EAChBG,SAAS,EAAEL,CAAC,CAACK,SAAS,IAAI,EAAE;EAC5BC,QAAQ,EAAEN,CAAC,CAACM,QAAQ,IAAI,EAAE;EAC1BlB,YAAY,EAAEiC,aAAa,CAACrB,CAAC,EAAEX,KAAK;AACtC,CAAC,CAAC,CAAC,CACFuC,MAAM,CAAE5B,CAAC,IAAKA,CAAC,CAACZ,YAAY,CAAiB;AAElD,MAAMyC,WAAW,GAAIjC,IAAa,IAChCA,IAAI,CAACkC,QAAQ,IAAIlC,IAAI,CAACmC,YAAY,IAAInC,IAAI,CAACD,OAAO,EAAEb,MAAM,IAAI,CAAC;AAEjE,SAASkD,0BAA0BA,CAACnD,KAAgB,EAAQ;EAC1D,IAAI,CAACA,KAAK,EAAEC,MAAM,EAAE;EACpB,MAAMmD,MAAM,GAAG9D,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,EAAE+C,MAAa;EAC/D,MAAM5C,KAAK,GAAGmC,QAAQ,CAAC,CAAC;EACxB;EACA,IAAIU,IAAwB,GAC1BD,MAAM,EAAEE,YAAY,EAAED,IAAI,IAC1BD,MAAM,EAAEE,YAAY,EAAEC,UAAU,EAAEC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;EAChE;EACA;EACA;EACA,IAAI,CAACH,IAAI,IAAI,OAAOD,MAAM,EAAEK,OAAO,KAAK,QAAQ,EAAE;IAChD,MAAMtC,CAAC,GAAG,gCAAgC,CAACuC,IAAI,CAACN,MAAM,CAACK,OAAO,CAAC;IAC/D,IAAItC,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,EAAE;MAACkC,IAAI,GAAG,QAAQlC,CAAC,CAAC,CAAC,CAAC,CAACqC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;IAAC;EAC9D;EACA,MAAMD,UAAU,GAAGH,MAAM,EAAEE,YAAY,EAAEC,UAAU,KAC7CF,IAAI,GAAG,cAAcA,IAAI,EAAE,GAAG/B,SAAS,CAAC;EAE9C,KAAK,MAAMP,IAAI,IAAIf,KAAK,EAAE;IACxB,IAAI,CAACe,IAAI,EAAE;IACX,IAAIgB,GAAG,GAAGhB,IAAI,CAACgB,GAAG;IAClB,IAAI,CAACA,GAAG,EAAE;MACR,IAAI,CAACwB,UAAU,EAAE;QACf;QACA;QACA;QACAI,OAAO,CAACC,IAAI,CACV,yCAAyC7C,IAAI,CAACiB,IAAI,wEACpD,CAAC;QACD;MACF;MACAD,GAAG,GAAG,GAAGhB,IAAI,CAACiB,IAAI,IAAIuB,UAAU,EAAE;IACpC;IACA,IAAI,CAACxB,GAAG,CAACtB,QAAQ,CAAC,GAAG,CAAC,EAAE;IACxB,MAAME,KAAK,GAAGrB,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACQ,KAAK,CAACA,KAAK,GAAGmB,GAAG,CAAC;IACjD,MAAM8B,OAAO,GAAG,CAAC9C,IAAI,CAACD,OAAO,EAAEb,MAAM,IAAI,CAAC,IAAI+C,WAAW,CAACjC,IAAI,CAAC;IAC/D,MAAM+C,IAAI,GAAGA,CAAKC,KAAU,EAAEC,QAAyB,KACrDH,OAAO,IAAI,CAACG,QAAQ,EAAE/D,MAAM,IAAI,CAAC,IAAI8D,KAAK,CAAC9D,MAAM,GAAG+D,QAAQ,GAAID,KAAK;IACvE,MAAME,IAAW,GAAG;MAClBC,EAAE,EAAEnD,IAAI,CAACM,GAAG,IAAIU,GAAG;MACnBA,GAAG;MACHC,IAAI,EAAEjB,IAAI,CAACiB,IAAI;MACfmC,KAAK,EAAEpD,IAAI,CAACoD,KAAK,IAAIpD,IAAI,CAACiB,IAAI;MAC9BiB,QAAQ,EAAED,WAAW,CAACjC,IAAI,CAAC;MAC3BqD,QAAQ,EAAE,EAAE;MACZC,SAAS,EAAE,KAAK;MAChBC,MAAM,EAAE,EAAE;MACVC,IAAI,EAAExD,IAAI,CAACyD,OAAO,IAAIzD,IAAI,CAACwD,IAAI;MAC/BE,SAAS,EAAE1D,IAAI,CAAC0D,SAAS;MACzBC,SAAS,EAAE3D,IAAI,CAAC2D,SAAS;MACzBC,KAAK,EAAE5D,IAAI,CAAC4D,KAAK,KAAK,IAAI;MAC1BhD,WAAW,EAAGZ,IAAI,CAASY,WAAW;MACtCiD,IAAI,EAAG7D,IAAI,CAAS6D,IAAI;MAExB,IAAI7D,IAAI,CAAC8D,IAAI,KAAK,IAAI,GAClB;QACEA,IAAI,EAAE,IAAI;QACV/D,OAAO,EAAEgD,IAAI,CAAChB,aAAa,CAAC/B,IAAI,CAACD,OAAO,EAAEN,KAAK,CAAC,EAAEG,KAAK,EAAEG,OAAO;MAClE,CAAC,GACD,CAAC,CAAC,CAAC;MACPgE,WAAW,EAAEhB,IAAI,CAAClB,aAAa,CAAC7B,IAAI,CAACD,OAAO,CAAC,EAAEH,KAAK,EAAEmE,WAAW;IACnE,CAAC;IACDxF,KAAK,CAACiD,QAAQ,CAAChD,OAAO,CAAC;MAAEwF,QAAQ,EAAEd;IAAK,CAAC,CAAC,CAAC;EAC7C;EACA;EACAlE,6BAA6B,CAACC,KAAK,CAAC;AACtC;AAEA,MAAMgF,mBAAmB,GAAG,CAAC,GAAG,MAAM;AACtC,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAiD,CAAC;AAElF,OAAO,SAASC,eAAeA,CAACC,OAAe,EAAoB;EACjE,MAAMrD,GAAG,GAAG5B,MAAM,CAACiF,OAAO,IAAI,EAAE,CAAC,CAAC1E,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE;EAChD,MAAMuD,IAAI,GAAG3E,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACQ,KAAK,CAACA,KAAK,GAAGmB,GAAG,CAAC;EAChD,IAAI,CAACkC,IAAI,EAAE;IAAC,OAAOoB,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC;EAAC;EAC1C,IAAI,CAACrB,IAAI,CAACa,WAAW,EAAE7E,MAAM,IAAI,CAAC,KAAKsF,MAAM,CAACtB,IAAI,CAAChB,QAAQ,IAAI,CAAC,CAAC,EAAE;IACjE,OAAOoC,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC;EAC/B;EACA,MAAME,OAAO,GAAGP,gBAAgB,CAACQ,GAAG,CAAC1D,GAAG,CAAC;EACzC,IAAIyD,OAAO,IAAIE,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGH,OAAO,CAACI,EAAE,GAAGZ,mBAAmB,EAAE;IAAC,OAAOQ,OAAO,CAACK,IAAI;EAAC;EAEnF,MAAMA,IAAI,GAAG,CAAC,YAAY;IACxB,IAAI;MACF,MAAMC,QAAa,GAAG,MAAMC,aAAa,CAAChE,GAAG,CAACrB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;MAC7D,MAAMK,IAAa,GAAG+E,QAAQ,EAAEE,MAAM,IAAIF,QAAQ;MAClD,MAAMhF,OAAO,GAAGG,KAAK,CAACC,OAAO,CAACH,IAAI,EAAED,OAAO,CAAC,GAAGC,IAAI,CAACD,OAAO,GAAG,EAAE;MAChE,IAAIA,OAAO,CAACb,MAAM,KAAK,CAAC,EAAE;QAAC,OAAO,KAAK;MAAC;MACxCF,6BAA6B,CAAC,CAACgB,IAAI,CAAC,CAAC;MACrC,MAAMkF,OAAO,GAAG3G,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACQ,KAAK,CAACA,KAAK,GAAGmB,GAAG,CAAC;MACnD,IAAI,CAACkE,OAAO,EAAE;QAAC,OAAO,KAAK;MAAC;MAC5B3G,KAAK,CAACiD,QAAQ,CACZ9C,UAAU,CAAC;QACTsC,GAAG;QACHmE,OAAO,EAAE;UACPpB,WAAW,EAAElC,aAAa,CAAC9B,OAAO,CAAC;UACnCmC,QAAQ,EAAEkD,IAAI,CAACC,GAAG,CAACpD,WAAW,CAACjC,IAAI,CAAC,EAAED,OAAO,CAACb,MAAM,CAAC;UACrD,IAAIgG,OAAO,CAACpB,IAAI,GACZ;YAAE/D,OAAO,EAAEgC,aAAa,CAAChC,OAAO,EAAE6B,QAAQ,CAAC,CAAC;UAAE,CAAC,GAC/C,CAAC,CAAC;QACR;MACF,CAAC,CACH,CAAC;MACD,OAAO,IAAI;IACb,CAAC,CAAC,OAAO0D,KAAK,EAAE;MACdpB,gBAAgB,CAACqB,MAAM,CAACvE,GAAG,CAAC;MAC5B4B,OAAO,CAACC,IAAI,CAAC,oDAAoD,EAAE7B,GAAG,EAAEsE,KAAK,CAAC;MAC9E,OAAO,KAAK;IACd;EACF,CAAC,EAAE,CAAC;EACJpB,gBAAgB,CAACsB,GAAG,CAACxE,GAAG,EAAE;IAAE6D,EAAE,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC;IAAEE;EAAK,CAAC,CAAC;EACnD,OAAOA,IAAI;AACb;AAEA,MAAMW,kBAAkB,GAAG,MAAM;AACjC,IAAIC,gBAAsD,GAAG,IAAI;AACjE,IAAIC,qBAAqB,GAAG,EAAE;AAC9B,IAAIC,oBAAiD,GAAG,IAAI;AAC5D,IAAIC,sBAAsB,GAAG,CAAC;AAC9B,IAAIC,yBAAyB,GAAG,EAAE;;AAElC;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,QAAQA,CAAA,EAAkC;EAC9D,MAAMC,KAAK,GAAGzH,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,CAACyG,KAAK,IAAI,EAAE;EAChE,MAAMpB,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;EAEtB,IACEgB,oBAAoB,IACpBE,yBAAyB,KAAKE,KAAK,IACnCpB,GAAG,GAAGiB,sBAAsB,GAAGJ,kBAAkB,EACjD;IACA,OAAOG,oBAAoB;EAC7B;EAEA,IAAIF,gBAAgB,IAAIC,qBAAqB,KAAKK,KAAK,EAAE;IACvD,OAAON,gBAAgB;EACzB;EAEAC,qBAAqB,GAAGK,KAAK;EAC7BN,gBAAgB,GAAG,CAAC,YAAY;IAC9B,MAAMX,QAAQ,GAAG,MAAMpG,IAAI,CAAC+F,GAAG,CAAC,cAAc,EAAE;MAC9CuB,OAAO,EAAE;QAAEC,aAAa,EAAEF;MAAM;IAClC,CAAC,CAAC;IACFJ,oBAAoB,GAAGb,QAAQ,CAACoB,IAAI;IACpCN,sBAAsB,GAAGlB,IAAI,CAACC,GAAG,CAAC,CAAC;IACnCkB,yBAAyB,GAAGE,KAAK;IACjC5D,0BAA0B,CAAC2C,QAAQ,CAACoB,IAAI,EAAElH,KAAK,IAAI,EAAE,CAAC;IACtD,OAAO8F,QAAQ,CAACoB,IAAI;EACtB,CAAC,EAAE,CAAC;EAEJ,IAAI;IACF,OAAO,MAAMT,gBAAgB;EAC/B,CAAC,CAAC,OAAOJ,KAAK,EAAE;IACd1C,OAAO,CAACwD,GAAG,CAAC,8BAA8B,EAAEd,KAAK,CAAC;IAClD,OAAO;MAAErG,KAAK,EAAE;IAAG,CAAC;EACtB,CAAC,SAAS;IACRyG,gBAAgB,GAAG,IAAI;IACvBC,qBAAqB,GAAG,EAAE;EAC5B;AACF;AAEA,OAAO,eAAeX,aAAaA,CAACqB,QAAgB,EAAoB;EACtE,MAAML,KAAK,GAAGzH,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,CAACyG,KAAK,IAAI,EAAE;EAEhE,IAAI;IACF,MAAMjB,QAAQ,GAAG,MAAMpG,IAAI,CAAC+F,GAAG,CAAC,gBAAgB2B,QAAQ,EAAE,EAAE;MAC1DJ,OAAO,EAAE;QACPC,aAAa,EAAEF;MACjB;IACF,CAAC,CAAC;IACF,OAAOjB,QAAQ,CAACoB,IAAI;EACtB,CAAC,CAAC,OAAOb,KAAK,EAAE;IACd,MAAM,IAAIgB,KAAK,CAAC,wBAAwB,CAAC;EAC3C;AACF;AAEA,OAAO,eAAeC,QAAQA,CAACJ,IAAc,EAAE;EAC7C,MAAMH,KAAK,GAAGzH,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,CAACyG,KAAK,IAAI,EAAE;EAEhE,IAAI;IACF,MAAMjB,QAAQ,GAAG,MAAMpG,IAAI,CAAC6H,IAAI,CAAC,WAAW,EAAEL,IAAI,EAAE;MAClDF,OAAO,EAAE;QACPC,aAAa,EAAEF;MACjB;IACF,CAAC,CAAC;IACF,OAAOjB,QAAQ,CAACoB,IAAI,CAAClB,MAAM;EAC7B,CAAC,CAAC,OAAOK,KAAK,EAAE;IACd,MAAM,IAAIgB,KAAK,CAAC,wBAAwB,CAAC;EAC3C;AACF;AAEA,OAAO,eAAeG,eAAeA,CACnCC,QAAgB,EAChB5C,IAAa,GAAG,KAAK,EACH;EAClB,MAAMkC,KAAK,GAAGzH,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,CAACyG,KAAK,IAAI,EAAE;EAEhE,IAAI;IACF,MAAMjB,QAAQ,GAAG,MAAMpG,IAAI,CAAC6H,IAAI,CAC9B,mBAAmB,EACnB1C,IAAI,KAAK,IAAI,GAAG;MAAE4C,QAAQ;MAAE5C,IAAI,EAAE;IAAK,CAAC,GAAG;MAAE4C;IAAS,CAAC,EACvD;MACET,OAAO,EAAE;QACPC,aAAa,EAAEF;MACjB;IACF,CACF,CAAC;IACD,OAAOjB,QAAQ,CAACoB,IAAI,CAAClB,MAAM;EAC7B,CAAC,CAAC,OAAOK,KAAK,EAAE;IACd,MAAM,IAAIgB,KAAK,CAAC,wBAAwB,CAAC;EAC3C;AACF;AAEA,OAAO,eAAeK,YAAYA,CAACN,QAAgB,EAAEzC,KAAc,EAAoB;EACrF,MAAMoC,KAAK,GAAGzH,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,CAACyG,KAAK,IAAI,EAAE;EAChE,MAAMlH,GAAG,GAAG,gBAAgB8H,kBAAkB,CAACP,QAAQ,CAAC,OAAO;EAC/D,MAAMhE,MAAM,GAAG;IAAE4D,OAAO,EAAE;MAAEC,aAAa,EAAEF;IAAM;EAAE,CAAC;EACpD,MAAMjB,QAAQ,GAAGnB,KAAK,GAAG,MAAMjF,IAAI,CAACkI,GAAG,CAAC/H,GAAG,EAAE,CAAC,CAAC,EAAEuD,MAAM,CAAC,GAAG,MAAM1D,IAAI,CAAC4G,MAAM,CAACzG,GAAG,EAAEuD,MAAM,CAAC;EACzF,OAAO0C,QAAQ,CAACoB,IAAI,EAAElB,MAAM,EAAErB,KAAK,IAAIA,KAAK;AAC9C;AAEA,OAAO,eAAekD,cAAcA,CAACX,IAAoB,EAAE;EACzD,MAAM;IAAEE,QAAQ;IAAEU,QAAQ;IAAEC;EAAK,CAAC,GAAGb,IAAI;EACzC,MAAMH,KAAK,GAAGzH,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,CAACyG,KAAK,IAAI,EAAE;EAEhE,IAAI;IACF,MAAMjB,QAAQ,GAAG,MAAMpG,IAAI,CAAC6H,IAAI,CAC9B,qBAAqBH,QAAQ,EAAE,EAC/B;MAAEU,QAAQ;MAAEC;IAAK,CAAC,EAClB;MACEf,OAAO,EAAE;QACPC,aAAa,EAAEF;MACjB;IACF,CACF,CAAC;IACD,OAAOjB,QAAQ,CAACoB,IAAI,CAAClB,MAAM;EAC7B,CAAC,CAAC,OAAOK,KAAK,EAAE;IACd,MAAM,IAAIgB,KAAK,CAAC,wBAAwB,CAAC;EAC3C;AACF;AAEA,OAAO,eAAeW,iBAAiBA,CACrCd,IAAuB,EACA;EACvB,MAAM;IAAEE,QAAQ;IAAEtG;EAAQ,CAAC,GAAGoG,IAAI;EAClC,MAAMH,KAAK,GAAGzH,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,CAACyG,KAAK,IAAI,EAAE;EAEhE,IAAI;IACF,MAAMjB,QAAQ,GAAG,MAAMpG,IAAI,CAAC6H,IAAI,CAC9B,wBAAwB,EACxB;MAAEH,QAAQ;MAAEtG;IAAQ,CAAC,EACrB;MACEkG,OAAO,EAAE;QACPC,aAAa,EAAEF;MACjB;IACF,CACF,CAAC;IACD,OAAOjB,QAAQ,EAAEoB,IAAI,EAAEe,OAAO,IAAI,EAAE;EACtC,CAAC,CAAC,OAAO5B,KAAK,EAAE;IACd,MAAM,IAAIgB,KAAK,CAAC,wBAAwB,CAAC;EAC3C;AACF;AAEA,OAAO,eAAea,gBAAgBA,CAAChB,IAAsB,EAAE;EAC7D,MAAM;IAAEiB,MAAM;IAAErH;EAAQ,CAAC,GAAGoG,IAAI;EAChC,MAAMH,KAAK,GAAGzH,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,CAACyG,KAAK,IAAI,EAAE;EAEhE,IAAI;IACF,MAAMjB,QAAQ,GAAG,MAAMpG,IAAI,CAAC4G,MAAM,CAAC,wBAAwB,EAAE;MAC3DU,OAAO,EAAE;QACPC,aAAa,EAAEF;MACjB,CAAC;MACDG,IAAI,EAAE;QACJE,QAAQ,EAAEe,MAAM;QAChBrH;MACF;IACF,CAAC,CAAC;IACF,OAAOgF,QAAQ,CAACoB,IAAI,CAAClB,MAAM;EAC7B,CAAC,CAAC,OAAOK,KAAK,EAAE;IACd,MAAM,IAAIgB,KAAK,CAAC,wBAAwB,CAAC;EAC3C;AACF;AAEA,OAAO,eAAee,UAAUA,CAACpG,IAAY,EAAE;EAC7C,MAAM+E,KAAK,GAAGzH,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,CAACyG,KAAK,IAAI,EAAE;EAEhE,IAAI;IACF,MAAMjB,QAAQ,GAAG,MAAMpG,IAAI,CAAC4G,MAAM,CAAC,WAAW,EAAE;MAC9CU,OAAO,EAAE;QACPC,aAAa,EAAEF;MACjB,CAAC;MACDG,IAAI,EAAE;QAAElF;MAAK;IACf,CAAC,CAAC;IACF,OAAO8D,QAAQ,CAACoB,IAAI,CAAClB,MAAM;EAC7B,CAAC,CAAC,OAAOK,KAAK,EAAE;IACd,MAAM,IAAIgB,KAAK,CAAC,qBAAqB,CAAC;EACxC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMgB,sBAAsB,GAAG,KAAK;AAEpC,OAAO,eAAeC,cAAcA,CAClClB,QAAgB,EAChBmB,OAAsC,EACvB;EACf,MAAMxB,KAAK,GAAGzH,KAAK,CAACc,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,CAACyG,KAAK,IAAI,EAAE;EAChE,MAAMyB,IAAI,GAAGD,OAAO,EAAEC,IAAI,IAAI,OAAO;EAErC,IAAI;IACF,MAAM9I,IAAI,CAAC6H,IAAI,CACb,yBAAyBH,QAAQ,EAAE,EACnC;MAAEoB;IAAK,CAAC,EACR;MACExB,OAAO,EAAE;QACPC,aAAa,EAAEF;MACjB,CAAC;MACD0B,OAAO,EAAEJ;IACX,CACF,CAAC;EACH,CAAC,CAAC,OAAOhC,KAAU,EAAE;IACnB;IACA;IACA;IACA;IACA,IAAIA,KAAK,EAAEqC,IAAI,KAAK,cAAc,IAAI,UAAU,CAACC,IAAI,CAACxI,MAAM,CAACkG,KAAK,EAAEuC,OAAO,CAAC,CAAC,EAAE;MAC7E,MAAM,IAAIvB,KAAK,CAAC,8DAA8D,CAAC;IACjF;IACA,MAAM,IAAIA,KAAK,CAAC,0BAA0B,CAAC;EAC7C;AACF;AAEA,OAAO,SAASwB,mBAAmBA,CAAA,EAAG;EACpC5D,gBAAgB,CAAC6D,KAAK,CAAC,CAAC;EACxBnC,oBAAoB,GAAG,IAAI;EAC3BC,sBAAsB,GAAG,CAAC;EAC1BC,yBAAyB,GAAG,EAAE;AAChC","ignoreList":[]}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import { store } from '../roomStore';
4
- import { addRoom, addRoomMessage, deleteRoomMessage, editRoomMessage, setComposing, setCurrentRoom, setRoomRole } from '../roomStore/roomsSlice';
4
+ import { claimMamResult, collectMamMessage, collectMamReaction } from './xmpp/mamRouter';
5
+ import { extractReaction } from '../helpers/mamReactions';
6
+ import { addRooms, addRoomMessage, deleteRoomMessage, editRoomMessage, setComposing, setCurrentRoom, setRoomRole, setReactions } from '../roomStore/roomsSlice';
5
7
  import { createMessageFromXml } from '../helpers/createMessageFromXml';
6
8
  import { getDataFromXml } from '../helpers/getDataFromXml';
7
9
  import { setDeleteModal } from '../roomStore/chatSettingsSlice';
@@ -19,15 +21,13 @@ import { translateKey } from '../i18n/strings';
19
21
 
20
22
  //core default
21
23
  const onRealtimeMessage = async stanza => {
22
- if (!stanza?.getChild('result') && !stanza.getChild('composing') && !stanza.getChild('paused') && !stanza.getChild('subject') && !stanza.is('iq') && stanza.attrs.id !== 'deleteMessageStanza') {
24
+ if (!stanza?.getChild('result') && !stanza.getChild('composing') && !stanza.getChild('paused') && !stanza.getChild('subject') && !stanza.is('iq') && stanza.attrs.id !== 'deleteMessageStanza' && !stanza.getChild('reactions')) {
23
25
  const body = stanza?.getChild('body');
24
26
  const archived = stanza?.getChild('archived');
25
27
  const data = stanza?.getChild('data');
26
28
  const id = archived?.attrs.id;
27
29
  const deleted = stanza.getChild('result')?.getChild('forwarded')?.getChild('message')?.getChild('deleted');
28
30
  if (!data) {
29
- console.log(stanza.toString());
30
- console.log('Missing data elements in real-time message.');
31
31
  return;
32
32
  }
33
33
 
@@ -45,8 +45,6 @@ const onRealtimeMessage = async stanza => {
45
45
  // to the same tolerance.
46
46
  const senderJID = data.attrs.senderJID || stanza.attrs.from;
47
47
  if (!senderJID) {
48
- console.log(stanza.toString());
49
- console.log('Missing sender information in real-time message.');
50
48
  return;
51
49
  }
52
50
 
@@ -148,8 +146,24 @@ const onEditMessage = async stanza => {
148
146
  }));
149
147
  }
150
148
  };
151
- const onMessageHistory = async stanza => {
152
- if (stanza.is('message') && stanza.children[0].attrs.xmlns === 'urn:xmpp:mam:2') {
149
+ const isMamResult = stanza => !!stanza?.is?.('message') && stanza.children?.[0]?.attrs?.xmlns === 'urn:xmpp:mam:2';
150
+ const parseMamResult = async stanza => {
151
+ {
152
+ const forwardedMsg = stanza.getChild('result')?.getChild('forwarded')?.getChild('message');
153
+ if (forwardedMsg?.getChild?.('reactions')) {
154
+ const reaction = extractReaction(forwardedMsg, stanza.attrs?.from, stanza.getChild('result')?.attrs?.id);
155
+ if (reaction && !collectMamReaction(stanza, reaction)) {
156
+ store.dispatch(setReactions({
157
+ roomJID: reaction.roomJID,
158
+ messageId: reaction.messageId,
159
+ from: reaction.from,
160
+ reactions: reaction.emoji,
161
+ data: reaction.data,
162
+ latestReactionTimestamp: reaction.ts
163
+ }));
164
+ }
165
+ return undefined;
166
+ }
153
167
  // console.log("stanza -->", stanza.toString());
154
168
  const body = stanza.getChild('result')?.getChild('forwarded')?.getChild('message')?.getChild('body');
155
169
  const data = stanza.getChild('result')?.getChild('forwarded')?.getChild('message')?.getChild('data');
@@ -158,11 +172,9 @@ const onMessageHistory = async stanza => {
158
172
  const id = stanza.getChild('result')?.attrs.id;
159
173
  if (!delay) {
160
174
  if (stanza.getChild('subject')) {
161
- console.log('Subject.');
162
175
  return;
163
176
  }
164
177
  if (!data || !body || !id) {
165
- console.log('Missing required elements in message history.');
166
178
  return;
167
179
  }
168
180
  }
@@ -232,6 +244,23 @@ const onMessageHistory = async stanza => {
232
244
  // Same call-log transform as the realtime path, applied to archived
233
245
  // history so calls received while offline still render as log entries.
234
246
  const message = transformCallLogMessage(rawMessage, store.getState().chatSettingStore.user?.xmppUsername || '');
247
+ return message;
248
+ }
249
+ };
250
+ const onMessageHistory = async stanza => {
251
+ if (!isMamResult(stanza)) {
252
+ return;
253
+ }
254
+ const claimed = claimMamResult(stanza);
255
+ let message;
256
+ try {
257
+ message = await parseMamResult(stanza);
258
+ } finally {
259
+ if (claimed) {
260
+ collectMamMessage(stanza, message);
261
+ }
262
+ }
263
+ if (!claimed && message) {
235
264
  store.dispatch(addRoomMessage({
236
265
  roomJID: stanza.attrs.from,
237
266
  message
@@ -275,10 +304,12 @@ const onPresenceInRoom = stanza => {
275
304
  if (typeof stanza.attrs.id === 'string' && stanza.attrs.id.startsWith('presenceInRoom') && !stanza.getChild('error')) {
276
305
  const roomJID = stanza.attrs.from.split('/')[0];
277
306
  const role = stanza?.children[1]?.children[0]?.attrs.role;
278
- store.dispatch(setRoomRole({
279
- chatJID: roomJID,
280
- role: role
281
- }));
307
+ if (role && store.getState().rooms.rooms?.[roomJID]?.role !== role) {
308
+ store.dispatch(setRoomRole({
309
+ chatJID: roomJID,
310
+ role: role
311
+ }));
312
+ }
282
313
  }
283
314
  };
284
315
  const onChatInvite = async (stanza, client) => {
@@ -331,45 +362,49 @@ const onNewRoomCreated = (stanza, xmpp) => {
331
362
  const onGetChatRooms = (stanza, xmpp) => {
332
363
  if (stanza.attrs.id === 'getUserRooms' && Array.isArray(stanza.getChild('query')?.children)) {
333
364
  const children = stanza.getChild('query')?.children || [];
334
- children.forEach(async result => {
335
- const currentChatRooms = store.getState().rooms.rooms;
336
- const isRoomAlreadyAdded = Object.values(currentChatRooms).some(element => element.jid === result?.attrs?.jid);
365
+ const known = store.getState().rooms.rooms;
366
+ const fresh = [];
367
+ const jids = [];
368
+ for (const result of children) {
337
369
  const jid = result?.attrs?.jid;
338
- if (!isRoomAlreadyAdded) {
339
- try {
340
- const roomData = {
341
- jid: jid || '',
342
- name: result?.attrs?.name || '',
343
- id: '',
344
- title: result?.attrs?.name || '',
345
- usersCnt: Number(result?.attrs?.users_cnt || 0),
346
- messages: [],
347
- isLoading: false,
348
- roomBg: result?.attrs?.room_background !== 'none' ? result?.attrs?.room_background : null,
349
- icon: result?.attrs?.room_thumbnail !== 'none' ? result?.attrs?.room_thumbnail : null,
350
- unreadMessages: 0,
351
- lastViewedTimestamp: 0
352
- };
353
- store.dispatch(addRoom({
354
- roomData: {
355
- ...roomData
356
- }
357
- }));
358
- if (!store.getState().rooms.activeRoomJID) {
359
- store.dispatch(setCurrentRoom({
360
- roomJID: roomData.jid
361
- }));
362
- }
363
- } catch (error) {}
370
+ if (!jid) {
371
+ continue;
364
372
  }
365
- if (jid) {
366
- try {
367
- xmpp.presenceInRoomStanza(jid);
368
- } catch (e) {
369
- console.warn('presenceInRoomStanza failed', jid, e);
370
- }
373
+ jids.push(jid);
374
+ if (known[jid]) {
375
+ continue;
371
376
  }
372
- });
377
+ fresh.push({
378
+ jid,
379
+ name: result?.attrs?.name || '',
380
+ id: '',
381
+ title: result?.attrs?.name || '',
382
+ usersCnt: Number(result?.attrs?.users_cnt || 0),
383
+ messages: [],
384
+ isLoading: false,
385
+ roomBg: result?.attrs?.room_background !== 'none' ? result?.attrs?.room_background : null,
386
+ icon: result?.attrs?.room_thumbnail !== 'none' ? result?.attrs?.room_thumbnail : null,
387
+ unreadMessages: 0,
388
+ lastViewedTimestamp: 0
389
+ });
390
+ }
391
+ if (fresh.length) {
392
+ store.dispatch(addRooms({
393
+ rooms: fresh
394
+ }));
395
+ if (!store.getState().rooms.activeRoomJID) {
396
+ store.dispatch(setCurrentRoom({
397
+ roomJID: fresh[0].jid
398
+ }));
399
+ }
400
+ }
401
+ for (const jid of jids) {
402
+ try {
403
+ xmpp.presenceInRoomStanza(jid);
404
+ } catch (e) {
405
+ console.warn('presenceInRoomStanza failed', jid, e);
406
+ }
407
+ }
373
408
  }
374
409
  };
375
410
 
@@ -377,7 +412,28 @@ const onGetChatRooms = (stanza, xmpp) => {
377
412
  // RN side hasn't ported yet. Without these the bundle compiles but
378
413
  // require() returns undefined at runtime → "X is not a function".
379
414
  const onMessageError = (_stanza, _xmpp) => {};
380
- const onReactionMessage = _stanza => {};
415
+ /** A live reaction: the reactor's full current list on one message. */
416
+ const onReactionMessage = stanza => {
417
+ if (!stanza?.is?.('message') || stanza.getChild('result')) {
418
+ return;
419
+ }
420
+ if (!stanza.getChild('reactions')) {
421
+ return;
422
+ }
423
+ const reaction = extractReaction(stanza, stanza.attrs?.from);
424
+ if (!reaction) {
425
+ return;
426
+ }
427
+ store.dispatch(setReactions({
428
+ roomJID: reaction.roomJID,
429
+ messageId: reaction.messageId,
430
+ latestReactionTimestamp: reaction.ts,
431
+ reactions: reaction.emoji,
432
+ from: reaction.from,
433
+ data: reaction.data
434
+ }));
435
+ };
436
+ // Archived reactions are handled by parseMamResult + the MAM router.
381
437
  const onReactionHistory = _stanza => {};
382
438
  const onRoomKicked = _stanza => {};
383
439
  export { onRealtimeMessage, onMessageHistory, onPresenceInRoom, onGetLastMessageArchive, handleComposing, onGetChatRooms, onNewRoomCreated, onGetMembers, onGetRoomInfo, onDeleteMessage, onEditMessage, onChatInvite, onMessageError, onReactionMessage, onReactionHistory, onRoomKicked };
@@ -1 +1 @@
1
- {"version":3,"names":["store","addRoom","addRoomMessage","deleteRoomMessage","editRoomMessage","setComposing","setCurrentRoom","setRoomRole","createMessageFromXml","getDataFromXml","setDeleteModal","messageNotificationManager","transformCallLogMessage","translateKey","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","console","log","toString","senderJID","from","parsed","pData","pId","pBody","pRest","mergedData","rawMessage","isDeleted","message","getState","chatSettingStore","user","xmppUsername","roomJID","split","dispatch","state","currentUserWallet","walletAddress","toLowerCase","senderJIDLower","String","includes","room","rooms","roomName","title","name","locale","config","i18n","langSource","overrides","strings","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","showNotification","err","warn","onDeleteMessage","stanzaId","by","messageId","isDeleteModal","onEditMessage","replace","text","onMessageHistory","children","xmlns","delay","forwardedMessage","innerFrom","mergedAttrs","xmppId","positionalMessage","parsedFull","catch","undefined","translations","handleComposing","currentUser","composingUser","norm","s","senderLocal","selfUser","selfXmppUsername","selfWallet","isSelf","chatJID","composingList","push","fullName","pop","composing","onPresenceInRoom","startsWith","role","onChatInvite","client","type","chatId","xEls","getChildren","el","child","chat","presenceInRoomStanza","getRoomsStanza","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","onGetChatRooms","Array","isArray","forEach","result","currentChatRooms","isRoomAlreadyAdded","Object","values","some","element","jid","roomData","usersCnt","Number","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","activeRoomJID","error","e","onMessageError","_stanza","onReactionMessage","onReactionHistory","onRoomKicked"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["store","claimMamResult","collectMamMessage","collectMamReaction","extractReaction","addRooms","addRoomMessage","deleteRoomMessage","editRoomMessage","setComposing","setCurrentRoom","setRoomRole","setReactions","createMessageFromXml","getDataFromXml","setDeleteModal","messageNotificationManager","transformCallLogMessage","translateKey","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","senderJID","from","parsed","pData","pId","pBody","pRest","mergedData","rawMessage","isDeleted","message","getState","chatSettingStore","user","xmppUsername","roomJID","split","dispatch","state","currentUserWallet","walletAddress","toLowerCase","senderJIDLower","String","includes","room","rooms","roomName","title","name","locale","config","i18n","langSource","overrides","strings","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","showNotification","err","console","warn","onDeleteMessage","stanzaId","by","messageId","isDeleteModal","onEditMessage","replace","text","isMamResult","children","xmlns","parseMamResult","forwardedMsg","reaction","reactions","emoji","latestReactionTimestamp","ts","undefined","delay","forwardedMessage","innerFrom","mergedAttrs","xmppId","positionalMessage","parsedFull","catch","translations","onMessageHistory","claimed","handleComposing","currentUser","composingUser","norm","s","senderLocal","selfUser","selfXmppUsername","selfWallet","isSelf","chatJID","composingList","push","fullName","pop","composing","onPresenceInRoom","startsWith","role","onChatInvite","client","type","chatId","xEls","getChildren","el","child","chat","presenceInRoomStanza","getRoomsStanza","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","onGetChatRooms","Array","isArray","known","fresh","jids","result","jid","usersCnt","Number","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","length","activeRoomJID","e","onMessageError","_stanza","onReactionMessage","onReactionHistory","onRoomKicked"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}