@ethora/chat-component-rn 26.5.7 → 26.5.11

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 (417) hide show
  1. package/CHANGELOG.md +191 -0
  2. package/README.md +95 -10
  3. package/index.js +24 -0
  4. package/lib/commonjs/assets/icons.js +5 -1
  5. package/lib/commonjs/assets/icons.js.map +1 -1
  6. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +11 -5
  7. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  8. package/lib/commonjs/components/MainComponents/ChatHeader.js +31 -16
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js +78 -38
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js +74 -27
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  14. package/lib/commonjs/components/MainComponents/MediaMessage.js +16 -11
  15. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  16. package/lib/commonjs/components/MainComponents/MessageContainer.js +2 -2
  17. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  18. package/lib/commonjs/components/MainComponents/MessageList.js +165 -28
  19. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  20. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +17 -8
  21. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  22. package/lib/commonjs/components/MainComponents/SystemMessage.js +34 -22
  23. package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
  24. package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js +119 -0
  25. package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js.map +1 -0
  26. package/lib/commonjs/components/MessageBubble/Message.js +122 -41
  27. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  28. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +132 -44
  29. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  30. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +155 -52
  31. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  32. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
  33. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  34. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +104 -0
  35. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  36. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +144 -24
  37. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  38. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +29 -1
  39. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  40. package/lib/commonjs/components/Modals/Modal/Modal.js +5 -1
  41. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  42. package/lib/commonjs/components/Modals/ModalHeaderComponent.js +10 -0
  43. package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
  44. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +77 -47
  45. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  46. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  47. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  48. package/lib/commonjs/components/Modals/styledModalComponents.js +17 -13
  49. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  50. package/lib/commonjs/components/styled/MediaFilePreview.js +47 -28
  51. package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
  52. package/lib/commonjs/components/styled/MessageImage.js +49 -9
  53. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  54. package/lib/commonjs/components/styled/NewMessageLabel.js +8 -6
  55. package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
  56. package/lib/commonjs/components/styled/SendInput.js +49 -27
  57. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  58. package/lib/commonjs/components/styled/StyledComponents.js +6 -3
  59. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  60. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  61. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  62. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  63. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  64. package/lib/commonjs/components/styled/UnsupportedType.js +5 -1
  65. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  66. package/lib/commonjs/components/styled/VideoMessage.js +81 -16
  67. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  68. package/lib/commonjs/context/MessageNotificationContext.js +7 -7
  69. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  70. package/lib/commonjs/context/xmppProvider.js +244 -32
  71. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  72. package/lib/commonjs/helpers/chatAutoEnterer.js +2 -7
  73. package/lib/commonjs/helpers/chatAutoEnterer.js.map +1 -1
  74. package/lib/commonjs/helpers/historyPreloadScheduler.js +4 -1
  75. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  76. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +15 -5
  77. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  78. package/lib/commonjs/helpers/keyboardLayout.js +18 -0
  79. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -0
  80. package/lib/commonjs/helpers/mediaDimensions.js +51 -0
  81. package/lib/commonjs/helpers/mediaDimensions.js.map +1 -0
  82. package/lib/commonjs/helpers/mimeToExtension.js +56 -0
  83. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  84. package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
  85. package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
  86. package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
  87. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
  88. package/lib/commonjs/hooks/useHeapSender.js +1 -1
  89. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  90. package/lib/commonjs/hooks/useLogout.js +36 -11
  91. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  92. package/lib/commonjs/hooks/usePushNotifications.js +6 -2
  93. package/lib/commonjs/hooks/usePushNotifications.js.map +1 -1
  94. package/lib/commonjs/hooks/useRoomState.js +2 -0
  95. package/lib/commonjs/hooks/useRoomState.js.map +1 -1
  96. package/lib/commonjs/hooks/useSendMessage.js +201 -10
  97. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  98. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +12 -14
  99. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  100. package/lib/commonjs/main.js +7 -0
  101. package/lib/commonjs/main.js.map +1 -1
  102. package/lib/commonjs/networking/api-requests/auth.api.js +67 -0
  103. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  104. package/lib/commonjs/networking/api-requests/rooms.api.js +29 -4
  105. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  106. package/lib/commonjs/networking/apiClient.js +2 -1
  107. package/lib/commonjs/networking/apiClient.js.map +1 -1
  108. package/lib/commonjs/networking/outboundQueue.js +92 -0
  109. package/lib/commonjs/networking/outboundQueue.js.map +1 -0
  110. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  111. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  112. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  113. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  114. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  115. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  116. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  117. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  118. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  119. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  120. package/lib/commonjs/networking/xmppClient.js +294 -35
  121. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  122. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +22 -6
  123. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  124. package/lib/commonjs/roomStore/roomsSlice.js +157 -23
  125. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  126. package/lib/commonjs/utils/installPromiseRejectionTracker.js +83 -0
  127. package/lib/commonjs/utils/installPromiseRejectionTracker.js.map +1 -0
  128. package/lib/commonjs/utils/resendMessage.js +1 -1
  129. package/lib/commonjs/utils/resendMessage.js.map +1 -1
  130. package/lib/module/assets/icons.js +5 -1
  131. package/lib/module/assets/icons.js.map +1 -1
  132. package/lib/module/components/ContextMenu/ContextMenuComponents.js +11 -5
  133. package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  134. package/lib/module/components/MainComponents/ChatHeader.js +31 -16
  135. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  136. package/lib/module/components/MainComponents/ChatRoom.js +80 -40
  137. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  138. package/lib/module/components/MainComponents/ChatWrapper.js +74 -27
  139. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  140. package/lib/module/components/MainComponents/MediaMessage.js +17 -12
  141. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  142. package/lib/module/components/MainComponents/MessageContainer.js +2 -2
  143. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  144. package/lib/module/components/MainComponents/MessageList.js +166 -29
  145. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  146. package/lib/module/components/MainComponents/ReduxWrapper.js +18 -8
  147. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  148. package/lib/module/components/MainComponents/SystemMessage.js +33 -21
  149. package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
  150. package/lib/module/components/MessageBubble/InteractionsOverlay.js +112 -0
  151. package/lib/module/components/MessageBubble/InteractionsOverlay.js.map +1 -0
  152. package/lib/module/components/MessageBubble/Message.js +123 -42
  153. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  154. package/lib/module/components/MessageBubble/MessageInteractions.js +134 -46
  155. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  156. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +155 -52
  157. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  158. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
  159. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  160. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +99 -0
  161. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  162. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +148 -26
  163. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  164. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +31 -3
  165. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  166. package/lib/module/components/Modals/Modal/Modal.js +5 -1
  167. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  168. package/lib/module/components/Modals/ModalHeaderComponent.js +10 -0
  169. package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
  170. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +79 -49
  171. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  172. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  173. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  174. package/lib/module/components/Modals/styledModalComponents.js +17 -13
  175. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  176. package/lib/module/components/styled/MediaFilePreview.js +47 -28
  177. package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
  178. package/lib/module/components/styled/MessageImage.js +51 -11
  179. package/lib/module/components/styled/MessageImage.js.map +1 -1
  180. package/lib/module/components/styled/NewMessageLabel.js +8 -6
  181. package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
  182. package/lib/module/components/styled/SendInput.js +50 -28
  183. package/lib/module/components/styled/SendInput.js.map +1 -1
  184. package/lib/module/components/styled/StyledComponents.js +6 -3
  185. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  186. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  187. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  188. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  189. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  190. package/lib/module/components/styled/UnsupportedType.js +5 -1
  191. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  192. package/lib/module/components/styled/VideoMessage.js +82 -17
  193. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  194. package/lib/module/context/MessageNotificationContext.js +7 -7
  195. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  196. package/lib/module/context/xmppProvider.js +246 -34
  197. package/lib/module/context/xmppProvider.js.map +1 -1
  198. package/lib/module/helpers/chatAutoEnterer.js +2 -7
  199. package/lib/module/helpers/chatAutoEnterer.js.map +1 -1
  200. package/lib/module/helpers/historyPreloadScheduler.js +4 -1
  201. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  202. package/lib/module/helpers/insertMessageWithDelimiter.js +15 -5
  203. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  204. package/lib/module/helpers/keyboardLayout.js +12 -0
  205. package/lib/module/helpers/keyboardLayout.js.map +1 -0
  206. package/lib/module/helpers/mediaDimensions.js +46 -0
  207. package/lib/module/helpers/mediaDimensions.js.map +1 -0
  208. package/lib/module/helpers/mimeToExtension.js +55 -0
  209. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  210. package/lib/module/helpers/normalizeRoomJid.js +15 -0
  211. package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
  212. package/lib/module/hooks/useChatRoomFocus.js +82 -0
  213. package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
  214. package/lib/module/hooks/useHeapSender.js +1 -1
  215. package/lib/module/hooks/useHeapSender.js.map +1 -1
  216. package/lib/module/hooks/useLogout.js +36 -11
  217. package/lib/module/hooks/useLogout.js.map +1 -1
  218. package/lib/module/hooks/usePushNotifications.js +6 -2
  219. package/lib/module/hooks/usePushNotifications.js.map +1 -1
  220. package/lib/module/hooks/useRoomState.js +2 -0
  221. package/lib/module/hooks/useRoomState.js.map +1 -1
  222. package/lib/module/hooks/useSendMessage.js +203 -12
  223. package/lib/module/hooks/useSendMessage.js.map +1 -1
  224. package/lib/module/hooks/useUnreadMessagesCounter.js +12 -14
  225. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  226. package/lib/module/main.js +1 -0
  227. package/lib/module/main.js.map +1 -1
  228. package/lib/module/networking/api-requests/auth.api.js +67 -1
  229. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  230. package/lib/module/networking/api-requests/rooms.api.js +29 -4
  231. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  232. package/lib/module/networking/apiClient.js +2 -1
  233. package/lib/module/networking/apiClient.js.map +1 -1
  234. package/lib/module/networking/outboundQueue.js +84 -0
  235. package/lib/module/networking/outboundQueue.js.map +1 -0
  236. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  237. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  238. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  239. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  240. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  241. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  242. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  243. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  244. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  245. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  246. package/lib/module/networking/xmppClient.js +294 -35
  247. package/lib/module/networking/xmppClient.js.map +1 -1
  248. package/lib/module/roomStore/Middleware/unreadMidlleware.js +22 -6
  249. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  250. package/lib/module/roomStore/roomsSlice.js +154 -22
  251. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  252. package/lib/module/utils/installPromiseRejectionTracker.js +78 -0
  253. package/lib/module/utils/installPromiseRejectionTracker.js.map +1 -0
  254. package/lib/module/utils/resendMessage.js +1 -1
  255. package/lib/module/utils/resendMessage.js.map +1 -1
  256. package/lib/typescript/assets/icons.d.ts +8 -4
  257. package/lib/typescript/assets/icons.d.ts.map +1 -1
  258. package/lib/typescript/components/ContextMenu/ContextMenuComponents.d.ts.map +1 -1
  259. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  260. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  261. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  262. package/lib/typescript/components/MainComponents/MediaMessage.d.ts +1 -0
  263. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  264. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  265. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  266. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts +1 -0
  267. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  268. package/lib/typescript/components/MainComponents/SystemMessage.d.ts +0 -7
  269. package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
  270. package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts +13 -0
  271. package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts.map +1 -0
  272. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  273. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +4 -2
  274. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  275. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  276. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  277. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +29 -0
  278. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -0
  279. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +0 -1
  280. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  281. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  282. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  283. package/lib/typescript/components/Modals/ModalHeaderComponent.d.ts.map +1 -1
  284. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  285. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  286. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  287. package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
  288. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  289. package/lib/typescript/components/styled/NewMessageLabel.d.ts +1 -5
  290. package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
  291. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  292. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  293. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +9 -1
  294. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  295. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  296. package/lib/typescript/components/styled/UnsupportedType.d.ts +1 -0
  297. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  298. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  299. package/lib/typescript/context/xmppProvider.d.ts +1 -0
  300. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  301. package/lib/typescript/helpers/chatAutoEnterer.d.ts.map +1 -1
  302. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  303. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  304. package/lib/typescript/helpers/keyboardLayout.d.ts +9 -0
  305. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -0
  306. package/lib/typescript/helpers/mediaDimensions.d.ts +9 -0
  307. package/lib/typescript/helpers/mediaDimensions.d.ts.map +1 -0
  308. package/lib/typescript/helpers/mimeToExtension.d.ts +8 -0
  309. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  310. package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
  311. package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
  312. package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
  313. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
  314. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  315. package/lib/typescript/hooks/useLogout.d.ts +23 -1
  316. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  317. package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
  318. package/lib/typescript/hooks/useRoomState.d.ts +1 -0
  319. package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
  320. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  321. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  322. package/lib/typescript/main.d.ts +1 -0
  323. package/lib/typescript/main.d.ts.map +1 -1
  324. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -0
  325. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  326. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  327. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  328. package/lib/typescript/networking/outboundQueue.d.ts +57 -0
  329. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -0
  330. package/lib/typescript/networking/xmpp/createTimeoutPromise.xmpp.d.ts.map +1 -1
  331. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -1
  332. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  333. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts +1 -1
  334. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts.map +1 -1
  335. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  336. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  337. package/lib/typescript/networking/xmppClient.d.ts +33 -4
  338. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  339. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  340. package/lib/typescript/roomStore/roomsSlice.d.ts +8 -1
  341. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  342. package/lib/typescript/types/models/media.model.d.ts +1 -0
  343. package/lib/typescript/types/models/media.model.d.ts.map +1 -1
  344. package/lib/typescript/types/models/xmpp.model.d.ts +1 -1
  345. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  346. package/lib/typescript/types/types.d.ts +20 -0
  347. package/lib/typescript/types/types.d.ts.map +1 -1
  348. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts +20 -0
  349. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts.map +1 -0
  350. package/lib/typescript/utils/resendMessage.d.ts.map +1 -1
  351. package/package.json +23 -4
  352. package/src/assets/icons.tsx +23 -14
  353. package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
  354. package/src/components/MainComponents/ChatHeader.tsx +46 -15
  355. package/src/components/MainComponents/ChatRoom.tsx +95 -66
  356. package/src/components/MainComponents/ChatWrapper.tsx +127 -42
  357. package/src/components/MainComponents/MediaMessage.tsx +14 -8
  358. package/src/components/MainComponents/MessageContainer.tsx +4 -2
  359. package/src/components/MainComponents/MessageList.tsx +175 -28
  360. package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
  361. package/src/components/MainComponents/SystemMessage.tsx +38 -26
  362. package/src/components/MessageBubble/InteractionsOverlay.tsx +121 -0
  363. package/src/components/MessageBubble/Message.tsx +133 -63
  364. package/src/components/MessageBubble/MessageInteractions.tsx +146 -58
  365. package/src/components/Modals/AttachSheet/AttachSheet.tsx +146 -39
  366. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +25 -3
  367. package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
  368. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +161 -26
  369. package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
  370. package/src/components/Modals/Modal/Modal.tsx +4 -1
  371. package/src/components/Modals/ModalHeaderComponent.tsx +8 -1
  372. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +70 -58
  373. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
  374. package/src/components/Modals/styledModalComponents.tsx +17 -13
  375. package/src/components/styled/MediaFilePreview.tsx +46 -26
  376. package/src/components/styled/MessageImage.tsx +58 -13
  377. package/src/components/styled/NewMessageLabel.tsx +8 -5
  378. package/src/components/styled/SendInput.tsx +64 -29
  379. package/src/components/styled/StyledComponents.ts +6 -3
  380. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +15 -5
  381. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +7 -2
  382. package/src/components/styled/UnsupportedType.tsx +7 -1
  383. package/src/components/styled/VideoMessage.tsx +76 -12
  384. package/src/context/MessageNotificationContext.tsx +8 -8
  385. package/src/context/xmppProvider.tsx +247 -30
  386. package/src/helpers/chatAutoEnterer.ts +2 -8
  387. package/src/helpers/historyPreloadScheduler.ts +4 -1
  388. package/src/helpers/insertMessageWithDelimiter.ts +22 -15
  389. package/src/helpers/keyboardLayout.ts +18 -0
  390. package/src/helpers/mediaDimensions.ts +47 -0
  391. package/src/helpers/mimeToExtension.ts +64 -0
  392. package/src/helpers/normalizeRoomJid.ts +6 -0
  393. package/src/hooks/useChatRoomFocus.ts +95 -0
  394. package/src/hooks/useHeapSender.tsx +2 -1
  395. package/src/hooks/useLogout.tsx +36 -13
  396. package/src/hooks/usePushNotifications.ts +21 -8
  397. package/src/hooks/useRoomState.tsx +4 -0
  398. package/src/hooks/useSendMessage.tsx +258 -13
  399. package/src/hooks/useUnreadMessagesCounter.ts +13 -16
  400. package/src/main.ts +1 -0
  401. package/src/networking/api-requests/auth.api.ts +55 -1
  402. package/src/networking/api-requests/rooms.api.ts +31 -7
  403. package/src/networking/apiClient.ts +2 -1
  404. package/src/networking/outboundQueue.ts +98 -0
  405. package/src/networking/xmpp/createTimeoutPromise.xmpp.ts +5 -1
  406. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +11 -13
  407. package/src/networking/xmpp/getRoomsPaged.xmpp.ts +27 -3
  408. package/src/networking/xmpp/presenceInRoom.xmpp.ts +24 -9
  409. package/src/networking/xmpp/sendTextMessage.xmpp.ts +2 -1
  410. package/src/networking/xmppClient.ts +317 -43
  411. package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
  412. package/src/roomStore/roomsSlice.ts +177 -27
  413. package/src/types/models/media.model.ts +3 -0
  414. package/src/types/models/xmpp.model.ts +2 -1
  415. package/src/types/types.ts +31 -0
  416. package/src/utils/installPromiseRejectionTracker.ts +91 -0
  417. package/src/utils/resendMessage.ts +2 -1
