@ethora/chat-component-rn 26.5.5 → 26.5.10

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 (420) hide show
  1. package/CHANGELOG.md +177 -0
  2. package/README.md +67 -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 +7 -1
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js +66 -34
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js +59 -14
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  14. package/lib/commonjs/components/MainComponents/MediaMessage.js +15 -7
  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 +175 -30
  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/Message.js +117 -19
  25. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  26. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +82 -22
  27. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  28. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +16 -4
  29. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  30. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +104 -0
  31. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  32. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +175 -40
  33. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  34. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +29 -1
  35. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  36. package/lib/commonjs/components/Modals/Modal/Modal.js +5 -1
  37. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  38. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +78 -39
  39. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  40. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  41. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  42. package/lib/commonjs/components/Modals/styledModalComponents.js +4 -9
  43. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  44. package/lib/commonjs/components/styled/MediaFilePreview.js +115 -5
  45. package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
  46. package/lib/commonjs/components/styled/MessageImage.js +49 -10
  47. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  48. package/lib/commonjs/components/styled/NewMessageLabel.js +8 -6
  49. package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
  50. package/lib/commonjs/components/styled/SendInput.js +53 -29
  51. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  52. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  53. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  54. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  55. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  56. package/lib/commonjs/components/styled/UnsupportedType.js +5 -1
  57. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  58. package/lib/commonjs/components/styled/VideoMessage.js +60 -22
  59. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  60. package/lib/commonjs/context/MessageNotificationContext.js +7 -7
  61. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  62. package/lib/commonjs/context/xmppProvider.js +315 -34
  63. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  64. package/lib/commonjs/helpers/chatAutoEnterer.js +2 -7
  65. package/lib/commonjs/helpers/chatAutoEnterer.js.map +1 -1
  66. package/lib/commonjs/helpers/historyPreloadScheduler.js +4 -1
  67. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  68. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +15 -5
  69. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  70. package/lib/commonjs/helpers/keyboardLayout.js +18 -0
  71. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -0
  72. package/lib/commonjs/helpers/mediaDimensions.js +51 -0
  73. package/lib/commonjs/helpers/mediaDimensions.js.map +1 -0
  74. package/lib/commonjs/helpers/mimeToExtension.js +131 -0
  75. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -0
  76. package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
  77. package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
  78. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +73 -1
  79. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  80. package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
  81. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
  82. package/lib/commonjs/hooks/useChatWrapperInit.js +22 -10
  83. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  84. package/lib/commonjs/hooks/useEventHandlers.js +9 -1
  85. package/lib/commonjs/hooks/useEventHandlers.js.map +1 -1
  86. package/lib/commonjs/hooks/useHeapSender.js +1 -1
  87. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  88. package/lib/commonjs/hooks/useLogout.js +3 -3
  89. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  90. package/lib/commonjs/hooks/useMessageHeapState.js +6 -2
  91. package/lib/commonjs/hooks/useMessageHeapState.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 +249 -14
  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 +74 -1
  103. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  104. package/lib/commonjs/networking/apiClient.js +2 -1
  105. package/lib/commonjs/networking/apiClient.js.map +1 -1
  106. package/lib/commonjs/networking/outboundQueue.js +92 -0
  107. package/lib/commonjs/networking/outboundQueue.js.map +1 -0
  108. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  109. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  110. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  111. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  112. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  113. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  114. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  115. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  116. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  117. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  118. package/lib/commonjs/networking/xmppClient.js +371 -26
  119. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  120. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +22 -6
  121. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  122. package/lib/commonjs/roomStore/roomHeapSlice.js +26 -8
  123. package/lib/commonjs/roomStore/roomHeapSlice.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 +7 -1
  135. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  136. package/lib/module/components/MainComponents/ChatRoom.js +67 -35
  137. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  138. package/lib/module/components/MainComponents/ChatWrapper.js +59 -14
  139. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  140. package/lib/module/components/MainComponents/MediaMessage.js +15 -7
  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 +176 -31
  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/Message.js +118 -20
  151. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  152. package/lib/module/components/MessageBubble/MessageInteractions.js +84 -24
  153. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  154. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +15 -3
  155. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  156. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +99 -0
  157. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  158. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +179 -42
  159. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  160. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +31 -3
  161. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  162. package/lib/module/components/Modals/Modal/Modal.js +5 -1
  163. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  164. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +80 -41
  165. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  166. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  167. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  168. package/lib/module/components/Modals/styledModalComponents.js +4 -9
  169. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  170. package/lib/module/components/styled/MediaFilePreview.js +116 -6
  171. package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
  172. package/lib/module/components/styled/MessageImage.js +51 -12
  173. package/lib/module/components/styled/MessageImage.js.map +1 -1
  174. package/lib/module/components/styled/NewMessageLabel.js +8 -6
  175. package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
  176. package/lib/module/components/styled/SendInput.js +54 -30
  177. package/lib/module/components/styled/SendInput.js.map +1 -1
  178. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  179. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  180. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  181. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  182. package/lib/module/components/styled/UnsupportedType.js +5 -1
  183. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  184. package/lib/module/components/styled/VideoMessage.js +61 -23
  185. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  186. package/lib/module/context/MessageNotificationContext.js +7 -7
  187. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  188. package/lib/module/context/xmppProvider.js +319 -37
  189. package/lib/module/context/xmppProvider.js.map +1 -1
  190. package/lib/module/helpers/chatAutoEnterer.js +2 -7
  191. package/lib/module/helpers/chatAutoEnterer.js.map +1 -1
  192. package/lib/module/helpers/historyPreloadScheduler.js +4 -1
  193. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  194. package/lib/module/helpers/insertMessageWithDelimiter.js +15 -5
  195. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  196. package/lib/module/helpers/keyboardLayout.js +12 -0
  197. package/lib/module/helpers/keyboardLayout.js.map +1 -0
  198. package/lib/module/helpers/mediaDimensions.js +46 -0
  199. package/lib/module/helpers/mediaDimensions.js.map +1 -0
  200. package/lib/module/helpers/mimeToExtension.js +124 -0
  201. package/lib/module/helpers/mimeToExtension.js.map +1 -0
  202. package/lib/module/helpers/normalizeRoomJid.js +15 -0
  203. package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
  204. package/lib/module/helpers/resolveInitBeforeLoadUser.js +71 -0
  205. package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  206. package/lib/module/hooks/useChatRoomFocus.js +82 -0
  207. package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
  208. package/lib/module/hooks/useChatWrapperInit.js +22 -10
  209. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  210. package/lib/module/hooks/useEventHandlers.js +9 -1
  211. package/lib/module/hooks/useEventHandlers.js.map +1 -1
  212. package/lib/module/hooks/useHeapSender.js +1 -1
  213. package/lib/module/hooks/useHeapSender.js.map +1 -1
  214. package/lib/module/hooks/useLogout.js +3 -3
  215. package/lib/module/hooks/useLogout.js.map +1 -1
  216. package/lib/module/hooks/useMessageHeapState.js +6 -2
  217. package/lib/module/hooks/useMessageHeapState.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 +252 -17
  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 +74 -2
  229. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  230. package/lib/module/networking/apiClient.js +2 -1
  231. package/lib/module/networking/apiClient.js.map +1 -1
  232. package/lib/module/networking/outboundQueue.js +84 -0
  233. package/lib/module/networking/outboundQueue.js.map +1 -0
  234. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  235. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  236. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  237. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  238. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  239. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  240. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  241. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  242. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  243. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  244. package/lib/module/networking/xmppClient.js +371 -26
  245. package/lib/module/networking/xmppClient.js.map +1 -1
  246. package/lib/module/roomStore/Middleware/unreadMidlleware.js +22 -6
  247. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  248. package/lib/module/roomStore/roomHeapSlice.js +24 -7
  249. package/lib/module/roomStore/roomHeapSlice.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/Message.d.ts.map +1 -1
  271. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +4 -2
  272. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  273. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  274. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +29 -0
  275. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -0
  276. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +0 -1
  277. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  278. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  279. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  280. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts +6 -0
  281. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  282. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  283. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  284. package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
  285. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  286. package/lib/typescript/components/styled/NewMessageLabel.d.ts +1 -5
  287. package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
  288. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  289. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +9 -1
  290. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  291. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  292. package/lib/typescript/components/styled/UnsupportedType.d.ts +1 -0
  293. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  294. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  295. package/lib/typescript/context/xmppProvider.d.ts +1 -0
  296. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  297. package/lib/typescript/helpers/chatAutoEnterer.d.ts.map +1 -1
  298. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  299. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  300. package/lib/typescript/helpers/keyboardLayout.d.ts +9 -0
  301. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -0
  302. package/lib/typescript/helpers/mediaDimensions.d.ts +9 -0
  303. package/lib/typescript/helpers/mediaDimensions.d.ts.map +1 -0
  304. package/lib/typescript/helpers/mimeToExtension.d.ts +37 -0
  305. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -0
  306. package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
  307. package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
  308. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts +18 -0
  309. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
  310. package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
  311. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
  312. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  313. package/lib/typescript/hooks/useEventHandlers.d.ts +6 -0
  314. package/lib/typescript/hooks/useEventHandlers.d.ts.map +1 -1
  315. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  316. package/lib/typescript/hooks/useMessageHeapState.d.ts +2 -0
  317. package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
  318. package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
  319. package/lib/typescript/hooks/useRoomState.d.ts +1 -0
  320. package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
  321. package/lib/typescript/hooks/useSendMessage.d.ts +2 -1
  322. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  323. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  324. package/lib/typescript/main.d.ts +1 -0
  325. package/lib/typescript/main.d.ts.map +1 -1
  326. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -0
  327. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  328. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  329. package/lib/typescript/networking/outboundQueue.d.ts +57 -0
  330. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -0
  331. package/lib/typescript/networking/xmpp/createTimeoutPromise.xmpp.d.ts.map +1 -1
  332. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -1
  333. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  334. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts +1 -1
  335. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts.map +1 -1
  336. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  337. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  338. package/lib/typescript/networking/xmppClient.d.ts +58 -5
  339. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  340. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  341. package/lib/typescript/roomStore/roomHeapSlice.d.ts +22 -1
  342. package/lib/typescript/roomStore/roomHeapSlice.d.ts.map +1 -1
  343. package/lib/typescript/roomStore/roomsSlice.d.ts +8 -1
  344. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  345. package/lib/typescript/types/models/media.model.d.ts +1 -0
  346. package/lib/typescript/types/models/media.model.d.ts.map +1 -1
  347. package/lib/typescript/types/models/xmpp.model.d.ts +1 -1
  348. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  349. package/lib/typescript/types/types.d.ts +10 -0
  350. package/lib/typescript/types/types.d.ts.map +1 -1
  351. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts +20 -0
  352. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts.map +1 -0
  353. package/lib/typescript/utils/resendMessage.d.ts.map +1 -1
  354. package/package.json +18 -2
  355. package/src/assets/icons.tsx +23 -14
  356. package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
  357. package/src/components/MainComponents/ChatHeader.tsx +5 -1
  358. package/src/components/MainComponents/ChatRoom.tsx +81 -61
  359. package/src/components/MainComponents/ChatWrapper.tsx +100 -21
  360. package/src/components/MainComponents/MediaMessage.tsx +18 -8
  361. package/src/components/MainComponents/MessageContainer.tsx +4 -2
  362. package/src/components/MainComponents/MessageList.tsx +185 -31
  363. package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
  364. package/src/components/MainComponents/SystemMessage.tsx +38 -26
  365. package/src/components/MessageBubble/Message.tsx +110 -27
  366. package/src/components/MessageBubble/MessageInteractions.tsx +98 -29
  367. package/src/components/Modals/AttachSheet/AttachSheet.tsx +17 -3
  368. package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
  369. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +182 -37
  370. package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
  371. package/src/components/Modals/Modal/Modal.tsx +4 -1
  372. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +77 -44
  373. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
  374. package/src/components/Modals/styledModalComponents.tsx +4 -9
  375. package/src/components/styled/MediaFilePreview.tsx +111 -5
  376. package/src/components/styled/MessageImage.tsx +58 -14
  377. package/src/components/styled/NewMessageLabel.tsx +8 -5
  378. package/src/components/styled/SendInput.tsx +67 -29
  379. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +15 -5
  380. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +7 -2
  381. package/src/components/styled/UnsupportedType.tsx +7 -1
  382. package/src/components/styled/VideoMessage.tsx +59 -18
  383. package/src/context/MessageNotificationContext.tsx +8 -8
  384. package/src/context/xmppProvider.tsx +337 -32
  385. package/src/helpers/chatAutoEnterer.ts +2 -8
  386. package/src/helpers/historyPreloadScheduler.ts +4 -1
  387. package/src/helpers/insertMessageWithDelimiter.ts +22 -15
  388. package/src/helpers/keyboardLayout.ts +18 -0
  389. package/src/helpers/mediaDimensions.ts +47 -0
  390. package/src/helpers/mimeToExtension.ts +135 -0
  391. package/src/helpers/normalizeRoomJid.ts +6 -0
  392. package/src/helpers/resolveInitBeforeLoadUser.ts +79 -0
  393. package/src/hooks/useChatRoomFocus.ts +95 -0
  394. package/src/hooks/useChatWrapperInit.ts +51 -46
  395. package/src/hooks/useEventHandlers.tsx +24 -1
  396. package/src/hooks/useHeapSender.tsx +2 -1
  397. package/src/hooks/useLogout.tsx +3 -3
  398. package/src/hooks/useMessageHeapState.tsx +6 -2
  399. package/src/hooks/usePushNotifications.ts +21 -8
  400. package/src/hooks/useRoomState.tsx +4 -0
  401. package/src/hooks/useSendMessage.tsx +333 -17
  402. package/src/hooks/useUnreadMessagesCounter.ts +13 -16
  403. package/src/main.ts +1 -0
  404. package/src/networking/api-requests/auth.api.ts +60 -2
  405. package/src/networking/apiClient.ts +2 -1
  406. package/src/networking/outboundQueue.ts +98 -0
  407. package/src/networking/xmpp/createTimeoutPromise.xmpp.ts +5 -1
  408. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +11 -13
  409. package/src/networking/xmpp/getRoomsPaged.xmpp.ts +27 -3
  410. package/src/networking/xmpp/presenceInRoom.xmpp.ts +24 -9
  411. package/src/networking/xmpp/sendTextMessage.xmpp.ts +2 -1
  412. package/src/networking/xmppClient.ts +399 -31
  413. package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
  414. package/src/roomStore/roomHeapSlice.ts +47 -4
  415. package/src/roomStore/roomsSlice.ts +177 -27
  416. package/src/types/models/media.model.ts +3 -0
  417. package/src/types/models/xmpp.model.ts +2 -1
  418. package/src/types/types.ts +25 -0
  419. package/src/utils/installPromiseRejectionTracker.ts +91 -0
  420. package/src/utils/resendMessage.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"names":["xmpp","walletToUsername","sendMediaMessage","getChatsPrivateStoreRequest","actionSetTimestampToPrivateStore","flushLastViewedToPrivateStore","sendTypingRequest","getHistory","sendTextMessage","deleteMessage","presenceInRoom","getLastMessage","createRoom","setRoomImage","getRoomMembers","getRoomInfo","leaveTheRoom","editMessage","inviteRoomRequest","getRooms","handleStanza","pushLog","devPushLog","DEFAULT_DEV_SERVER","XmppClient","host","service","conference","status","password","reconnectAttempts","maxReconnectAttempts","reconnectDelay","suppressReconnect","presencesReady","disableLastRead","activeRoomJID","activeRoomBoostUntil","softPauseUntil","mamInFlightByRoom","Map","maxInFlightHistory","softPauseAfterSendMs","activeRoomBoostTtlMs","alwaysPrioritizeActiveRoom","checkOnline","client","constructor","username","xmppSettings","devServer","qos","historyQoS","initializeClient","setActiveRoomJid","roomJID","promoteRoomHistory","_roomJID","Date","now","isActiveRoomGateOpen","size","onCriticalSend","_messageId","prioritizeRoomPresence","presenceInRoomStanza","enqueueHistoryTask","params","chatJID","max","before","id","source","existing","get","sourceRank","promise","Promise","r","setTimeout","wait","handle","p","cur","delete","set","startedAt","s","url","match","setMaxListeners","origSend","send","bind","wrapped","stanza","tag","name","attrs","to","split","toString","undefined","Object","defineProperty","value","writable","configurable","err","console","warn","attachEventListeners","start","catch","error","on","log","message","from","type","waitForOnline","timeoutMs","resolve","reject","tick","Error","ensureConnected","timeout","scheduleReconnect","delay","Math","pow","reconnect","stop","finally","disconnect","options","close","getRoomsStanza","createRoomStanza","title","description","inviteRoomRequestStanza","roomJid","leaveTheRoomStanza","getHistoryStanza","coalesceRoom","getLastMessageArchiveStanza","setRoomImageStanza","roomThumbnail","roomBackground","getRoomInfoStanza","getRoomMembersStanza","sendMessage","firstName","lastName","photo","walletAddress","userMessage","notDisplayedValue","isReply","showInChannel","mainMessage","customId","deleteMessageStanza","room","msgId","editMessageStanza","text","sendTypingRequestStanza","chatId","fullName","getChatsPrivateStoreRequestStanza","actionSetTimestampToPrivateStoreStanza","timestamp","chats","flushLastViewedToPrivateStoreStanza","rooms","opts","sendMediaMessageStanza","data","setVCardStanza","_xmppUsername","createPrivateRoomStanza","result","sendMessageReactionStanza","_roomJid","_reactionsList","_reactionSymbol","sendTextMessageWithTranslateTagStanza","_langSource"],"sourceRoot":"../../../src","sources":["networking/xmppClient.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["xmpp","walletToUsername","sendMediaMessage","getChatsPrivateStoreRequest","actionSetTimestampToPrivateStore","flushLastViewedToPrivateStore","sendTypingRequest","getHistory","sendTextMessage","deleteMessage","presenceInRoom","getLastMessage","createRoom","setRoomImage","getRoomMembers","getRoomInfo","leaveTheRoom","editMessage","inviteRoomRequest","getRooms","handleStanza","pushLog","devPushLog","normalizeRoomJid","clearOutboundSends","enqueueOutboundSend","flushOutboundSends","DEFAULT_DEV_SERVER","isNotAuthorizedError","err","condition","name","type","error","includes","message","text","toString","test","XmppClient","host","service","conference","status","password","reconnectAttempts","maxReconnectAttempts","reconnectDelay","maxReconnectDelay","lastReconnectAt","suppressReconnect","reconnectTimer","reconnecting","lastAuthError","credentialsProvider","credentialsRefreshInFlight","onOnlineCallback","presencesReady","disableLastRead","activeRoomJID","activeRoomBoostUntil","softPauseUntil","mamInFlightByRoom","Map","maxInFlightHistory","softPauseAfterSendMs","activeRoomBoostTtlMs","alwaysPrioritizeActiveRoom","checkOnline","client","setCredentialsProvider","provider","setOnOnline","cb","updateCredentials","username","constructor","xmppSettings","devServer","qos","historyQoS","initializeClient","setActiveRoomJid","roomJID","promoteRoomHistory","_roomJID","Date","now","isActiveRoomGateOpen","size","onCriticalSend","_messageId","prioritizeRoomPresence","presenceInRoomStanza","enqueueHistoryTask","params","chatJID","max","before","id","source","existing","get","sourceRank","promise","Promise","r","setTimeout","wait","handle","p","cur","delete","set","startedAt","s","url","match","detachEventListeners","reconnect","stop","setMaxListeners","origSend","send","bind","wrapped","stanza","tag","attrs","to","split","undefined","result","catch","Object","defineProperty","value","writable","configurable","console","warn","attachEventListeners","start","scheduleReconnect","onDisconnect","log","onOnline","flushPendingSends","onError","onStanza","from","on","c","removeListener","waitForOnline","timeoutMs","resolve","reject","tick","Error","ensureConnected","timeout","exp","Math","min","delay","pow","forceReconnect","clearTimeout","refreshCredentialsOnce","old","fresh","disconnect","options","close","getRoomsStanza","createRoomStanza","title","description","inviteRoomRequestStanza","roomJid","leaveTheRoomStanza","getHistoryStanza","coalesceRoom","getLastMessageArchiveStanza","setRoomImageStanza","roomThumbnail","roomBackground","getRoomInfoStanza","getRoomMembersStanza","isStreamReady","sendMessage","firstName","lastName","photo","walletAddress","userMessage","notDisplayedValue","isReply","showInChannel","mainMessage","customId","optimisticId","enqueuedAt","deleteMessageStanza","room","msgId","editMessageStanza","sendTypingRequestStanza","chatId","fullName","getChatsPrivateStoreRequestStanza","actionSetTimestampToPrivateStoreStanza","timestamp","chats","flushLastViewedToPrivateStoreStanza","rooms","opts","sendMediaMessageStanza","data","setVCardStanza","_xmppUsername","createPrivateRoomStanza","sendMessageReactionStanza","_roomJid","_reactionsList","_reactionSymbol","sendTextMessageWithTranslateTagStanza","_langSource"],"sourceRoot":"../../../src","sources":["networking/xmppClient.ts"],"mappings":"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","ignoreList":[]}
@@ -55,7 +55,12 @@ const isOwnMessage = (msg, selfXmpp, selfWallet) => {
55
55
  // events, typing-indicator setComposing, etc. — and walked every room's
56
56
  // messages array looking for a count delta that almost never came. For
57
57
  // 50 rooms × 100 messages that's 5000 Date() parses per modal click.
58
- const TRIGGER_ACTIONS = new Set(['roomMessages/addRoomMessage', 'roomMessages/setRoomMessages', 'roomMessages/editRoomMessage', 'roomMessages/setLastViewedTimestamp', 'roomMessages/setCurrentRoom', 'roomMessages/addRoom', 'roomMessages/updateRoom']);
58
+ const TRIGGER_ACTIONS = new Set(['roomMessages/addRoomMessage', 'roomMessages/setRoomMessages', 'roomMessages/editRoomMessage', 'roomMessages/setLastViewedTimestamp', 'roomMessages/setCurrentRoom', 'roomMessages/setVisibleRoom', 'roomMessages/clearVisibleRoom', 'roomMessages/addRoom', 'roomMessages/updateRoom',
59
+ // The history preload scheduler merges fetched pages via this action on
60
+ // re-entry; recompute so unread reflects messages that arrived while the
61
+ // app was away (the per-room fingerprint cache below skips no-op batches,
62
+ // e.g. the 'loading' marker dispatch that carries no messages).
63
+ 'roomMessages/applyRoomsPreloadBatch']);
59
64
  export const unreadMiddleware = storeAPI => next => action => {
60
65
  if (!action || !action.type) {
61
66
  console.error('Invalid action in unreadMiddleware:', action);
@@ -80,7 +85,7 @@ export const unreadMiddleware = storeAPI => next => action => {
80
85
  }
81
86
  const state = storeAPI.getState();
82
87
  const rooms = state.rooms.rooms;
83
- const activeChatJID = state.rooms.activeRoomJID;
88
+ const visibleRoomJID = state.rooms.visibleRoomJID;
84
89
  const selfUser = state.chatSettingStore?.user;
85
90
  const selfXmpp = selfUser?.xmppUsername || '';
86
91
  const selfWallet = selfUser?.walletAddress || '';
@@ -90,13 +95,24 @@ export const unreadMiddleware = storeAPI => next => action => {
90
95
  if (!room) {
91
96
  return;
92
97
  }
93
- // Skip rooms the user is currently viewing — `setLastViewedTimestamp(0)`
94
- // clears their unread directly. Skip rooms with no reference point
95
- // (covers undefined / null / 0) — after logout→login, hydrated rooms
98
+ // Skip rooms the user is currently viewing — visibility clears the
99
+ // badge directly. Skip rooms with no reference point (covers
100
+ // undefined / null / 0) — after logout→login, hydrated rooms
96
101
  // come back without lastViewedTimestamp, and treating that as 0
97
102
  // made every history message satisfy `date > 0` and incorrectly
98
103
  // bumped unread for already-seen content.
99
- if (!room.lastViewedTimestamp || jid === activeChatJID) {
104
+ if (jid === visibleRoomJID) {
105
+ if (room.unreadMessages !== 0) {
106
+ storeAPI.dispatch(updateRoom({
107
+ jid,
108
+ updates: {
109
+ unreadMessages: 0
110
+ }
111
+ }));
112
+ }
113
+ return;
114
+ }
115
+ if (!(room.lastViewedTimestamp > 0)) {
100
116
  return;
101
117
  }
102
118
 
@@ -1 +1 @@
1
- {"version":3,"names":["updateRoom","msgSortableMs","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","unreadMessages","dispatch","updates"],"sourceRoot":"../../../../src","sources":["roomStore/Middleware/unreadMidlleware.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["updateRoom","msgSortableMs","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","updates","lastViewedTimestamp","currentMessagesLength","messages","fingerprint","unreadMessagesCount","pending"],"sourceRoot":"../../../../src","sources":["roomStore/Middleware/unreadMidlleware.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  import { createSlice } from '@reduxjs/toolkit';
4
+
5
+ // Saved alongside a failed-message id so the retry button can resend
6
+ // without the bubble needing to remember the original draft itself.
7
+ // `kind === 'text'` carries the plain body; `kind === 'media'` carries
8
+ // the upload payload so we don't have to make the user re-pick the file.
9
+
4
10
  const initialState = {
5
- messageHeap: []
11
+ messageHeap: [],
12
+ failedMessages: {}
6
13
  };
7
-
8
- // Reducers extracted as a named const so we can give the slice an
9
- // explicit Slice<State, typeof reducers, Name> type. Without that, tsc's
10
- // declaration emission inlines immer's internal WritableNonArrayDraft
11
- // type and fails with TS4023.
12
14
  const reducers = {
13
15
  addMessageToHeap: (state, action) => {
14
16
  state.messageHeap.push(action.payload);
@@ -21,6 +23,19 @@ const reducers = {
21
23
  },
22
24
  clearHeap: state => {
23
25
  state.messageHeap = [];
26
+ state.failedMessages = {};
27
+ },
28
+ markMessageFailed: (state, action) => {
29
+ state.failedMessages[action.payload.id] = action.payload;
30
+ // Drop from the pending heap — the bubble looks at both, and
31
+ // showing "sending..." alongside a failure indicator is confusing.
32
+ const index = state.messageHeap.findIndex(m => m.id === action.payload.id);
33
+ if (index !== -1) {
34
+ state.messageHeap.splice(index, 1);
35
+ }
36
+ },
37
+ clearMessageFailure: (state, action) => {
38
+ delete state.failedMessages[action.payload];
24
39
  }
25
40
  };
26
41
  export const roomHeapSlice = createSlice({
@@ -31,7 +46,9 @@ export const roomHeapSlice = createSlice({
31
46
  export const {
32
47
  addMessageToHeap,
33
48
  clearHeap,
34
- removeMessageFromHeapById
49
+ removeMessageFromHeapById,
50
+ markMessageFailed,
51
+ clearMessageFailure
35
52
  } = roomHeapSlice.actions;
36
53
  export default roomHeapSlice.reducer;
37
54
  //# sourceMappingURL=roomHeapSlice.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSlice","initialState","messageHeap","reducers","addMessageToHeap","state","action","push","payload","removeMessageFromHeapById","index","findIndex","m","id","splice","clearHeap","roomHeapSlice","name","actions","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomHeapSlice.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAmC,kBAAkB;AAQzE,MAAMC,YAAgC,GAAG;EACvCC,WAAW,EAAE;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMC,QAAQ,GAAG;EACfC,gBAAgB,EAAEA,CAACC,KAAwC,EAAEC,MAA+B,KAAK;IAC/FD,KAAK,CAACH,WAAW,CAACK,IAAI,CAACD,MAAM,CAACE,OAAO,CAAC;EACxC,CAAC;EACDC,yBAAyB,EAAEA,CAACJ,KAAwC,EAAEC,MAA6B,KAAK;IACtG,MAAMI,KAAK,GAAGL,KAAK,CAACH,WAAW,CAACS,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKP,MAAM,CAACE,OAAO,CAAC;IACzE,IAAIE,KAAK,KAAK,CAAC,CAAC,EAAE;MAChBL,KAAK,CAACH,WAAW,CAACY,MAAM,CAACJ,KAAK,EAAE,CAAC,CAAC;IACpC;EACF,CAAC;EACDK,SAAS,EAAGV,KAAwC,IAAK;IACvDA,KAAK,CAACH,WAAW,GAAG,EAAE;EACxB;AACF,CAAC;AAED,OAAO,MAAMc,aAA0E,GAAGhB,WAAW,CAAC;EACpGiB,IAAI,EAAE,eAAe;EACrBhB,YAAY;EACZE;AACF,CAAC,CAAC;AAEF,OAAO,MAAM;EACXC,gBAAgB;EAChBW,SAAS;EACTN;AACF,CAAC,GAAGO,aAAa,CAACE,OAAO;AAEzB,eAAeF,aAAa,CAACG,OAAO","ignoreList":[]}
1
+ {"version":3,"names":["createSlice","initialState","messageHeap","failedMessages","reducers","addMessageToHeap","state","action","push","payload","removeMessageFromHeapById","index","findIndex","m","id","splice","clearHeap","markMessageFailed","clearMessageFailure","roomHeapSlice","name","actions","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomHeapSlice.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAmC,kBAAkB;;AAIzE;AACA;AACA;AACA;;AA6BA,MAAMC,YAAgC,GAAG;EACvCC,WAAW,EAAE,EAAE;EACfC,cAAc,EAAE,CAAC;AACnB,CAAC;AAED,MAAMC,QAAQ,GAAG;EACfC,gBAAgB,EAAEA,CAACC,KAAwC,EAAEC,MAA+B,KAAK;IAC/FD,KAAK,CAACJ,WAAW,CAACM,IAAI,CAACD,MAAM,CAACE,OAAO,CAAC;EACxC,CAAC;EACDC,yBAAyB,EAAEA,CAACJ,KAAwC,EAAEC,MAA6B,KAAK;IACtG,MAAMI,KAAK,GAAGL,KAAK,CAACJ,WAAW,CAACU,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKP,MAAM,CAACE,OAAO,CAAC;IACzE,IAAIE,KAAK,KAAK,CAAC,CAAC,EAAE;MAChBL,KAAK,CAACJ,WAAW,CAACa,MAAM,CAACJ,KAAK,EAAE,CAAC,CAAC;IACpC;EACF,CAAC;EACDK,SAAS,EAAGV,KAAwC,IAAK;IACvDA,KAAK,CAACJ,WAAW,GAAG,EAAE;IACtBI,KAAK,CAACH,cAAc,GAAG,CAAC,CAAC;EAC3B,CAAC;EACDc,iBAAiB,EAAEA,CACjBX,KAAwC,EACxCC,MAA2C,KACxC;IACHD,KAAK,CAACH,cAAc,CAACI,MAAM,CAACE,OAAO,CAACK,EAAE,CAAC,GAAGP,MAAM,CAACE,OAAO;IACxD;IACA;IACA,MAAME,KAAK,GAAGL,KAAK,CAACJ,WAAW,CAACU,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKP,MAAM,CAACE,OAAO,CAACK,EAAE,CAAC;IAC5E,IAAIH,KAAK,KAAK,CAAC,CAAC,EAAE;MAChBL,KAAK,CAACJ,WAAW,CAACa,MAAM,CAACJ,KAAK,EAAE,CAAC,CAAC;IACpC;EACF,CAAC;EACDO,mBAAmB,EAAEA,CAACZ,KAAwC,EAAEC,MAA6B,KAAK;IAChG,OAAOD,KAAK,CAACH,cAAc,CAACI,MAAM,CAACE,OAAO,CAAC;EAC7C;AACF,CAAC;AAED,OAAO,MAAMU,aAA0E,GAAGnB,WAAW,CAAC;EACpGoB,IAAI,EAAE,eAAe;EACrBnB,YAAY;EACZG;AACF,CAAC,CAAC;AAEF,OAAO,MAAM;EACXC,gBAAgB;EAChBW,SAAS;EACTN,yBAAyB;EACzBO,iBAAiB;EACjBC;AACF,CAAC,GAAGC,aAAa,CAACE,OAAO;AAEzB,eAAeF,aAAa,CAACG,OAAO","ignoreList":[]}
@@ -19,9 +19,62 @@ const enforceMessageCap = messages => {
19
19
  messages.shift();
20
20
  }
21
21
  };
22
+
23
+ // Merge a freshly-fetched recent history page into a room's cached
24
+ // messages instead of REPLACING them — so re-entering the app no longer
25
+ // wipes older history (and the unread derived from it). Mirrors the web
26
+ // SDK's incremental sync:
27
+ // • union + dedupe by message id (the server-authoritative,
28
+ // microsecond-resolution stanza id) — overlapping messages collapse
29
+ // and older cached history is kept;
30
+ // • if the fetched page shares NO id with the cache, a gap has opened
31
+ // (more than a page of new messages arrived while away) and stitching
32
+ // them would leave a hole — so we clear THIS chat's cache and keep
33
+ // just the fresh page;
34
+ // • locally-pending (optimistic) sends are always preserved;
35
+ // • an empty fetch leaves the cache untouched (the old replace wiped it);
36
+ // • the transient 'delimiter-new' marker is dropped (the realtime insert
37
+ // path re-derives it) so it can't mis-sort.
38
+ // `function` (hoisted) so the reducers above can call it regardless of
39
+ // where it sits in the file. msgSortableMs (defined below) is referenced
40
+ // at call time, after module init.
41
+ function mergeHistoryIntoCache(existing, fetched) {
42
+ const ex = Array.isArray(existing) ? existing : [];
43
+ const fe = Array.isArray(fetched) ? fetched : [];
44
+ const pending = ex.filter(m => m?.pending);
45
+ const realExisting = ex.filter(m => m && !m.pending && m.id !== 'delimiter-new');
46
+ const realFetched = fe.filter(m => m && m.id !== 'delimiter-new');
47
+
48
+ // Nothing usable came back → keep the cache exactly as it was.
49
+ if (realFetched.length === 0) {
50
+ return ex;
51
+ }
52
+ const byMs = (a, b) => msgSortableMs(a) - msgSortableMs(b);
53
+ const capTail = arr => arr.length > RUNTIME_MESSAGE_LIMIT ? arr.slice(-RUNTIME_MESSAGE_LIMIT) : arr;
54
+ const existingIds = new Set(realExisting.map(m => String(m.id)));
55
+ const overlaps = realFetched.some(m => existingIds.has(String(m.id)));
56
+
57
+ // Cold room, or a gap (no shared id) → can't merge → use the fresh page.
58
+ if (realExisting.length === 0 || !overlaps) {
59
+ return [...capTail(realFetched.slice().sort(byMs)), ...pending];
60
+ }
61
+
62
+ // Overlap → union + dedupe by id. Fetched wins on collision: it carries
63
+ // the freshest server state (reactions / edits / deletions).
64
+ const byId = new Map();
65
+ for (const m of realExisting) {
66
+ byId.set(String(m.id), m);
67
+ }
68
+ for (const m of realFetched) {
69
+ byId.set(String(m.id), m);
70
+ }
71
+ const merged = Array.from(byId.values()).sort(byMs);
72
+ return [...capTail(merged), ...pending];
73
+ }
22
74
  const initialState = {
23
75
  rooms: {},
24
76
  activeRoomJID: null,
77
+ visibleRoomJID: null,
25
78
  isLoading: false,
26
79
  editAction: {
27
80
  isEdit: false,
@@ -58,16 +111,59 @@ const reducers = {
58
111
  roomData
59
112
  } = action.payload;
60
113
  const existing = state.rooms[roomData.jid];
61
- // Preserve a pre-existing lastViewedTimestamp (the private-store
62
- // pull may have landed before /chats/my finished). If neither
63
- // source set one, stamp `Date.now()` so initial REST history
64
- // counts as "seen" — without this default, every back-history
65
- // message read by the unread middleware satisfies `>0` and the
66
- // badge shows the entire room population on first paint.
67
- const lastViewed = roomData.lastViewedTimestamp ?? existing?.lastViewedTimestamp ?? Date.now();
114
+ // Default-marker resolution (cold-start unread bug):
115
+ // 1. Explicit value on the payload wins.
116
+ // 2. Existing redux value wins (preserves persisted/hydrated
117
+ // markers when the privateStore pull lands before
118
+ // /chats/my).
119
+ // 3. Otherwise, anchor to the *newest known message* in the
120
+ // payload — this marks everything currently in the room
121
+ // as "seen" but lets any NEWER incoming message count as
122
+ // unread. Previously this fell back to `Date.now()`, which
123
+ // stamped a future-leaning marker that hid genuinely-new
124
+ // messages received while the app was closed.
125
+ // 4. If there are no messages at all yet, stamp `0` (=
126
+ // "unknown — let the privateStore hydration set the real
127
+ // marker before any future message arrives").
128
+ let lastViewed;
129
+ // Treat an incoming `0` as "unset". stanzaHandlers' addRoom passes
130
+ // `lastViewedTimestamp: 0` as a placeholder; the old `!= null` check
131
+ // let that 0 win and OVERWROTE the persisted/hydrated marker from
132
+ // the previous session, so cold-start showed no unread badge for
133
+ // messages received while the app was closed (bug #19/#20). A real
134
+ // (non-zero) explicit value still wins; otherwise keep the existing
135
+ // value; otherwise anchor to the newest message in the payload.
136
+ if (roomData.lastViewedTimestamp != null && roomData.lastViewedTimestamp !== 0) {
137
+ lastViewed = roomData.lastViewedTimestamp;
138
+ } else if (existing?.lastViewedTimestamp != null) {
139
+ lastViewed = existing.lastViewedTimestamp;
140
+ } else {
141
+ const msgs = roomData.messages || [];
142
+ let newest = 0;
143
+ for (const m of msgs) {
144
+ const t = m?.messageTimestampMs || (m?.date ? new Date(m.date).getTime() : 0);
145
+ if (t > newest) {
146
+ newest = t;
147
+ }
148
+ }
149
+ lastViewed = newest; // 0 if no messages → cold-start safe
150
+ }
151
+ // Preserve cached messages + unread when the incoming room carries
152
+ // none. The /chats/my fetch (rooms.api) builds rooms with
153
+ // `messages: []` and no unread; without this guard, re-entering the
154
+ // app replaced every cached room with an empty one — wiping history
155
+ // AND the unread badge before the history scheduler could re-merge
156
+ // (the user's "it clears cache, unread and messages" bug). New rooms
157
+ // (no existing) fall through to the incoming values. Mirrors
158
+ // addRoomFromApi's preservation.
159
+ const incomingMessages = Array.isArray(roomData.messages) ? roomData.messages : [];
160
+ const existingMessages = Array.isArray(existing?.messages) ? existing.messages : [];
68
161
  state.rooms[roomData.jid] = {
69
162
  ...roomData,
70
- lastViewedTimestamp: lastViewed
163
+ messages: existingMessages.length > 0 ? existingMessages : incomingMessages,
164
+ lastViewedTimestamp: lastViewed,
165
+ unreadMessages: roomData.unreadMessages ?? existing?.unreadMessages ?? 0,
166
+ unreadBaselineTimestamp: existing?.unreadBaselineTimestamp ?? existing?.lastViewedTimestamp ?? roomData.unreadBaselineTimestamp ?? 0
71
167
  };
72
168
  },
73
169
  deleteRoom(state, action) {
@@ -76,6 +172,9 @@ const reducers = {
76
172
  } = action.payload;
77
173
  if (state.rooms[jid]) {
78
174
  delete state.rooms[jid];
175
+ if (state.visibleRoomJID === jid) {
176
+ state.visibleRoomJID = null;
177
+ }
79
178
  }
80
179
  },
81
180
  updateRoom(state, action) {
@@ -109,13 +208,27 @@ const reducers = {
109
208
  roomJID,
110
209
  messageId
111
210
  } = action.payload;
112
- if (state.rooms[roomJID]) {
113
- state.rooms[roomJID].messages.map(message => {
114
- if (message.id === messageId) {
115
- message.isDeleted = true;
116
- }
117
- });
211
+ const room = state.rooms[roomJID];
212
+ if (!room?.messages) {
213
+ return;
118
214
  }
215
+ // The "New messages" divider is a transient UI marker, not a real
216
+ // message — SPLICE it out so it can be re-inserted for the next
217
+ // unread batch. Marking it isDeleted (like a real message) left it in
218
+ // the array, where insertMessageWithDelimiter's "already present"
219
+ // guard then blocked every future divider (one-shot bug).
220
+ if (messageId === 'delimiter-new') {
221
+ const idx = room.messages.findIndex(m => m.id === 'delimiter-new');
222
+ if (idx !== -1) {
223
+ room.messages.splice(idx, 1);
224
+ }
225
+ return;
226
+ }
227
+ room.messages.map(message => {
228
+ if (message.id === messageId) {
229
+ message.isDeleted = true;
230
+ }
231
+ });
119
232
  },
120
233
  setEditAction: (state, action) => {
121
234
  if (action.payload?.isEdit) {
@@ -167,7 +280,8 @@ const reducers = {
167
280
  if (roomMessages.length === 0 || start) {
168
281
  roomMessages.unshift(message);
169
282
  } else {
170
- const lastViewedTimestamp = state.rooms[roomJID].lastViewedTimestamp ? new Date(state.rooms[roomJID].lastViewedTimestamp) : null;
283
+ const lastViewedValue = state.rooms[roomJID].lastViewedTimestamp;
284
+ const lastViewedTimestamp = state.visibleRoomJID === roomJID ? null : lastViewedValue ? new Date(lastViewedValue) : null;
171
285
  insertMessageWithDelimiter(roomMessages, message, lastViewedTimestamp);
172
286
  }
173
287
 
@@ -181,6 +295,7 @@ const reducers = {
181
295
  },
182
296
  deleteAllRooms(state) {
183
297
  state.rooms = {};
298
+ state.visibleRoomJID = null;
184
299
  },
185
300
  setComposing(state, action) {
186
301
  const {
@@ -210,10 +325,12 @@ const reducers = {
210
325
  } = action.payload;
211
326
  if (state.rooms[chatJID]) {
212
327
  state.rooms[chatJID].lastViewedTimestamp = timestamp;
213
- // timestamp === 0 means "user is currently viewing this room" —
214
- // unread is cleared. Otherwise count messages received strictly
215
- // after the last-viewed instant.
216
- if (!timestamp) {
328
+ // A non-positive timestamp means "no persisted marker yet" and
329
+ // must not inflate unread from history that predates the first
330
+ // successful private-store hydration. The visible-room state is
331
+ // tracked separately via `visibleRoomJID`; no read/unread meaning
332
+ // is encoded in the timestamp itself anymore.
333
+ if (!(timestamp > 0)) {
217
334
  state.rooms[chatJID].unreadMessages = 0;
218
335
  } else {
219
336
  state.rooms[chatJID].unreadMessages = countNewerMessages(state.rooms[chatJID].messages, timestamp);
@@ -243,6 +360,16 @@ const reducers = {
243
360
  // back button from chat → return to RoomList). Mirrors web.
244
361
  state.activeRoomJID = action.payload.roomJID || '';
245
362
  },
363
+ setVisibleRoom: (state, action) => {
364
+ state.visibleRoomJID = action.payload.roomJID || null;
365
+ const jid = state.visibleRoomJID;
366
+ if (jid && state.rooms[jid]) {
367
+ state.rooms[jid].unreadMessages = 0;
368
+ }
369
+ },
370
+ clearVisibleRoom: state => {
371
+ state.visibleRoomJID = null;
372
+ },
246
373
  /**
247
374
  * Stash a JID that a push notification asked us to open before
248
375
  * the rooms list has loaded. The Chat component clears this once
@@ -279,6 +406,7 @@ const reducers = {
279
406
  setLogoutState: state => {
280
407
  state.rooms = {};
281
408
  state.activeRoomJID = null;
409
+ state.visibleRoomJID = null;
282
410
  state.isLoading = false;
283
411
  },
284
412
  setActiveMessage: (state, action) => {
@@ -357,9 +485,11 @@ const reducers = {
357
485
  room.historyComplete = patch.historyComplete;
358
486
  }
359
487
  if (Array.isArray(patch.messages)) {
360
- // Merge: keep any locally-pending messages, replace the rest.
361
- const pending = room.messages?.filter(m => m?.pending) || [];
362
- room.messages = [...patch.messages, ...pending];
488
+ // Merge the fetched page into cache by message id rather than
489
+ // replacing — preserves older history + unread on re-entry. Only
490
+ // a true gap (no overlapping id) clears this chat's cache. See
491
+ // mergeHistoryIntoCache.
492
+ room.messages = mergeHistoryIntoCache(room.messages, patch.messages);
363
493
  }
364
494
  }
365
495
  }
@@ -452,6 +582,8 @@ export const {
452
582
  setLastViewedTimestamp,
453
583
  setRoomNoMessages,
454
584
  setCurrentRoom,
585
+ setVisibleRoom,
586
+ clearVisibleRoom,
455
587
  setRoomRole,
456
588
  setLogoutState,
457
589
  setActiveMessage,
@@ -1 +1 @@
1
- {"version":3,"names":["createAsyncThunk","createSlice","insertMessageWithDelimiter","RUNTIME_MESSAGE_LIMIT","enforceMessageCap","messages","length","shift","initialState","rooms","activeRoomJID","isLoading","editAction","isEdit","roomJid","messageId","text","pendingNotificationJid","isValidRoomJid","jid","includes","addRoomViaApi","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","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","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","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomsSlice.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createAsyncThunk","createSlice","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","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","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","name","exec","Number","isFinite","norm","s","v","toLowerCase","split","replace","isOwn","selfXmpp","selfWallet","candidates","user","userJID","xmppUsername","xmppFrom","Boolean","self","c","count","ms","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomsSlice.ts"],"mappings":"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","ignoreList":[]}