@@ -59,7 +59,12 @@ const isOwnMessage = (msg, selfXmpp, selfWallet) => {
59
59
  // events, typing-indicator setComposing, etc. — and walked every room's
60
60
  // messages array looking for a count delta that almost never came. For
61
61
  // 50 rooms × 100 messages that's 5000 Date() parses per modal click.
62
- const TRIGGER_ACTIONS = new Set(['roomMessages/addRoomMessage', 'roomMessages/setRoomMessages', 'roomMessages/editRoomMessage', 'roomMessages/setLastViewedTimestamp', 'roomMessages/setCurrentRoom', 'roomMessages/addRoom', 'roomMessages/updateRoom']);
62
+ const TRIGGER_ACTIONS = new Set(['roomMessages/addRoomMessage', 'roomMessages/setRoomMessages', 'roomMessages/editRoomMessage', 'roomMessages/setLastViewedTimestamp', 'roomMessages/setCurrentRoom', 'roomMessages/setVisibleRoom', 'roomMessages/clearVisibleRoom', 'roomMessages/addRoom', 'roomMessages/updateRoom',
63
+ // The history preload scheduler merges fetched pages via this action on
64
+ // re-entry; recompute so unread reflects messages that arrived while the
65
+ // app was away (the per-room fingerprint cache below skips no-op batches,
66
+ // e.g. the 'loading' marker dispatch that carries no messages).
67
+ 'roomMessages/applyRoomsPreloadBatch']);
63
68
  const unreadMiddleware = storeAPI => next => action => {
64
69
  if (!action || !action.type) {
65
70
  console.error('Invalid action in unreadMiddleware:', action);
@@ -84,7 +89,7 @@ const unreadMiddleware = storeAPI => next => action => {
84
89
  }
85
90
  const state = storeAPI.getState();
86
91
  const rooms = state.rooms.rooms;
87
- const activeChatJID = state.rooms.activeRoomJID;
92
+ const visibleRoomJID = state.rooms.visibleRoomJID;
88
93
  const selfUser = state.chatSettingStore?.user;
89
94
  const selfXmpp = selfUser?.xmppUsername || '';
90
95
  const selfWallet = selfUser?.walletAddress || '';
@@ -94,13 +99,24 @@ const unreadMiddleware = storeAPI => next => action => {
94
99
  if (!room) {
95
100
  return;
96
101
  }
97
- // Skip rooms the user is currently viewing — `setLastViewedTimestamp(0)`
98
- // clears their unread directly. Skip rooms with no reference point
99
- // (covers undefined / null / 0) — after logout→login, hydrated rooms
102
+ // Skip rooms the user is currently viewing — visibility clears the
103
+ // badge directly. Skip rooms with no reference point (covers
104
+ // undefined / null / 0) — after logout→login, hydrated rooms
100
105
  // come back without lastViewedTimestamp, and treating that as 0
101
106
  // made every history message satisfy `date > 0` and incorrectly
102
107
  // bumped unread for already-seen content.
103
- if (!room.lastViewedTimestamp || jid === activeChatJID) {
108
+ if (jid === visibleRoomJID) {
109
+ if (room.unreadMessages !== 0) {
110
+ storeAPI.dispatch((0, _roomsSlice.updateRoom)({
111
+ jid,
112
+ updates: {
113
+ unreadMessages: 0
114
+ }
115
+ }));
116
+ }
117
+ return;
118
+ }
119
+ if (!(room.lastViewedTimestamp > 0)) {
104
120
  return;
105
121
  }
106
122
 
@@ -1 +1 @@
1
- {"version":3,"names":["_roomsSlice","require","triggerCache","norm","s","v","String","toLowerCase","split","replace","isOwnMessage","msg","selfXmpp","selfWallet","candidates","user","id","userJID","xmppUsername","xmppFrom","filter","Boolean","length","self","Set","c","has","TRIGGER_ACTIONS","unreadMiddleware","storeAPI","next","action","type","console","error","result","state","getState","rooms","activeChatJID","activeRoomJID","selfUser","chatSettingStore","walletAddress","Object","keys","forEach","jid","room","lastViewedTimestamp","currentMessagesLength","messages","fingerprint","unreadMessagesCount","pending","msgSortableMs","unreadMessages","dispatch","updateRoom","updates","exports"],"sourceRoot":"../../../../src","sources":["roomStore/Middleware/unreadMidlleware.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_roomsSlice","require","triggerCache","norm","s","v","String","toLowerCase","split","replace","isOwnMessage","msg","selfXmpp","selfWallet","candidates","user","id","userJID","xmppUsername","xmppFrom","filter","Boolean","length","self","Set","c","has","TRIGGER_ACTIONS","unreadMiddleware","storeAPI","next","action","type","console","error","result","state","getState","rooms","visibleRoomJID","selfUser","chatSettingStore","walletAddress","Object","keys","forEach","jid","room","unreadMessages","dispatch","updateRoom","updates","lastViewedTimestamp","currentMessagesLength","messages","fingerprint","unreadMessagesCount","pending","msgSortableMs","exports"],"sourceRoot":"../../../../src","sources":["roomStore/Middleware/unreadMidlleware.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.updateRoom = exports.setRoomRole = exports.setRoomNoMessages = exports.setRoomMessages = exports.setReactions = exports.setPendingNotificationJid = exports.setLogoutState = exports.setLastViewedTimestamp = exports.setIsLoading = exports.setEditAction = exports.setCurrentRoom = exports.setComposing = exports.setCloseActiveMessage = exports.setActiveMessage = exports.roomsStore = exports.msgSortableMs = exports.editRoomMessage = exports.deleteRoomMessage = exports.deleteRoom = exports.deleteAllRooms = exports.default = exports.clearPendingNotificationJid = exports.applyRoomsPreloadBatch = exports.addRoomViaApi = exports.addRoomMessage = exports.addRoom = void 0;
6
+ exports.updateRoom = exports.setVisibleRoom = exports.setRoomRole = exports.setRoomNoMessages = exports.setRoomMessages = exports.setReactions = exports.setPendingNotificationJid = exports.setLogoutState = exports.setLastViewedTimestamp = exports.setIsLoading = exports.setEditAction = exports.setCurrentRoom = exports.setComposing = exports.setCloseActiveMessage = exports.setActiveMessage = exports.roomsStore = exports.msgSortableMs = exports.editRoomMessage = exports.deleteRoomMessage = exports.deleteRoom = exports.deleteAllRooms = exports.default = exports.clearVisibleRoom = exports.clearPendingNotificationJid = exports.applyRoomsPreloadBatch = exports.addRoomViaApi = exports.addRoomMessage = exports.addRoom = void 0;
7
7
  var _toolkit = require("@reduxjs/toolkit");
8
8
  var _insertMessageWithDelimiter = require("../helpers/insertMessageWithDelimiter");
9
9
  // Per-room runtime message cap. Mirrors the persistence layer's
@@ -23,9 +23,62 @@ const enforceMessageCap = messages => {
23
23
  messages.shift();
24
24
  }
25
25
  };
26
+
27
+ // Merge a freshly-fetched recent history page into a room's cached
28
+ // messages instead of REPLACING them — so re-entering the app no longer
29
+ // wipes older history (and the unread derived from it). Mirrors the web
30
+ // SDK's incremental sync:
31
+ // • union + dedupe by message id (the server-authoritative,
32
+ // microsecond-resolution stanza id) — overlapping messages collapse
33
+ // and older cached history is kept;
34
+ // • if the fetched page shares NO id with the cache, a gap has opened
35
+ // (more than a page of new messages arrived while away) and stitching
36
+ // them would leave a hole — so we clear THIS chat's cache and keep
37
+ // just the fresh page;
38
+ // • locally-pending (optimistic) sends are always preserved;
39
+ // • an empty fetch leaves the cache untouched (the old replace wiped it);
40
+ // • the transient 'delimiter-new' marker is dropped (the realtime insert
41
+ // path re-derives it) so it can't mis-sort.
42
+ // `function` (hoisted) so the reducers above can call it regardless of
43
+ // where it sits in the file. msgSortableMs (defined below) is referenced
44
+ // at call time, after module init.
45
+ function mergeHistoryIntoCache(existing, fetched) {
46
+ const ex = Array.isArray(existing) ? existing : [];
47
+ const fe = Array.isArray(fetched) ? fetched : [];
48
+ const pending = ex.filter(m => m?.pending);
49
+ const realExisting = ex.filter(m => m && !m.pending && m.id !== 'delimiter-new');
50
+ const realFetched = fe.filter(m => m && m.id !== 'delimiter-new');
51
+
52
+ // Nothing usable came back → keep the cache exactly as it was.
53
+ if (realFetched.length === 0) {
54
+ return ex;
55
+ }
56
+ const byMs = (a, b) => msgSortableMs(a) - msgSortableMs(b);
57
+ const capTail = arr => arr.length > RUNTIME_MESSAGE_LIMIT ? arr.slice(-RUNTIME_MESSAGE_LIMIT) : arr;
58
+ const existingIds = new Set(realExisting.map(m => String(m.id)));
59
+ const overlaps = realFetched.some(m => existingIds.has(String(m.id)));
60
+
61
+ // Cold room, or a gap (no shared id) → can't merge → use the fresh page.
62
+ if (realExisting.length === 0 || !overlaps) {
63
+ return [...capTail(realFetched.slice().sort(byMs)), ...pending];
64
+ }
65
+
66
+ // Overlap → union + dedupe by id. Fetched wins on collision: it carries
67
+ // the freshest server state (reactions / edits / deletions).
68
+ const byId = new Map();
69
+ for (const m of realExisting) {
70
+ byId.set(String(m.id), m);
71
+ }
72
+ for (const m of realFetched) {
73
+ byId.set(String(m.id), m);
74
+ }
75
+ const merged = Array.from(byId.values()).sort(byMs);
76
+ return [...capTail(merged), ...pending];
77
+ }
26
78
  const initialState = {
27
79
  rooms: {},
28
80
  activeRoomJID: null,
81
+ visibleRoomJID: null,
29
82
  isLoading: false,
30
83
  editAction: {
31
84
  isEdit: false,
@@ -62,16 +115,59 @@ const reducers = {
62
115
  roomData
63
116
  } = action.payload;
64
117
  const existing = state.rooms[roomData.jid];
65
- // Preserve a pre-existing lastViewedTimestamp (the private-store
66
- // pull may have landed before /chats/my finished). If neither
67
- // source set one, stamp `Date.now()` so initial REST history
68
- // counts as "seen" — without this default, every back-history
69
- // message read by the unread middleware satisfies `>0` and the
70
- // badge shows the entire room population on first paint.
71
- const lastViewed = roomData.lastViewedTimestamp ?? existing?.lastViewedTimestamp ?? Date.now();
118
+ // Default-marker resolution (cold-start unread bug):
119
+ // 1. Explicit value on the payload wins.
120
+ // 2. Existing redux value wins (preserves persisted/hydrated
121
+ // markers when the privateStore pull lands before
122
+ // /chats/my).
123
+ // 3. Otherwise, anchor to the *newest known message* in the
124
+ // payload — this marks everything currently in the room
125
+ // as "seen" but lets any NEWER incoming message count as
126
+ // unread. Previously this fell back to `Date.now()`, which
127
+ // stamped a future-leaning marker that hid genuinely-new
128
+ // messages received while the app was closed.
129
+ // 4. If there are no messages at all yet, stamp `0` (=
130
+ // "unknown — let the privateStore hydration set the real
131
+ // marker before any future message arrives").
132
+ let lastViewed;
133
+ // Treat an incoming `0` as "unset". stanzaHandlers' addRoom passes
134
+ // `lastViewedTimestamp: 0` as a placeholder; the old `!= null` check
135
+ // let that 0 win and OVERWROTE the persisted/hydrated marker from
136
+ // the previous session, so cold-start showed no unread badge for
137
+ // messages received while the app was closed (bug #19/#20). A real
138
+ // (non-zero) explicit value still wins; otherwise keep the existing
139
+ // value; otherwise anchor to the newest message in the payload.
140
+ if (roomData.lastViewedTimestamp != null && roomData.lastViewedTimestamp !== 0) {
141
+ lastViewed = roomData.lastViewedTimestamp;
142
+ } else if (existing?.lastViewedTimestamp != null) {
143
+ lastViewed = existing.lastViewedTimestamp;
144
+ } else {
145
+ const msgs = roomData.messages || [];
146
+ let newest = 0;
147
+ for (const m of msgs) {
148
+ const t = m?.messageTimestampMs || (m?.date ? new Date(m.date).getTime() : 0);
149
+ if (t > newest) {
150
+ newest = t;
151
+ }
152
+ }
153
+ lastViewed = newest; // 0 if no messages → cold-start safe
154
+ }
155
+ // Preserve cached messages + unread when the incoming room carries
156
+ // none. The /chats/my fetch (rooms.api) builds rooms with
157
+ // `messages: []` and no unread; without this guard, re-entering the
158
+ // app replaced every cached room with an empty one — wiping history
159
+ // AND the unread badge before the history scheduler could re-merge
160
+ // (the user's "it clears cache, unread and messages" bug). New rooms
161
+ // (no existing) fall through to the incoming values. Mirrors
162
+ // addRoomFromApi's preservation.
163
+ const incomingMessages = Array.isArray(roomData.messages) ? roomData.messages : [];
164
+ const existingMessages = Array.isArray(existing?.messages) ? existing.messages : [];
72
165
  state.rooms[roomData.jid] = {
73
166
  ...roomData,
74
- lastViewedTimestamp: lastViewed
167
+ messages: existingMessages.length > 0 ? existingMessages : incomingMessages,
168
+ lastViewedTimestamp: lastViewed,
169
+ unreadMessages: roomData.unreadMessages ?? existing?.unreadMessages ?? 0,
170
+ unreadBaselineTimestamp: existing?.unreadBaselineTimestamp ?? existing?.lastViewedTimestamp ?? roomData.unreadBaselineTimestamp ?? 0
75
171
  };
76
172
  },
77
173
  deleteRoom(state, action) {
@@ -80,6 +176,9 @@ const reducers = {
80
176
  } = action.payload;
81
177
  if (state.rooms[jid]) {
82
178
  delete state.rooms[jid];
179
+ if (state.visibleRoomJID === jid) {
180
+ state.visibleRoomJID = null;
181
+ }
83
182
  }
84
183
  },
85
184
  updateRoom(state, action) {
@@ -113,13 +212,27 @@ const reducers = {
113
212
  roomJID,
114
213
  messageId
115
214
  } = action.payload;
116
- if (state.rooms[roomJID]) {
117
- state.rooms[roomJID].messages.map(message => {
118
- if (message.id === messageId) {
119
- message.isDeleted = true;
120
- }
121
- });
215
+ const room = state.rooms[roomJID];
216
+ if (!room?.messages) {
217
+ return;
122
218
  }
219
+ // The "New messages" divider is a transient UI marker, not a real
220
+ // message — SPLICE it out so it can be re-inserted for the next
221
+ // unread batch. Marking it isDeleted (like a real message) left it in
222
+ // the array, where insertMessageWithDelimiter's "already present"
223
+ // guard then blocked every future divider (one-shot bug).
224
+ if (messageId === 'delimiter-new') {
225
+ const idx = room.messages.findIndex(m => m.id === 'delimiter-new');
226
+ if (idx !== -1) {
227
+ room.messages.splice(idx, 1);
228
+ }
229
+ return;
230
+ }
231
+ room.messages.map(message => {
232
+ if (message.id === messageId) {
233
+ message.isDeleted = true;
234
+ }
235
+ });
123
236
  },
124
237
  setEditAction: (state, action) => {
125
238
  if (action.payload?.isEdit) {
@@ -171,7 +284,8 @@ const reducers = {
171
284
  if (roomMessages.length === 0 || start) {
172
285
  roomMessages.unshift(message);
173
286
  } else {
174
- const lastViewedTimestamp = state.rooms[roomJID].lastViewedTimestamp ? new Date(state.rooms[roomJID].lastViewedTimestamp) : null;
287
+ const lastViewedValue = state.rooms[roomJID].lastViewedTimestamp;
288
+ const lastViewedTimestamp = state.visibleRoomJID === roomJID ? null : lastViewedValue ? new Date(lastViewedValue) : null;
175
289
  (0, _insertMessageWithDelimiter.insertMessageWithDelimiter)(roomMessages, message, lastViewedTimestamp);
176
290
  }
177
291
 
@@ -185,6 +299,7 @@ const reducers = {
185
299
  },
186
300
  deleteAllRooms(state) {
187
301
  state.rooms = {};
302
+ state.visibleRoomJID = null;
188
303
  },
189
304
  setComposing(state, action) {
190
305
  const {
@@ -214,10 +329,12 @@ const reducers = {
214
329
  } = action.payload;
215
330
  if (state.rooms[chatJID]) {
216
331
  state.rooms[chatJID].lastViewedTimestamp = timestamp;
217
- // timestamp === 0 means "user is currently viewing this room" —
218
- // unread is cleared. Otherwise count messages received strictly
219
- // after the last-viewed instant.
220
- if (!timestamp) {
332
+ // A non-positive timestamp means "no persisted marker yet" and
333
+ // must not inflate unread from history that predates the first
334
+ // successful private-store hydration. The visible-room state is
335
+ // tracked separately via `visibleRoomJID`; no read/unread meaning
336
+ // is encoded in the timestamp itself anymore.
337
+ if (!(timestamp > 0)) {
221
338
  state.rooms[chatJID].unreadMessages = 0;
222
339
  } else {
223
340
  state.rooms[chatJID].unreadMessages = countNewerMessages(state.rooms[chatJID].messages, timestamp);
@@ -247,6 +364,16 @@ const reducers = {
247
364
  // back button from chat → return to RoomList). Mirrors web.
248
365
  state.activeRoomJID = action.payload.roomJID || '';
249
366
  },
367
+ setVisibleRoom: (state, action) => {
368
+ state.visibleRoomJID = action.payload.roomJID || null;
369
+ const jid = state.visibleRoomJID;
370
+ if (jid && state.rooms[jid]) {
371
+ state.rooms[jid].unreadMessages = 0;
372
+ }
373
+ },
374
+ clearVisibleRoom: state => {
375
+ state.visibleRoomJID = null;
376
+ },
250
377
  /**
251
378
  * Stash a JID that a push notification asked us to open before
252
379
  * the rooms list has loaded. The Chat component clears this once
@@ -283,6 +410,7 @@ const reducers = {
283
410
  setLogoutState: state => {
284
411
  state.rooms = {};
285
412
  state.activeRoomJID = null;
413
+ state.visibleRoomJID = null;
286
414
  state.isLoading = false;
287
415
  },
288
416
  setActiveMessage: (state, action) => {
@@ -361,9 +489,11 @@ const reducers = {
361
489
  room.historyComplete = patch.historyComplete;
362
490
  }
363
491
  if (Array.isArray(patch.messages)) {
364
- // Merge: keep any locally-pending messages, replace the rest.
365
- const pending = room.messages?.filter(m => m?.pending) || [];
366
- room.messages = [...patch.messages, ...pending];
492
+ // Merge the fetched page into cache by message id rather than
493
+ // replacing — preserves older history + unread on re-entry. Only
494
+ // a true gap (no overlapping id) clears this chat's cache. See
495
+ // mergeHistoryIntoCache.
496
+ room.messages = mergeHistoryIntoCache(room.messages, patch.messages);
367
497
  }
368
498
  }
369
499
  }
@@ -457,6 +587,8 @@ const {
457
587
  setLastViewedTimestamp,
458
588
  setRoomNoMessages,
459
589
  setCurrentRoom,
590
+ setVisibleRoom,
591
+ clearVisibleRoom,
460
592
  setRoomRole,
461
593
  setLogoutState,
462
594
  setActiveMessage,
@@ -478,6 +610,8 @@ exports.setCloseActiveMessage = setCloseActiveMessage;
478
610
  exports.setActiveMessage = setActiveMessage;
479
611
  exports.setLogoutState = setLogoutState;
480
612
  exports.setRoomRole = setRoomRole;
613
+ exports.clearVisibleRoom = clearVisibleRoom;
614
+ exports.setVisibleRoom = setVisibleRoom;
481
615
  exports.setCurrentRoom = setCurrentRoom;
482
616
  exports.setRoomNoMessages = setRoomNoMessages;
483
617
  exports.setLastViewedTimestamp = setLastViewedTimestamp;
@@ -1 +1 @@
1
- {"version":3,"names":["_toolkit","require","_insertMessageWithDelimiter","RUNTIME_MESSAGE_LIMIT","enforceMessageCap","messages","length","shift","initialState","rooms","activeRoomJID","isLoading","editAction","isEdit","roomJid","messageId","text","pendingNotificationJid","isValidRoomJid","jid","includes","addRoomViaApi","exports","createAsyncThunk","room","xmpp","_xmpp","dispatch","roomsStore","actions","addRoomFromApi","reducers","addRoom","state","action","roomData","payload","existing","lastViewed","lastViewedTimestamp","Date","now","deleteRoom","updateRoom","updates","existingRoom","setRoomMessages","roomJID","capped","slice","deleteRoomMessage","map","message","id","isDeleted","setEditAction","editRoomMessage","body","addRoomMessage","start","roomMessages","lengthBefore","unshift","insertMessageWithDelimiter","deleteAllRooms","setComposing","chatJID","composing","composingList","setIsLoading","loading","loadingText","setLastViewedTimestamp","timestamp","unreadMessages","countNewerMessages","setRoomRole","role","setRoomNoMessages","value","noMessages","setCurrentRoom","setPendingNotificationJid","clearPendingNotificationJid","setReactions","reactions","msg","setLogoutState","setActiveMessage","activeMessage","setCloseActiveMessage","incomingMessages","Array","isArray","existingMessages","title","usersCnt","incoming","previous","Math","max","icon","unreadBaselineTimestamp","unreadCapped","historyPreloadState","messageStats","historyComplete","applyRoomsPreloadBatch","patch","pending","filter","m","createSlice","name","msgSortableMs","String","exec","Number","date","t","getTime","isFinite","norm","s","v","toLowerCase","split","replace","isOwn","selfXmpp","selfWallet","candidates","user","userJID","xmppUsername","xmppFrom","Boolean","self","Set","c","has","count","ms","_default","default","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomsSlice.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_toolkit","require","_insertMessageWithDelimiter","RUNTIME_MESSAGE_LIMIT","enforceMessageCap","messages","length","shift","mergeHistoryIntoCache","existing","fetched","ex","Array","isArray","fe","pending","filter","m","realExisting","id","realFetched","byMs","a","b","msgSortableMs","capTail","arr","slice","existingIds","Set","map","String","overlaps","some","has","sort","byId","Map","set","merged","from","values","initialState","rooms","activeRoomJID","visibleRoomJID","isLoading","editAction","isEdit","roomJid","messageId","text","pendingNotificationJid","isValidRoomJid","jid","includes","addRoomViaApi","exports","createAsyncThunk","room","xmpp","_xmpp","dispatch","roomsStore","actions","addRoomFromApi","reducers","addRoom","state","action","roomData","payload","lastViewed","lastViewedTimestamp","msgs","newest","t","messageTimestampMs","date","Date","getTime","incomingMessages","existingMessages","unreadMessages","unreadBaselineTimestamp","deleteRoom","updateRoom","updates","existingRoom","setRoomMessages","roomJID","capped","deleteRoomMessage","idx","findIndex","splice","message","isDeleted","setEditAction","editRoomMessage","body","addRoomMessage","start","roomMessages","lengthBefore","unshift","lastViewedValue","insertMessageWithDelimiter","deleteAllRooms","setComposing","chatJID","composing","composingList","setIsLoading","loading","loadingText","setLastViewedTimestamp","timestamp","countNewerMessages","setRoomRole","role","setRoomNoMessages","value","noMessages","setCurrentRoom","setVisibleRoom","clearVisibleRoom","setPendingNotificationJid","clearPendingNotificationJid","setReactions","reactions","msg","setLogoutState","setActiveMessage","activeMessage","setCloseActiveMessage","title","usersCnt","incoming","previous","Math","max","icon","unreadCapped","historyPreloadState","messageStats","historyComplete","applyRoomsPreloadBatch","patch","createSlice","name","exec","Number","isFinite","norm","s","v","toLowerCase","split","replace","isOwn","selfXmpp","selfWallet","candidates","user","userJID","xmppUsername","xmppFrom","Boolean","self","c","count","ms","_default","default","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomsSlice.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.installPromiseRejectionTracker = installPromiseRejectionTracker;
8
+ /**
9
+ * Dev-only unhandled-promise-rejection tracker.
10
+ *
11
+ * RN's red-screen for `Uncaught (in promise, id: N)` famously hides the
12
+ * actual rejection's stack trace — it only shows the promise id. When a
13
+ * leak slips past the SDK's coverage, the integrator gets a useless
14
+ * red box that they can't diagnose.
15
+ *
16
+ * This installer attaches a global `unhandledrejection` listener that
17
+ * prints the rejection value AND a stack trace (best-effort) so the
18
+ * source is visible in Metro logs. It's a no-op in production builds.
19
+ *
20
+ * Installed automatically from `ReduxWrapper` on mount. Safe to call
21
+ * multiple times — guarded by a module-level flag.
22
+ *
23
+ * Bug #4 follow-up.
24
+ */
25
+
26
+ let installed = false;
27
+ function installPromiseRejectionTracker() {
28
+ if (typeof __DEV__ !== 'undefined' && !__DEV__) {
29
+ return;
30
+ }
31
+ if (installed) {
32
+ return;
33
+ }
34
+ installed = true;
35
+
36
+ // RN's RCTPromise polyfill emits `unhandledrejection` on the global
37
+ // (HermesInternal / global). It also forwards through the
38
+ // `process.on('unhandledRejection', ...)` shim on some builds.
39
+ const g = globalThis;
40
+ const onRejection = (eventOrReason, maybePromise) => {
41
+ // Two calling conventions across RN versions:
42
+ // - `(event)` where event has `.reason` / `.promise`
43
+ // - `(reason, promise)` (older)
44
+ const reason = eventOrReason?.reason ?? eventOrReason;
45
+ const promise = eventOrReason?.promise ?? maybePromise;
46
+ const stack = reason && reason.stack || new Error('unhandledrejection (captured at handler)').stack;
47
+ // console.WARN (not error): RN's LogBox turns every console.error into
48
+ // a full-screen red overlay. With `allRejections: true` Hermes reports
49
+ // rejections that get handled a microtask later (false positives, e.g.
50
+ // a bare `undefined` rejection during connect teardown), so escalating
51
+ // to a red box was pure noise. warn keeps the trace in Metro/Logs.
52
+ // eslint-disable-next-line no-console
53
+ console.warn('[ethora-rn] UNHANDLED PROMISE REJECTION:', typeof reason === 'object' ? JSON.stringify(reason, null, 2) : String(reason), '\nstack:', stack, '\npromise:', promise);
54
+ };
55
+ try {
56
+ if (typeof g.addEventListener === 'function') {
57
+ g.addEventListener('unhandledrejection', onRejection);
58
+ }
59
+ } catch {}
60
+ try {
61
+ if (g.process && typeof g.process.on === 'function') {
62
+ g.process.on('unhandledRejection', onRejection);
63
+ }
64
+ } catch {}
65
+ try {
66
+ // Hermes-only hook — newer RN exposes this.
67
+ if (typeof g.HermesInternal?.enablePromiseRejectionTracker === 'function') {
68
+ g.HermesInternal.enablePromiseRejectionTracker({
69
+ allRejections: false,
70
+ onUnhandled: (id, error) => {
71
+ // warn, not error — see note above. `allRejections: true` fires
72
+ // this for rejections handled a tick later, so a red box here
73
+ // was a false alarm. Stays visible in Metro/Logs as a warning.
74
+ // eslint-disable-next-line no-console
75
+ console.warn(`[ethora-rn] Hermes unhandled rejection id=${id}:`, error?.message ?? error, '\nstack:', error?.stack);
76
+ },
77
+ onHandled: () => {}
78
+ });
79
+ }
80
+ } catch {}
81
+ }
82
+ var _default = exports.default = installPromiseRejectionTracker;
83
+ //# sourceMappingURL=installPromiseRejectionTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["installed","installPromiseRejectionTracker","__DEV__","g","globalThis","onRejection","eventOrReason","maybePromise","reason","promise","stack","Error","console","warn","JSON","stringify","String","addEventListener","process","on","HermesInternal","enablePromiseRejectionTracker","allRejections","onUnhandled","id","error","message","onHandled","_default","exports","default"],"sourceRoot":"../../../src","sources":["utils/installPromiseRejectionTracker.ts"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,IAAIA,SAAS,GAAG,KAAK;AAEd,SAASC,8BAA8BA,CAAA,EAAG;EAC/C,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAI,CAACA,OAAO,EAAE;IAAC;EAAO;EACxD,IAAIF,SAAS,EAAE;IAAC;EAAO;EACvBA,SAAS,GAAG,IAAI;;EAEhB;EACA;EACA;EACA,MAAMG,CAAM,GAAGC,UAAiB;EAEhC,MAAMC,WAAW,GAAGA,CAACC,aAAkB,EAAEC,YAA2B,KAAK;IACvE;IACA;IACA;IACA,MAAMC,MAAM,GAAGF,aAAa,EAAEE,MAAM,IAAIF,aAAa;IACrD,MAAMG,OAAO,GAAGH,aAAa,EAAEG,OAAO,IAAIF,YAAY;IACtD,MAAMG,KAAK,GACRF,MAAM,IAAIA,MAAM,CAACE,KAAK,IACvB,IAAIC,KAAK,CAAC,0CAA0C,CAAC,CAACD,KAAK;IAC7D;IACA;IACA;IACA;IACA;IACA;IACAE,OAAO,CAACC,IAAI,CACV,0CAA0C,EAC1C,OAAOL,MAAM,KAAK,QAAQ,GAAGM,IAAI,CAACC,SAAS,CAACP,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAGQ,MAAM,CAACR,MAAM,CAAC,EAC7E,UAAU,EACVE,KAAK,EACL,YAAY,EACZD,OACF,CAAC;EACH,CAAC;EAED,IAAI;IACF,IAAI,OAAON,CAAC,CAACc,gBAAgB,KAAK,UAAU,EAAE;MAC5Cd,CAAC,CAACc,gBAAgB,CAAC,oBAAoB,EAAEZ,WAAW,CAAC;IACvD;EACF,CAAC,CAAC,MAAM,CAAC;EACT,IAAI;IACF,IAAIF,CAAC,CAACe,OAAO,IAAI,OAAOf,CAAC,CAACe,OAAO,CAACC,EAAE,KAAK,UAAU,EAAE;MACnDhB,CAAC,CAACe,OAAO,CAACC,EAAE,CAAC,oBAAoB,EAAEd,WAAW,CAAC;IACjD;EACF,CAAC,CAAC,MAAM,CAAC;EACT,IAAI;IACF;IACA,IAAI,OAAOF,CAAC,CAACiB,cAAc,EAAEC,6BAA6B,KAAK,UAAU,EAAE;MACzElB,CAAC,CAACiB,cAAc,CAACC,6BAA6B,CAAC;QAC7CC,aAAa,EAAE,KAAK;QACpBC,WAAW,EAAEA,CAACC,EAAU,EAAEC,KAAU,KAAK;UACvC;UACA;UACA;UACA;UACAb,OAAO,CAACC,IAAI,CACV,6CAA6CW,EAAE,GAAG,EAClDC,KAAK,EAAEC,OAAO,IAAID,KAAK,EACvB,UAAU,EACVA,KAAK,EAAEf,KACT,CAAC;QACH,CAAC;QACDiB,SAAS,EAAEA,CAAA,KAAM,CAAC;MACpB,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,MAAM,CAAC;AACX;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc7B,8BAA8B","ignoreList":[]}
@@ -37,7 +37,7 @@ async function resendMessage(message, options = {}) {
37
37
  }));
38
38
  const useTranslate = !!(options.respectTranslateConfig && config?.translates?.enabled);
39
39
  if (useTranslate) {
40
- client.sendTextMessageWithTranslateTagStanza(activeRoomJID, user.firstName, user.lastName, '', user.walletAddress, message.body, '', message.isReply || false, message.showInChannel === 'true' || false, message.mainMessage || '', state.chatSettingStore.langSource || 'en');
40
+ client.sendTextMessageWithTranslateTagStanza(activeRoomJID, user.firstName, user.lastName, '', user.walletAddress, message.body, '', message.isReply || false, message.showInChannel === 'true' || false, message.mainMessage || '', state.chatSettingStore.langSource || 'en', id);
41
41
  } else {
42
42
  client.sendMessage(activeRoomJID, user.firstName, user.lastName, '', user.walletAddress, message.body, '', message.isReply || false, message.showInChannel === 'true' || false, message.mainMessage || '', id);
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_clientRegistry","require","_roomStore","_roomsSlice","_uuid","resendMessage","message","options","client","requireXmppClient","state","store","getState","user","chatSettingStore","config","activeRoomJID","roomJid","id","uuidv4","dispatch","addRoomMessage","roomJID","xmppUsername","name","firstName","lastName","date","Date","toISOString","body","xmppFrom","pending","isReply","showInChannel","mainMessage","useTranslate","respectTranslateConfig","translates","enabled","sendTextMessageWithTranslateTagStanza","walletAddress","langSource","sendMessage","_default","exports","default"],"sourceRoot":"../../../src","sources":["utils/resendMessage.ts"],"mappings":";;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAOO,eAAeI,aAAaA,CACjCC,OAIC,EACDC,OAAsB,GAAG,CAAC,CAAC,EACV;EACjB,MAAMC,MAAM,GAAG,IAAAC,iCAAiB,EAAC,CAAC;EAClC,MAAMC,KAAK,GAAGC,gBAAK,CAACC,QAAQ,CAAC,CAAC;EAC9B,MAAMC,IAAI,GAAGH,KAAK,CAACI,gBAAgB,CAACD,IAAI;EACxC,MAAME,MAAM,GAAGL,KAAK,CAACI,gBAAgB,CAACC,MAAM;EAC5C,MAAMC,aAAa,GAAGV,OAAO,CAACW,OAAO;EAErC,MAAMC,EAAE,GAAG,uBAAuB,IAAAC,QAAM,EAAC,CAAC,EAAE;EAE5CR,gBAAK,CAACS,QAAQ,CACZ,IAAAC,0BAAc,EAAC;IACbC,OAAO,EAAEN,aAAa;IACtBV,OAAO,EAAE;MACPY,EAAE;MACFL,IAAI,EAAE;QACJ,GAAGA,IAAI;QACPK,EAAE,EAAEL,IAAI,CAACU,YAAY,IAAI,EAAE;QAC3BC,IAAI,EAAEX,IAAI,CAACY,SAAS,GAAG,GAAG,GAAGZ,IAAI,CAACa;MACpC,CAAQ;MACRC,IAAI,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;MAC9BC,IAAI,EAAExB,OAAO,CAACwB,IAAI;MAClBb,OAAO,EAAED,aAAa;MACtBe,QAAQ,EAAE,GAAGf,aAAa,IAAIH,IAAI,CAACU,YAAY,EAAE;MACjDS,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE3B,OAAO,CAAC2B,OAAO,IAAI,KAAK;MACjCC,aAAa,EAAG5B,OAAO,CAAC4B,aAAa,IAAa,OAAe;MACjEC,WAAW,EAAE7B,OAAO,CAAC6B,WAAW,IAAI;IACtC;EACF,CAAC,CACH,CAAC;EAED,MAAMC,YAAY,GAAG,CAAC,EACpB7B,OAAO,CAAC8B,sBAAsB,IAAItB,MAAM,EAAEuB,UAAU,EAAEC,OAAO,CAC9D;EAED,IAAIH,YAAY,EAAE;IAChB5B,MAAM,CAACgC,qCAAqC,CAC1CxB,aAAa,EACbH,IAAI,CAACY,SAAS,EACdZ,IAAI,CAACa,QAAQ,EACb,EAAE,EACFb,IAAI,CAAC4B,aAAa,EAClBnC,OAAO,CAACwB,IAAI,EACZ,EAAE,EACFxB,OAAO,CAAC2B,OAAO,IAAI,KAAK,EACxB3B,OAAO,CAAC4B,aAAa,KAAK,MAAM,IAAI,KAAK,EACzC5B,OAAO,CAAC6B,WAAW,IAAI,EAAE,EACxBzB,KAAK,CAACI,gBAAgB,CAAC4B,UAAU,IAAY,IAChD,CAAC;EACH,CAAC,MAAM;IACLlC,MAAM,CAACmC,WAAW,CAChB3B,aAAa,EACbH,IAAI,CAACY,SAAS,EACdZ,IAAI,CAACa,QAAQ,EACb,EAAE,EACFb,IAAI,CAAC4B,aAAa,EAClBnC,OAAO,CAACwB,IAAI,EACZ,EAAE,EACFxB,OAAO,CAAC2B,OAAO,IAAI,KAAK,EACxB3B,OAAO,CAAC4B,aAAa,KAAK,MAAM,IAAI,KAAK,EACzC5B,OAAO,CAAC6B,WAAW,IAAI,EAAE,EACzBjB,EACF,CAAC;EACH;EAEA,OAAOA,EAAE;AACX;AAAC,IAAA0B,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEczC,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["_clientRegistry","require","_roomStore","_roomsSlice","_uuid","resendMessage","message","options","client","requireXmppClient","state","store","getState","user","chatSettingStore","config","activeRoomJID","roomJid","id","uuidv4","dispatch","addRoomMessage","roomJID","xmppUsername","name","firstName","lastName","date","Date","toISOString","body","xmppFrom","pending","isReply","showInChannel","mainMessage","useTranslate","respectTranslateConfig","translates","enabled","sendTextMessageWithTranslateTagStanza","walletAddress","langSource","sendMessage","_default","exports","default"],"sourceRoot":"../../../src","sources":["utils/resendMessage.ts"],"mappings":";;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAOO,eAAeI,aAAaA,CACjCC,OAIC,EACDC,OAAsB,GAAG,CAAC,CAAC,EACV;EACjB,MAAMC,MAAM,GAAG,IAAAC,iCAAiB,EAAC,CAAC;EAClC,MAAMC,KAAK,GAAGC,gBAAK,CAACC,QAAQ,CAAC,CAAC;EAC9B,MAAMC,IAAI,GAAGH,KAAK,CAACI,gBAAgB,CAACD,IAAI;EACxC,MAAME,MAAM,GAAGL,KAAK,CAACI,gBAAgB,CAACC,MAAM;EAC5C,MAAMC,aAAa,GAAGV,OAAO,CAACW,OAAO;EAErC,MAAMC,EAAE,GAAG,uBAAuB,IAAAC,QAAM,EAAC,CAAC,EAAE;EAE5CR,gBAAK,CAACS,QAAQ,CACZ,IAAAC,0BAAc,EAAC;IACbC,OAAO,EAAEN,aAAa;IACtBV,OAAO,EAAE;MACPY,EAAE;MACFL,IAAI,EAAE;QACJ,GAAGA,IAAI;QACPK,EAAE,EAAEL,IAAI,CAACU,YAAY,IAAI,EAAE;QAC3BC,IAAI,EAAEX,IAAI,CAACY,SAAS,GAAG,GAAG,GAAGZ,IAAI,CAACa;MACpC,CAAQ;MACRC,IAAI,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;MAC9BC,IAAI,EAAExB,OAAO,CAACwB,IAAI;MAClBb,OAAO,EAAED,aAAa;MACtBe,QAAQ,EAAE,GAAGf,aAAa,IAAIH,IAAI,CAACU,YAAY,EAAE;MACjDS,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE3B,OAAO,CAAC2B,OAAO,IAAI,KAAK;MACjCC,aAAa,EAAG5B,OAAO,CAAC4B,aAAa,IAAa,OAAe;MACjEC,WAAW,EAAE7B,OAAO,CAAC6B,WAAW,IAAI;IACtC;EACF,CAAC,CACH,CAAC;EAED,MAAMC,YAAY,GAAG,CAAC,EACpB7B,OAAO,CAAC8B,sBAAsB,IAAItB,MAAM,EAAEuB,UAAU,EAAEC,OAAO,CAC9D;EAED,IAAIH,YAAY,EAAE;IAChB5B,MAAM,CAACgC,qCAAqC,CAC1CxB,aAAa,EACbH,IAAI,CAACY,SAAS,EACdZ,IAAI,CAACa,QAAQ,EACb,EAAE,EACFb,IAAI,CAAC4B,aAAa,EAClBnC,OAAO,CAACwB,IAAI,EACZ,EAAE,EACFxB,OAAO,CAAC2B,OAAO,IAAI,KAAK,EACxB3B,OAAO,CAAC4B,aAAa,KAAK,MAAM,IAAI,KAAK,EACzC5B,OAAO,CAAC6B,WAAW,IAAI,EAAE,EACxBzB,KAAK,CAACI,gBAAgB,CAAC4B,UAAU,IAAY,IAAI,EAClDxB,EACF,CAAC;EACH,CAAC,MAAM;IACLV,MAAM,CAACmC,WAAW,CAChB3B,aAAa,EACbH,IAAI,CAACY,SAAS,EACdZ,IAAI,CAACa,QAAQ,EACb,EAAE,EACFb,IAAI,CAAC4B,aAAa,EAClBnC,OAAO,CAACwB,IAAI,EACZ,EAAE,EACFxB,OAAO,CAAC2B,OAAO,IAAI,KAAK,EACxB3B,OAAO,CAAC4B,aAAa,KAAK,MAAM,IAAI,KAAK,EACzC5B,OAAO,CAAC6B,WAAW,IAAI,EAAE,EACzBjB,EACF,CAAC;EACH;EAEA,OAAOA,EAAE;AACX;AAAC,IAAA0B,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEczC,aAAa","ignoreList":[]}