@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":["useCallback","v4","uuidv4","useXmppClient","useDispatch","useSelector","addRoomMessage","setEditAction","addMessageToHeap","uploadFile","useEventHandlers","__sendIdSeq","nextStanzaId","prefix","Date","now","useSendMessage","_configOverride","client","dispatch","user","state","chatSettingStore","config","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","sendMessage","message","activeRoomJID","isReply","isChecked","mainMessage","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","name","firstName","lastName","trim","disableSentLogic","Error","sendMedia","data","type","optimisticTimestamp","displayName","fileSizeStr","size","String","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","showInChannel","mediaData","FormData","append","response","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","sendMediaMessageStanza","metadata","fileData","fileType","uploadResults","console","status","statusText","serverBody","requestUrl","url","axiosMessage","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","messages","length","last"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","Platform","v4","uuidv4","useXmppClient","useDispatch","useSelector","useStore","addRoomMessage","setEditAction","addMessageToHeap","clearMessageFailure","markMessageFailed","uploadFileViaFetch","enqueueOutboundSend","store","getGlobalXmppClient","useEventHandlers","PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","dispatch","reduxStore","user","state","chatSettingStore","config","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","failedMessages","roomHeapSlice","sendMessage","message","activeRoomJID","isReply","isChecked","mainMessage","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","name","firstName","lastName","trim","disableSentLogic","watchdogTimer","setTimeout","getState","roomMsgs","messages","stillPending","find","m","alreadyFailed","console","warn","kind","Error","effectiveClient","c","status","anyClient","forceReconnect","enqueuedAt","send","clearTimeout","sendMedia","data","type","existingId","size","optimisticTimestamp","displayName","fileSizeStr","String","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","showInChannel","mediaWatchdog","fileBlob","uri","replace","mimeType","tryUpload","fd","FormData","append","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","effectiveMediaClient","sendMediaMessageStanza","anyMediaClient","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","OS","platformVersion","Version","retryMessage","failedId","payload","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,20 +3,18 @@
3
3
  import { useSyncExternalStore } from 'react';
4
4
  import { store } from '../roomStore';
5
5
  export const useUnreadMessagesCounter = () => {
6
- const subscribe = callback => {
7
- const unsubscribe = store.subscribe(() => {
8
- const state = store.getState();
9
- const rooms = state.rooms?.rooms;
10
- if (rooms) {
11
- Object.entries(rooms).forEach(([roomJid, room]) => {
12
- if (room.unreadMessages !== undefined) {
13
- callback();
14
- }
15
- });
16
- }
17
- });
18
- return unsubscribe;
19
- };
6
+ // Notify React on EVERY store change and let useSyncExternalStore's
7
+ // snapshot comparison (Object.is on the `rooms` reference) decide
8
+ // whether to re-render. The previous implementation only fired the
9
+ // callback while iterating rooms that already had `unreadMessages`
10
+ // defined — so when `rooms` became empty (logout, or the last room
11
+ // removed) the loop body never ran, the callback never fired, and the
12
+ // hook never re-rendered: a consumer's badge stayed stuck at its last
13
+ // non-zero count after logout. (It's also cheaper — one callback per
14
+ // change instead of one per unread room. Redux Toolkit keeps the
15
+ // `rooms` slice reference stable across actions that don't touch it,
16
+ // so non-rooms dispatches still don't trigger a re-render.)
17
+ const subscribe = callback => store.subscribe(callback);
20
18
  const rooms = useSyncExternalStore(subscribe, () => store.getState().rooms.rooms);
21
19
  const unreadByRoom = {};
22
20
  let totalCount = 0;
@@ -1 +1 @@
1
- {"version":3,"names":["useSyncExternalStore","store","useUnreadMessagesCounter","subscribe","callback","unsubscribe","state","getState","rooms","Object","entries","forEach","roomJid","room","unreadMessages","undefined","unreadByRoom","totalCount","unreadCount","hasUnread","useUnread"],"sourceRoot":"../../../src","sources":["hooks/useUnreadMessagesCounter.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,OAAO;AAE5C,SAAoBC,KAAK,QAAQ,cAAc;AAY/C,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,KAA2B;EACjE,MAAMC,SAAS,GAAIC,QAAoB,IAAK;IAC1C,MAAMC,WAAW,GAAGJ,KAAK,CAACE,SAAS,CAAC,MAAM;MACxC,MAAMG,KAAgB,GAAGL,KAAK,CAACM,QAAQ,CAAC,CAAC;MACzC,MAAMC,KAAK,GAAGF,KAAK,CAACE,KAAK,EAAEA,KAAK;MAEhC,IAAIA,KAAK,EAAE;QACTC,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CAACG,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;UAClE,IAAIA,IAAI,CAACC,cAAc,KAAKC,SAAS,EAAE;YACrCX,QAAQ,CAAC,CAAC;UACZ;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IACF,OAAOC,WAAW;EACpB,CAAC;EAED,MAAMG,KAAK,GAAGR,oBAAoB,CAChCG,SAAS,EACT,MAAMF,KAAK,CAACM,QAAQ,CAAC,CAAC,CAACC,KAAK,CAACA,KAC/B,CAAC;EAED,MAAMQ,YAA+B,GAAG,CAAC,CAAC;EAC1C,IAAIC,UAAU,GAAG,CAAC;EAElBR,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CAACG,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;IAClE,MAAMK,WAAW,GAAGL,IAAI,CAACC,cAAc,IAAI,CAAC;IAC5C,IAAII,WAAW,GAAG,CAAC,EAAE;MACnBF,YAAY,CAACJ,OAAO,CAAC,GAAGM,WAAW;MACnCD,UAAU,IAAIC,WAAW;IAC3B;EACF,CAAC,CAAC;EAEF,OAAO;IACLC,SAAS,EAAEF,UAAU,GAAG,CAAC;IACzBA,UAAU;IACVD;EACF,CAAC;AACH,CAAC;AAED,SAASd,wBAAwB,IAAIkB,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["useSyncExternalStore","store","useUnreadMessagesCounter","subscribe","callback","rooms","getState","unreadByRoom","totalCount","Object","entries","forEach","roomJid","room","unreadCount","unreadMessages","hasUnread","useUnread"],"sourceRoot":"../../../src","sources":["hooks/useUnreadMessagesCounter.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,OAAO;AAE5C,SAASC,KAAK,QAAQ,cAAc;AAYpC,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,KAA2B;EACjE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,SAAS,GAAIC,QAAoB,IAAKH,KAAK,CAACE,SAAS,CAACC,QAAQ,CAAC;EAErE,MAAMC,KAAK,GAAGL,oBAAoB,CAChCG,SAAS,EACT,MAAMF,KAAK,CAACK,QAAQ,CAAC,CAAC,CAACD,KAAK,CAACA,KAC/B,CAAC;EAED,MAAME,YAA+B,GAAG,CAAC,CAAC;EAC1C,IAAIC,UAAU,GAAG,CAAC;EAElBC,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,CAACM,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;IAClE,MAAMC,WAAW,GAAGD,IAAI,CAACE,cAAc,IAAI,CAAC;IAC5C,IAAID,WAAW,GAAG,CAAC,EAAE;MACnBP,YAAY,CAACK,OAAO,CAAC,GAAGE,WAAW;MACnCN,UAAU,IAAIM,WAAW;IAC3B;EACF,CAAC,CAAC;EAEF,OAAO;IACLE,SAAS,EAAER,UAAU,GAAG,CAAC;IACzBA,UAAU;IACVD;EACF,CAAC;AACH,CAAC;AAED,SAASL,wBAAwB,IAAIe,SAAS","ignoreList":[]}
@@ -30,6 +30,7 @@ export { XmppProvider } from './context/xmppProvider';
30
30
 
31
31
  // Hooks that consumers usually need (badge counts, logout, push, etc.).
32
32
  export { useUnread } from './hooks/useUnreadMessagesCounter';
33
+ export { useChatRoomFocus } from './hooks/useChatRoomFocus';
33
34
  export { logoutService } from './hooks/useLogout';
34
35
  export { useQRCodeChat, handleQRChatId } from './hooks/useQRCodeChatHandler';
35
36
  export { resendMessage } from './utils/resendMessage';
@@ -1 +1 @@
1
- {"version":3,"names":["ReduxWrapper","Chat","XmppProvider","useUnread","logoutService","useQRCodeChat","handleQRChatId","resendMessage"],"sourceRoot":"../../src","sources":["main.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,gCAAgC;;AAEvC;AACA,SAASA,YAAY,IAAIC,IAAI,QAAQ,0CAA0C;AAC/E,SAASC,YAAY,QAAQ,wBAAwB;;AAErD;AACA,SAASC,SAAS,QAAQ,kCAAkC;AAC5D,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,aAAa,EAAEC,cAAc,QAAQ,8BAA8B;AAC5E,SAASC,aAAa,QAAQ,uBAAuB;;AAErD;AACA","ignoreList":[]}
1
+ {"version":3,"names":["ReduxWrapper","Chat","XmppProvider","useUnread","useChatRoomFocus","logoutService","useQRCodeChat","handleQRChatId","resendMessage"],"sourceRoot":"../../src","sources":["main.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,gCAAgC;;AAEvC;AACA,SAASA,YAAY,IAAIC,IAAI,QAAQ,0CAA0C;AAC/E,SAASC,YAAY,QAAQ,wBAAwB;;AAErD;AACA,SAASC,SAAS,QAAQ,kCAAkC;AAC5D,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,aAAa,EAAEC,cAAc,QAAQ,8BAA8B;AAC5E,SAASC,aAAa,QAAQ,uBAAuB;;AAErD;AACA","ignoreList":[]}
@@ -8,8 +8,9 @@
8
8
  // } from 'firebase/auth';
9
9
  // import { app } from '../../../firebase-config';
10
10
 
11
- import http, { getCurrentAppToken } from '../apiClient';
11
+ import http, { getCurrentAppToken, getCurrentBaseURL } from '../apiClient';
12
12
  import { store } from '../../roomStore';
13
+ import { pushLog } from '../../utils/devLogger';
13
14
 
14
15
  // login functions
15
16
  export async function loginEmail(email, password) {
@@ -110,8 +111,79 @@ export function uploadFile(formData) {
110
111
  headers: {
111
112
  Authorization: token,
112
113
  Accept: '*/*',
113
- 'Content-Type': 'multipart/form-data'
114
+ 'Content-Type': null
115
+ },
116
+ transformRequest: (data, headers) => {
117
+ if (headers?.delete) {
118
+ headers.delete('Content-Type');
119
+ }
120
+ return data;
114
121
  }
115
122
  });
116
123
  }
124
+ export async function uploadFileViaFetch(formData) {
125
+ const token = store.getState().chatSettingStore?.user?.token ?? '';
126
+ const baseUrl = getCurrentBaseURL();
127
+ const url = `${baseUrl.replace(/\/$/, '')}/files/`;
128
+ pushLog('http', `→ POST ${url} (fetch)`, {
129
+ headers: {
130
+ Authorization: token ? token.slice(0, 16) + '…' : '[empty]',
131
+ Accept: '*/*'
132
+ }
133
+ });
134
+ let res;
135
+ try {
136
+ res = await fetch(url, {
137
+ method: 'POST',
138
+ headers: {
139
+ Authorization: token,
140
+ Accept: '*/*'
141
+ },
142
+ body: formData
143
+ });
144
+ } catch (e) {
145
+ pushLog('http', `← ERR fetch /files/`, {
146
+ name: e?.name,
147
+ message: e?.message,
148
+ stack: e?.stack
149
+ });
150
+ const err = new Error(e?.message || 'Network request failed');
151
+ err.code = 'ERR_NETWORK';
152
+ err.cause = e;
153
+ err.config = {
154
+ url: '/files/'
155
+ };
156
+ throw err;
157
+ }
158
+ if (!res.ok) {
159
+ let body = null;
160
+ try {
161
+ body = await res.json();
162
+ } catch {
163
+ try {
164
+ body = await res.text();
165
+ } catch {
166
+ body = null;
167
+ }
168
+ }
169
+ pushLog('http', `← ${res.status} POST /files/ (fetch)`, body);
170
+ const err = new Error(`Upload failed: ${res.status}`);
171
+ err.response = {
172
+ status: res.status,
173
+ statusText: res.statusText,
174
+ data: body
175
+ };
176
+ err.config = {
177
+ url: '/files/'
178
+ };
179
+ throw err;
180
+ }
181
+ const data = await res.json();
182
+ pushLog('http', `← ${res.status} POST /files/ (fetch)`, {
183
+ resultsCount: Array.isArray(data?.results) ? data.results.length : 'n/a'
184
+ });
185
+ return {
186
+ data
187
+ };
188
+ }
117
189
  //# sourceMappingURL=auth.api.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["http","getCurrentAppToken","store","loginEmail","email","password","res","post","headers","Authorization","console","log","data","loginSocial","idToken","accessToken","loginType","authToken","registerSocial","signUpPlan","signupPlan","checkEmailExist","get","loginViaJwt","clientToken","response","hasUser","user","hasToken","token","hasRefreshToken","refreshToken","userData","_id","firstName","lastName","xmppUsername","uploadFile","formData","getState","chatSettingStore","Accept"],"sourceRoot":"../../../../src","sources":["networking/api-requests/auth.api.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["http","getCurrentAppToken","getCurrentBaseURL","store","pushLog","loginEmail","email","password","res","post","headers","Authorization","console","log","data","loginSocial","idToken","accessToken","loginType","authToken","registerSocial","signUpPlan","signupPlan","checkEmailExist","get","loginViaJwt","clientToken","response","hasUser","user","hasToken","token","hasRefreshToken","refreshToken","userData","_id","firstName","lastName","xmppUsername","uploadFile","formData","getState","chatSettingStore","Accept","transformRequest","delete","uploadFileViaFetch","baseUrl","url","replace","slice","fetch","method","body","e","name","message","stack","err","Error","code","cause","config","ok","json","text","status","statusText","resultsCount","Array","isArray","results","length"],"sourceRoot":"../../../../src","sources":["networking/api-requests/auth.api.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,IAAI,IAAIC,kBAAkB,EAAEC,iBAAiB,QAAQ,cAAc;AAC1E,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASC,OAAO,QAAQ,uBAAuB;;AAE/C;AACA,OAAO,eAAeC,UAAUA,CAACC,KAAa,EAAEC,QAAgB,EAAE;EAChE,MAAMC,GAAG,GAAG,MAAMR,IAAI,CAACS,IAAI,CAKzB,yBAAyB,EACzB;IACEH,KAAK;IACLC;EACF,CAAC,EACD;IAAEG,OAAO,EAAE;MAAEC,aAAa,EAAEV,kBAAkB,CAAC;IAAE;EAAE,CACrD,CAAC;EAEDW,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEL,GAAG,CAACM,IAAI,CAAC;EAEvC,OAAON,GAAG;AACZ;AAEA,OAAO,SAASO,WAAWA,CACzBC,OAAe,EACfC,WAAmB,EACnBC,SAAiB,EACjBC,SAAiB,GAAG,WAAW,EAC/B;EACA,OAAOnB,IAAI,CAACS,IAAI,CACd,cAAc,EACd;IACEO,OAAO;IACPC,WAAW;IACXC,SAAS;IACTC;EACF,CAAC,EACD;IAAET,OAAO,EAAE;MAAEC,aAAa,EAAEV,kBAAkB,CAAC;IAAE;EAAE,CACrD,CAAC;AACH;AAEA,OAAO,SAASmB,cAAcA,CAC5BJ,OAAe,EACfC,WAAmB,EACnBE,SAAiB,EACjBD,SAAiB,EACjBG,UAAmB,EACnB;EACA,OAAOrB,IAAI,CAACS,IAAI,CACd,QAAQ,EACR;IACEO,OAAO;IACPC,WAAW;IACXC,SAAS;IACTC,SAAS,EAAEA,SAAS;IACpBG,UAAU,EAAED;EACd,CAAC,EACD;IAAEX,OAAO,EAAE;MAAEC,aAAa,EAAEV,kBAAkB,CAAC;IAAE;EAAE,CACrD,CAAC;AACH;AAEA,OAAO,SAASsB,eAAeA,CAACjB,KAAa,EAAE;EAC7C,OAAON,IAAI,CAACwB,GAAG,CACb,oBAAoB,GAAGlB,KAAK,EAE5B;IAAEI,OAAO,EAAE;MAAEC,aAAa,EAAEV,kBAAkB,CAAC;IAAE;EAAE,CACrD,CAAC;AACH;AAEA,OAAO,eAAewB,WAAWA,CAACC,WAAmB,EAAiB;EACpEd,OAAO,CAACC,GAAG,CAAC,sDAAsD,CAAC;EACnE,MAAMc,QAAQ,GAAG,MAAM3B,IAAI,CAACS,IAAI,CAI7B,eAAe,EAAE,IAAI,EAAE;IAAEC,OAAO,EAAE;MAAE,gBAAgB,EAAEgB;IAAY;EAAE,CAAC,CAAC;EAEzEd,OAAO,CAACC,GAAG,CAAC,kCAAkC,EAAE;IAC9Ce,OAAO,EAAE,CAAC,CAACD,QAAQ,CAACb,IAAI,CAACe,IAAI;IAC7BC,QAAQ,EAAE,CAAC,CAACH,QAAQ,CAACb,IAAI,CAACiB,KAAK;IAC/BC,eAAe,EAAE,CAAC,CAACL,QAAQ,CAACb,IAAI,CAACmB,YAAY;IAC7CC,QAAQ,EAAEP,QAAQ,CAACb,IAAI,CAACe,IAAI,GAAG;MAC7BM,GAAG,EAAER,QAAQ,CAACb,IAAI,CAACe,IAAI,CAACM,GAAG;MAC3B7B,KAAK,EAAEqB,QAAQ,CAACb,IAAI,CAACe,IAAI,CAACvB,KAAK;MAC/B8B,SAAS,EAAET,QAAQ,CAACb,IAAI,CAACe,IAAI,CAACO,SAAS;MACvCC,QAAQ,EAAEV,QAAQ,CAACb,IAAI,CAACe,IAAI,CAACQ,QAAQ;MACrCC,YAAY,EAAEX,QAAQ,CAACb,IAAI,CAACe,IAAI,CAACS;IACnC,CAAC,GAAG;EACN,CAAC,CAAC;EAEF,MAAMT,IAAI,GAAG;IACX,GAAGF,QAAQ,CAACb,IAAI,CAACe,IAAI;IACrBI,YAAY,EAAEN,QAAQ,CAACb,IAAI,CAACmB,YAAY;IACxCF,KAAK,EAAEJ,QAAQ,CAACb,IAAI,CAACiB;EACvB,CAAC;EAED,OAAOF,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASU,UAAUA,CAACC,QAAkB,EAAE;EAC7C,MAAMT,KAAK,GAAG5B,KAAK,CAACsC,QAAQ,CAAC,CAAC,CAACC,gBAAgB,EAAEb,IAAI,EAAEE,KAAK,IAAI,EAAE;EAClE,OAAO/B,IAAI,CAACS,IAAI,CAAC,SAAS,EAAE+B,QAAQ,EAAE;IACpC9B,OAAO,EAAE;MACPC,aAAa,EAAEoB,KAAK;MACpBY,MAAM,EAAE,KAAK;MACb,cAAc,EAAE;IAClB,CAAC;IACDC,gBAAgB,EAAEA,CAAC9B,IAAS,EAAEJ,OAAY,KAAK;MAC7C,IAAIA,OAAO,EAAEmC,MAAM,EAAE;QAACnC,OAAO,CAACmC,MAAM,CAAC,cAAc,CAAC;MAAC;MACrD,OAAO/B,IAAI;IACb;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,eAAegC,kBAAkBA,CAACN,QAAkB,EAA0B;EACnF,MAAMT,KAAK,GAAG5B,KAAK,CAACsC,QAAQ,CAAC,CAAC,CAACC,gBAAgB,EAAEb,IAAI,EAAEE,KAAK,IAAI,EAAE;EAClE,MAAMgB,OAAO,GAAG7C,iBAAiB,CAAC,CAAC;EACnC,MAAM8C,GAAG,GAAG,GAAGD,OAAO,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS;EAElD7C,OAAO,CAAC,MAAM,EAAE,UAAU4C,GAAG,UAAU,EAAE;IACvCtC,OAAO,EAAE;MAAEC,aAAa,EAAEoB,KAAK,GAAGA,KAAK,CAACmB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,SAAS;MAAEP,MAAM,EAAE;IAAM;EACxF,CAAC,CAAC;EAEF,IAAInC,GAAa;EACjB,IAAI;IACFA,GAAG,GAAG,MAAM2C,KAAK,CAACH,GAAG,EAAE;MACrBI,MAAM,EAAE,MAAM;MACd1C,OAAO,EAAE;QACPC,aAAa,EAAEoB,KAAK;QACpBY,MAAM,EAAE;MACV,CAAC;MACDU,IAAI,EAAEb;IACR,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOc,CAAM,EAAE;IACflD,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE;MACrCmD,IAAI,EAAED,CAAC,EAAEC,IAAI;MACbC,OAAO,EAAEF,CAAC,EAAEE,OAAO;MACnBC,KAAK,EAAEH,CAAC,EAAEG;IACZ,CAAC,CAAC;IACF,MAAMC,GAAQ,GAAG,IAAIC,KAAK,CAACL,CAAC,EAAEE,OAAO,IAAI,wBAAwB,CAAC;IAClEE,GAAG,CAACE,IAAI,GAAG,aAAa;IACxBF,GAAG,CAACG,KAAK,GAAGP,CAAC;IACbI,GAAG,CAACI,MAAM,GAAG;MAAEd,GAAG,EAAE;IAAU,CAAC;IAC/B,MAAMU,GAAG;EACX;EAEA,IAAI,CAAClD,GAAG,CAACuD,EAAE,EAAE;IACX,IAAIV,IAAS,GAAG,IAAI;IACpB,IAAI;MACFA,IAAI,GAAG,MAAM7C,GAAG,CAACwD,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,MAAM;MACN,IAAI;QAAEX,IAAI,GAAG,MAAM7C,GAAG,CAACyD,IAAI,CAAC,CAAC;MAAE,CAAC,CAAC,MAAM;QAAEZ,IAAI,GAAG,IAAI;MAAE;IACxD;IACAjD,OAAO,CAAC,MAAM,EAAE,KAAKI,GAAG,CAAC0D,MAAM,uBAAuB,EAAEb,IAAI,CAAC;IAC7D,MAAMK,GAAQ,GAAG,IAAIC,KAAK,CAAC,kBAAkBnD,GAAG,CAAC0D,MAAM,EAAE,CAAC;IAC1DR,GAAG,CAAC/B,QAAQ,GAAG;MAAEuC,MAAM,EAAE1D,GAAG,CAAC0D,MAAM;MAAEC,UAAU,EAAE3D,GAAG,CAAC2D,UAAU;MAAErD,IAAI,EAAEuC;IAAK,CAAC;IAC7EK,GAAG,CAACI,MAAM,GAAG;MAAEd,GAAG,EAAE;IAAU,CAAC;IAC/B,MAAMU,GAAG;EACX;EAEA,MAAM5C,IAAI,GAAG,MAAMN,GAAG,CAACwD,IAAI,CAAC,CAAC;EAC7B5D,OAAO,CAAC,MAAM,EAAE,KAAKI,GAAG,CAAC0D,MAAM,uBAAuB,EAAE;IACtDE,YAAY,EAAEC,KAAK,CAACC,OAAO,CAACxD,IAAI,EAAEyD,OAAO,CAAC,GAAGzD,IAAI,CAACyD,OAAO,CAACC,MAAM,GAAG;EACrE,CAAC,CAAC;EACF,OAAO;IAAE1D;EAAK,CAAC;AACjB","ignoreList":[]}
@@ -149,7 +149,8 @@ http.interceptors.response.use(response => response, async error => {
149
149
  isRefreshing = true;
150
150
  try {
151
151
  const tokens = await refresh();
152
- console.log('tokens', tokens);
152
+ // (was: console.log('tokens', tokens) — dumped the full response
153
+ // incl. access/refresh/ws tokens on every refresh; removed.)
153
154
  isRefreshing = false;
154
155
  originalRequest.headers.Authorization = tokens.data.token;
155
156
  processQueue(tokens.data.token);
@@ -1 +1 @@
1
- {"version":3,"names":["axios","store","logout","refreshTokens","installAxiosCapture","DEFAULT_BASE_URL","currentBaseURL","currentAppToken","http","create","baseURL","setBaseURL","baseUrl","appToken","defaults","getCurrentAppToken","getCurrentBaseURL","refresh","Promise","resolve","reject","user","getState","chatSettingStore","post","headers","Authorization","refreshToken","then","response","dispatch","token","data","catch","error","console","log","isRefreshing","failedQueue","addRequestToQueue","config","push","processQueue","newAccessToken","request","interceptors","use","enabled","originalRequest","status","refreshFunction","fn","result","newRefreshToken","accessToken","refreshErr","url","_retry","retryOriginalRequest","tokens"],"sourceRoot":"../../../src","sources":["networking/apiClient.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["axios","store","logout","refreshTokens","installAxiosCapture","DEFAULT_BASE_URL","currentBaseURL","currentAppToken","http","create","baseURL","setBaseURL","baseUrl","appToken","defaults","getCurrentAppToken","getCurrentBaseURL","refresh","Promise","resolve","reject","user","getState","chatSettingStore","post","headers","Authorization","refreshToken","then","response","dispatch","token","data","catch","error","console","log","isRefreshing","failedQueue","addRequestToQueue","config","push","processQueue","newAccessToken","request","interceptors","use","enabled","originalRequest","status","refreshFunction","fn","result","newRefreshToken","accessToken","refreshErr","url","_retry","retryOriginalRequest","tokens"],"sourceRoot":"../../../src","sources":["networking/apiClient.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Outbound-send queue — buffers message stanzas that can't reach the wire
5
+ * because there is no live XMPP stream at send time, and replays them once
6
+ * a stream comes (back) online.
7
+ *
8
+ * Lives at MODULE scope on purpose, NOT on the XmppClient instance: the
9
+ * exact windows we need to cover are the ones where the instance itself is
10
+ * gone or being swapped —
11
+ * 1. start race — a send fires before the provider's bootstrap has run
12
+ * `setClient(created)`, so `useSendMessage` sees `client === null` and
13
+ * used to throw "No XMPP client".
14
+ * 2. full-reinit race — after 3 failed reconnects the provider does
15
+ * `setClient(null)` then re-`initializeClient`s; sends in that gap
16
+ * also saw `client === null`.
17
+ * 3. reconnect window — the instance survives but its underlying stream
18
+ * is `connecting`/`offline`; a fire-and-forget stanza is silently lost
19
+ * and only the 30s watchdog notices.
20
+ *
21
+ * Each queued item carries a `send(client)` closure that captures the
22
+ * original args (text or media), so flush is type-agnostic.
23
+ *
24
+ * TTL is deliberately aligned with the 30s pending-send watchdog in
25
+ * useSendMessage (PENDING_WATCHDOG_MS): a queued item older than that has
26
+ * already been — or is about to be — flipped to "Failed → tap to retry" by
27
+ * the watchdog, so replaying it on a late reconnect would duplicate the
28
+ * bubble. We drop those on flush and let the watchdog own the failure.
29
+ */
30
+
31
+ // Kept in lockstep with PENDING_WATCHDOG_MS in useSendMessage.
32
+ export const OUTBOUND_QUEUE_TTL_MS = 30_000;
33
+ let queue = [];
34
+
35
+ /**
36
+ * Append (or, if the id is already queued, replace in place) a pending
37
+ * send. Order is preserved for FIFO flush.
38
+ */
39
+ export function enqueueOutboundSend(item) {
40
+ const idx = queue.findIndex(q => q.optimisticId === item.optimisticId);
41
+ if (idx >= 0) {
42
+ // Re-enqueue of the same id (e.g. a media retry): refresh in place so
43
+ // we don't grow a duplicate, and keep its original position.
44
+ queue[idx] = item;
45
+ return;
46
+ }
47
+ queue.push(item);
48
+ }
49
+
50
+ /**
51
+ * Replay every queued send (in order) against a now-online client. Items
52
+ * older than the TTL are dropped — the send watchdog has already failed
53
+ * them, so re-sending would duplicate. The queue is emptied either way.
54
+ */
55
+ export function flushOutboundSends(client, now) {
56
+ if (queue.length === 0) {
57
+ return;
58
+ }
59
+ const pending = queue;
60
+ queue = [];
61
+ for (const item of pending) {
62
+ if (now - item.enqueuedAt > OUTBOUND_QUEUE_TTL_MS) {
63
+ // Stale — the 30s watchdog owns the failure; don't duplicate.
64
+ continue;
65
+ }
66
+ try {
67
+ item.send(client);
68
+ } catch (err) {
69
+ // A single bad replay must not strand the rest of the queue.
70
+ console.warn('flushOutboundSends: replay failed', item.optimisticId, err);
71
+ }
72
+ }
73
+ }
74
+
75
+ /** Drop everything — called on permanent teardown (logout / close). */
76
+ export function clearOutboundSends() {
77
+ queue = [];
78
+ }
79
+
80
+ /** Current depth — for tests and diagnostics. */
81
+ export function outboundQueueLength() {
82
+ return queue.length;
83
+ }
84
+ //# sourceMappingURL=outboundQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OUTBOUND_QUEUE_TTL_MS","queue","enqueueOutboundSend","item","idx","findIndex","q","optimisticId","push","flushOutboundSends","client","now","length","pending","enqueuedAt","send","err","console","warn","clearOutboundSends","outboundQueueLength"],"sourceRoot":"../../../src","sources":["networking/outboundQueue.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiBA;AACA,OAAO,MAAMA,qBAAqB,GAAG,MAAM;AAE3C,IAAIC,KAAmB,GAAG,EAAE;;AAE5B;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,IAAgB,EAAQ;EAC1D,MAAMC,GAAG,GAAGH,KAAK,CAACI,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,YAAY,KAAKJ,IAAI,CAACI,YAAY,CAAC;EACxE,IAAIH,GAAG,IAAI,CAAC,EAAE;IACZ;IACA;IACAH,KAAK,CAACG,GAAG,CAAC,GAAGD,IAAI;IACjB;EACF;EACAF,KAAK,CAACO,IAAI,CAACL,IAAI,CAAC;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,kBAAkBA,CAChCC,MAA2B,EAC3BC,GAAW,EACL;EACN,IAAIV,KAAK,CAACW,MAAM,KAAK,CAAC,EAAE;IAAC;EAAO;EAChC,MAAMC,OAAO,GAAGZ,KAAK;EACrBA,KAAK,GAAG,EAAE;EACV,KAAK,MAAME,IAAI,IAAIU,OAAO,EAAE;IAC1B,IAAIF,GAAG,GAAGR,IAAI,CAACW,UAAU,GAAGd,qBAAqB,EAAE;MACjD;MACA;IACF;IACA,IAAI;MACFG,IAAI,CAACY,IAAI,CAACL,MAAM,CAAC;IACnB,CAAC,CAAC,OAAOM,GAAG,EAAE;MACZ;MACAC,OAAO,CAACC,IAAI,CAAC,mCAAmC,EAAEf,IAAI,CAACI,YAAY,EAAES,GAAG,CAAC;IAC3E;EACF;AACF;;AAEA;AACA,OAAO,SAASG,kBAAkBA,CAAA,EAAS;EACzClB,KAAK,GAAG,EAAE;AACZ;;AAEA;AACA,OAAO,SAASmB,mBAAmBA,CAAA,EAAW;EAC5C,OAAOnB,KAAK,CAACW,MAAM;AACrB","ignoreList":[]}
@@ -1,15 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  export function createTimeoutPromise(ms, unsubscribe) {
4
- return new Promise((_, reject) => {
4
+ const promise = new Promise((_, reject) => {
5
5
  setTimeout(() => {
6
6
  try {
7
7
  if (unsubscribe) {
8
8
  unsubscribe();
9
9
  }
10
10
  } catch (e) {}
11
+ // result and stay silent.
11
12
  reject();
12
13
  }, ms);
13
14
  });
15
+ promise.catch(() => {});
16
+ return promise;
14
17
  }
15
18
  //# sourceMappingURL=createTimeoutPromise.xmpp.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createTimeoutPromise","ms","unsubscribe","Promise","_","reject","setTimeout","e"],"sourceRoot":"../../../../src","sources":["networking/xmpp/createTimeoutPromise.xmpp.ts"],"mappings":";;AAAA,OAAO,SAASA,oBAAoBA,CAClCC,EAAsB,EACtBC,WAAwB,EACxB;EACA,OAAO,IAAIC,OAAO,CAAC,CAACC,CAAC,EAAEC,MAAM,KAAK;IAChCC,UAAU,CAAC,MAAM;MACf,IAAI;QACF,IAAIJ,WAAW,EAAE;UACfA,WAAW,CAAC,CAAC;QACf;MACF,CAAC,CAAC,OAAOK,CAAC,EAAE,CAAC;MACbF,MAAM,CAAC,CAAC;IACV,CAAC,EAAEJ,EAAE,CAAC;EACR,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["createTimeoutPromise","ms","unsubscribe","promise","Promise","_","reject","setTimeout","e","catch"],"sourceRoot":"../../../../src","sources":["networking/xmpp/createTimeoutPromise.xmpp.ts"],"mappings":";;AAAA,OAAO,SAASA,oBAAoBA,CAClCC,EAAsB,EACtBC,WAAwB,EACxB;EACA,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAC,CAACC,CAAC,EAAEC,MAAM,KAAK;IACzCC,UAAU,CAAC,MAAM;MACf,IAAI;QACF,IAAIL,WAAW,EAAE;UACfA,WAAW,CAAC,CAAC;QACf;MACF,CAAC,CAAC,OAAOM,CAAC,EAAE,CAAC;MACb;MACAF,MAAM,CAAC,CAAC;IACV,CAAC,EAAEL,EAAE,CAAC;EACR,CAAC,CAAC;EAEFE,OAAO,CAACM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EACvB,OAAON,OAAO;AAChB","ignoreList":[]}
@@ -17,7 +17,7 @@ export async function flushLastViewedToPrivateStore(client, rooms, opts = {}) {
17
17
  return false;
18
18
  }
19
19
  const {
20
- activeRoomJID,
20
+ visibleRoomJID,
21
21
  onlyIfNoUnread
22
22
  } = opts;
23
23
  const roomList = Object.values(rooms || {});
@@ -39,22 +39,21 @@ export async function flushLastViewedToPrivateStore(client, rooms, opts = {}) {
39
39
  if (!room?.jid) {
40
40
  continue;
41
41
  }
42
- const isActive = !!activeRoomJID && room.jid === activeRoomJID;
42
+ const isVisible = !!visibleRoomJID && room.jid === visibleRoomJID;
43
43
  const hasUnread = Number(room.unreadMessages || 0) > 0;
44
44
 
45
- // For the active room, persist "now" — the in-memory value is 0
46
- // (sentinel for "user is here") and writing 0 would mark all
47
- // history unread on next login.
45
+ // For the visible room, persist "now" — read state is driven by
46
+ // room visibility, not by a sentinel timestamp.
48
47
  let ts;
49
- if (isActive) {
48
+ if (isVisible) {
50
49
  ts = nowMs;
51
- } else if (room.lastViewedTimestamp) {
50
+ } else if (room.lastViewedTimestamp && room.lastViewedTimestamp > 0) {
52
51
  ts = room.lastViewedTimestamp;
53
52
  }
54
53
  if (!ts) {
55
54
  continue;
56
55
  }
57
- if (onlyIfNoUnread && hasUnread && !isActive) {
56
+ if (onlyIfNoUnread && hasUnread && !isVisible) {
58
57
  continue;
59
58
  }
60
59
  const prev = storeObj[room.jid];
@@ -1 +1 @@
1
- {"version":3,"names":["getChatsPrivateStoreRequest","setChatsPrivateStoreRequest","flushLastViewedToPrivateStore","client","rooms","opts","activeRoomJID","onlyIfNoUnread","roomList","Object","values","length","storeObj","nowMs","Date","now","dirty","room","jid","isActive","hasUnread","Number","unreadMessages","ts","lastViewedTimestamp","prev","prevNum","isFinite","String","JSON","stringify"],"sourceRoot":"../../../../src","sources":["networking/xmpp/flushLastViewedToPrivateStore.ts"],"mappings":";;AAAA,SAASA,2BAA2B,QAAQ,oCAAoC;AAChF,SAASC,2BAA2B,QAAQ,oCAAoC;AAoBhF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,6BAA6BA,CACjDC,MAAW,EACXC,KAAkD,EAClDC,IAAe,GAAG,CAAC,CAAC,EACF;EAClB,IAAI,CAACF,MAAM,EAAEA,MAAM,EAAE;IAAC,OAAO,KAAK;EAAC;EACnC,MAAM;IAAEG,aAAa;IAAEC;EAAe,CAAC,GAAGF,IAAI;EAC9C,MAAMG,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAACN,KAAK,IAAI,CAAC,CAAC,CAAC;EAC3C,IAAII,QAAQ,CAACG,MAAM,KAAK,CAAC,EAAE;IAAC,OAAO,KAAK;EAAC;EAEzC,IAAIC,QAAa,GAAG,IAAI;EACxB,IAAI;IACFA,QAAQ,GAAG,MAAMZ,2BAA2B,CAACG,MAAM,CAACA,MAAM,CAAC;EAC7D,CAAC,CAAC,MAAM;IACNS,QAAQ,GAAG,IAAI;EACjB;EACA,IAAI,CAACA,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;IAACA,QAAQ,GAAG,CAAC,CAAC;EAAC;EAE9D,MAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EACxB,IAAIC,KAAK,GAAG,KAAK;EAEjB,KAAK,MAAMC,IAAI,IAAIT,QAAQ,EAAE;IAC3B,IAAI,CAACS,IAAI,EAAEC,GAAG,EAAE;MAAC;IAAS;IAC1B,MAAMC,QAAQ,GAAG,CAAC,CAACb,aAAa,IAAIW,IAAI,CAACC,GAAG,KAAKZ,aAAa;IAC9D,MAAMc,SAAS,GAAGC,MAAM,CAACJ,IAAI,CAACK,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC;;IAEtD;IACA;IACA;IACA,IAAIC,EAAsB;IAC1B,IAAIJ,QAAQ,EAAE;MACZI,EAAE,GAAGV,KAAK;IACZ,CAAC,MAAM,IAAII,IAAI,CAACO,mBAAmB,EAAE;MACnCD,EAAE,GAAGN,IAAI,CAACO,mBAAmB;IAC/B;IAEA,IAAI,CAACD,EAAE,EAAE;MAAC;IAAS;IACnB,IAAIhB,cAAc,IAAIa,SAAS,IAAI,CAACD,QAAQ,EAAE;MAAC;IAAS;IAExD,MAAMM,IAAI,GAAGb,QAAQ,CAACK,IAAI,CAACC,GAAG,CAAC;IAC/B,MAAMQ,OAAO,GAAGD,IAAI,IAAI,IAAI,GAAGJ,MAAM,CAACI,IAAI,CAAC,GAAG,CAAC;IAC/C,IAAIJ,MAAM,CAACM,QAAQ,CAACD,OAAO,CAAC,IAAIA,OAAO,IAAIH,EAAE,EAAE;MAAC;IAAS;IACzDX,QAAQ,CAACK,IAAI,CAACC,GAAG,CAAC,GAAGU,MAAM,CAACL,EAAE,CAAC;IAC/BP,KAAK,GAAG,IAAI;EACd;EAEA,IAAI,CAACA,KAAK,EAAE;IAAC,OAAO,KAAK;EAAC;EAE1B,IAAI;IACF,MAAMf,2BAA2B,CAACE,MAAM,CAACA,MAAM,EAAE0B,IAAI,CAACC,SAAS,CAAClB,QAAQ,CAAC,CAAC;IAC1E,OAAO,IAAI;EACb,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF","ignoreList":[]}
1
+ {"version":3,"names":["getChatsPrivateStoreRequest","setChatsPrivateStoreRequest","flushLastViewedToPrivateStore","client","rooms","opts","visibleRoomJID","onlyIfNoUnread","roomList","Object","values","length","storeObj","nowMs","Date","now","dirty","room","jid","isVisible","hasUnread","Number","unreadMessages","ts","lastViewedTimestamp","prev","prevNum","isFinite","String","JSON","stringify"],"sourceRoot":"../../../../src","sources":["networking/xmpp/flushLastViewedToPrivateStore.ts"],"mappings":";;AAAA,SAASA,2BAA2B,QAAQ,oCAAoC;AAChF,SAASC,2BAA2B,QAAQ,oCAAoC;AAmBhF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,6BAA6BA,CACjDC,MAAW,EACXC,KAAkD,EAClDC,IAAe,GAAG,CAAC,CAAC,EACF;EAClB,IAAI,CAACF,MAAM,EAAEA,MAAM,EAAE;IAAC,OAAO,KAAK;EAAC;EACnC,MAAM;IAAEG,cAAc;IAAEC;EAAe,CAAC,GAAGF,IAAI;EAC/C,MAAMG,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAACN,KAAK,IAAI,CAAC,CAAC,CAAC;EAC3C,IAAII,QAAQ,CAACG,MAAM,KAAK,CAAC,EAAE;IAAC,OAAO,KAAK;EAAC;EAEzC,IAAIC,QAAa,GAAG,IAAI;EACxB,IAAI;IACFA,QAAQ,GAAG,MAAMZ,2BAA2B,CAACG,MAAM,CAACA,MAAM,CAAC;EAC7D,CAAC,CAAC,MAAM;IACNS,QAAQ,GAAG,IAAI;EACjB;EACA,IAAI,CAACA,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;IAACA,QAAQ,GAAG,CAAC,CAAC;EAAC;EAE9D,MAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EACxB,IAAIC,KAAK,GAAG,KAAK;EAEjB,KAAK,MAAMC,IAAI,IAAIT,QAAQ,EAAE;IAC3B,IAAI,CAACS,IAAI,EAAEC,GAAG,EAAE;MAAC;IAAS;IAC1B,MAAMC,SAAS,GAAG,CAAC,CAACb,cAAc,IAAIW,IAAI,CAACC,GAAG,KAAKZ,cAAc;IACjE,MAAMc,SAAS,GAAGC,MAAM,CAACJ,IAAI,CAACK,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC;;IAEtD;IACA;IACA,IAAIC,EAAsB;IAC1B,IAAIJ,SAAS,EAAE;MACbI,EAAE,GAAGV,KAAK;IACZ,CAAC,MAAM,IAAII,IAAI,CAACO,mBAAmB,IAAIP,IAAI,CAACO,mBAAmB,GAAG,CAAC,EAAE;MACnED,EAAE,GAAGN,IAAI,CAACO,mBAAmB;IAC/B;IAEA,IAAI,CAACD,EAAE,EAAE;MAAC;IAAS;IACnB,IAAIhB,cAAc,IAAIa,SAAS,IAAI,CAACD,SAAS,EAAE;MAAC;IAAS;IAEzD,MAAMM,IAAI,GAAGb,QAAQ,CAACK,IAAI,CAACC,GAAG,CAAC;IAC/B,MAAMQ,OAAO,GAAGD,IAAI,IAAI,IAAI,GAAGJ,MAAM,CAACI,IAAI,CAAC,GAAG,CAAC;IAC/C,IAAIJ,MAAM,CAACM,QAAQ,CAACD,OAAO,CAAC,IAAIA,OAAO,IAAIH,EAAE,EAAE;MAAC;IAAS;IACzDX,QAAQ,CAACK,IAAI,CAACC,GAAG,CAAC,GAAGU,MAAM,CAACL,EAAE,CAAC;IAC/BP,KAAK,GAAG,IAAI;EACd;EAEA,IAAI,CAACA,KAAK,EAAE;IAAC,OAAO,KAAK;EAAC;EAE1B,IAAI;IACF,MAAMf,2BAA2B,CAACE,MAAM,CAACA,MAAM,EAAE0B,IAAI,CAACC,SAAS,CAAClB,QAAQ,CAAC,CAAC;IAC1E,OAAO,IAAI;EACb,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF","ignoreList":[]}
@@ -7,7 +7,13 @@ export const getRoomsPaged = async (client, maxResults = 3, before = null) => {
7
7
  const unsubscribe = () => {
8
8
  client.off('stanza', stanzaHdlrPointer);
9
9
  };
10
- return new Promise(async (resolve, reject) => {
10
+
11
+ // Avoid `new Promise(async (resolve, reject) => {...})` — an async
12
+ // executor swallows the promise it returns, so any rejection inside
13
+ // it that happens BEFORE the catch handler attaches becomes
14
+ // "Uncaught (in promise)" red-screen. Use an explicit deferred + a
15
+ // regular async body that handles its own errors.
16
+ return new Promise((resolve, reject) => {
11
17
  stanzaHdlrPointer = stanza => {
12
18
  if (stanza.is('iq') && stanza.attrs.id === 'getUserRooms') {
13
19
  unsubscribe();
@@ -30,14 +36,31 @@ export const getRoomsPaged = async (client, maxResults = 3, before = null) => {
30
36
  from: client.jid?.toString(),
31
37
  id: 'getUserRoomsPaged'
32
38
  }, query);
39
+
40
+ // Capture potential rejections from client.send() — it returns a
41
+ // Promise on most @xmpp/client builds; the previous bare call left
42
+ // the rejection unhandled when the socket was closing.
43
+ let sendPromise;
33
44
  try {
34
- client.send(message);
45
+ sendPromise = client.send(message);
35
46
  } catch (err) {
36
47
  console.error('Error sending getRooms request:', err);
37
48
  unsubscribe();
38
49
  reject(err);
50
+ return;
39
51
  }
40
- await createTimeoutPromise(2000, unsubscribe).catch(reject);
52
+ Promise.resolve(sendPromise).catch(err => {
53
+ console.error('client.send rejected in getRoomsPaged', err);
54
+ unsubscribe();
55
+ reject(err);
56
+ });
57
+
58
+ // The timeout catch was racy — if createTimeoutPromise rejected
59
+ // before `.catch(reject)` attached, the rejection escaped. Use a
60
+ // .then/.catch pair attached synchronously to be safe.
61
+ createTimeoutPromise(2000, unsubscribe).then(() => {
62
+ /* timeout completed cleanly */
63
+ }, err => reject(err));
41
64
  });
42
65
  };
43
66
  //# sourceMappingURL=getRoomsPaged.xmpp.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["xml","createTimeoutPromise","getRoomsPaged","client","maxResults","before","stanzaHdlrPointer","unsubscribe","off","Promise","resolve","reject","stanza","is","attrs","id","on","query","xmlns","set","toString","append","message","type","from","jid","send","err","console","error","catch"],"sourceRoot":"../../../../src","sources":["networking/xmpp/getRoomsPaged.xmpp.ts"],"mappings":";;AAAA,SAAiBA,GAAG,QAAQ,cAAc;AAC1C,SAASC,oBAAoB,QAAQ,6BAA6B;AAGlE,OAAO,MAAMC,aAAa,GAAG,MAAAA,CAC3BC,MAAc,EACdC,UAAU,GAAG,CAAC,EACdC,MAAM,GAAG,IAAI,KACV;EACH,IAAIC,iBAIH;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxBJ,MAAM,CAACK,GAAG,CAAC,QAAQ,EAAEF,iBAAiB,CAAC;EACzC,CAAC;EAED,OAAO,IAAIG,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IAC5CL,iBAAiB,GAAIM,MAAM,IAAK;MAC9B,IAAIA,MAAM,CAACC,EAAE,CAAC,IAAI,CAAC,IAAID,MAAM,CAACE,KAAK,CAACC,EAAE,KAAK,cAAc,EAAE;QACzDR,WAAW,CAAC,CAAC;QACbG,OAAO,CAACE,MAAM,CAAC;MACjB;IACF,CAAC;IAEDT,MAAM,CAACa,EAAE,CAAC,QAAQ,EAAEV,iBAAiB,CAAC;IAEtC,MAAMW,KAAK,GAAGjB,GAAG,CAAC,OAAO,EAAE;MAAEkB,KAAK,EAAE;IAAc,CAAC,CAAC;IACpD,MAAMC,GAAG,GAAGnB,GAAG,CACb,KAAK,EACL;MAAEkB,KAAK,EAAE;IAAiC,CAAC,EAC3ClB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAEI,UAAU,CAACgB,QAAQ,CAAC,CAAC,CACtC,CAAC;IAED,IAAIf,MAAM,EAAE;MACVc,GAAG,CAACE,MAAM,CAACrB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAEK,MAAM,CAAC,CAAC;IACvC;IAEAY,KAAK,CAACI,MAAM,CAACF,GAAG,CAAC;IAEjB,MAAMG,OAAO,GAAGtB,GAAG,CACjB,IAAI,EACJ;MAAEuB,IAAI,EAAE,KAAK;MAAEC,IAAI,EAAErB,MAAM,CAACsB,GAAG,EAAEL,QAAQ,CAAC,CAAC;MAAEL,EAAE,EAAE;IAAoB,CAAC,EACtEE,KACF,CAAC;IAED,IAAI;MACFd,MAAM,CAACuB,IAAI,CAACJ,OAAO,CAAC;IACtB,CAAC,CAAC,OAAOK,GAAG,EAAE;MACZC,OAAO,CAACC,KAAK,CAAC,iCAAiC,EAAEF,GAAG,CAAC;MACrDpB,WAAW,CAAC,CAAC;MACbI,MAAM,CAACgB,GAAG,CAAC;IACb;IAEA,MAAM1B,oBAAoB,CAAC,IAAI,EAAEM,WAAW,CAAC,CAACuB,KAAK,CAACnB,MAAM,CAAC;EAC7D,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["xml","createTimeoutPromise","getRoomsPaged","client","maxResults","before","stanzaHdlrPointer","unsubscribe","off","Promise","resolve","reject","stanza","is","attrs","id","on","query","xmlns","set","toString","append","message","type","from","jid","sendPromise","send","err","console","error","catch","then"],"sourceRoot":"../../../../src","sources":["networking/xmpp/getRoomsPaged.xmpp.ts"],"mappings":";;AAAA,SAAiBA,GAAG,QAAQ,cAAc;AAC1C,SAASC,oBAAoB,QAAQ,6BAA6B;AAGlE,OAAO,MAAMC,aAAa,GAAG,MAAAA,CAC3BC,MAAc,EACdC,UAAU,GAAG,CAAC,EACdC,MAAM,GAAG,IAAI,KACV;EACH,IAAIC,iBAIH;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxBJ,MAAM,CAACK,GAAG,CAAC,QAAQ,EAAEF,iBAAiB,CAAC;EACzC,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA,OAAO,IAAIG,OAAO,CAAM,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC3CL,iBAAiB,GAAIM,MAAM,IAAK;MAC9B,IAAIA,MAAM,CAACC,EAAE,CAAC,IAAI,CAAC,IAAID,MAAM,CAACE,KAAK,CAACC,EAAE,KAAK,cAAc,EAAE;QACzDR,WAAW,CAAC,CAAC;QACbG,OAAO,CAACE,MAAM,CAAC;MACjB;IACF,CAAC;IAEDT,MAAM,CAACa,EAAE,CAAC,QAAQ,EAAEV,iBAAiB,CAAC;IAEtC,MAAMW,KAAK,GAAGjB,GAAG,CAAC,OAAO,EAAE;MAAEkB,KAAK,EAAE;IAAc,CAAC,CAAC;IACpD,MAAMC,GAAG,GAAGnB,GAAG,CACb,KAAK,EACL;MAAEkB,KAAK,EAAE;IAAiC,CAAC,EAC3ClB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAEI,UAAU,CAACgB,QAAQ,CAAC,CAAC,CACtC,CAAC;IAED,IAAIf,MAAM,EAAE;MACVc,GAAG,CAACE,MAAM,CAACrB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAEK,MAAM,CAAC,CAAC;IACvC;IAEAY,KAAK,CAACI,MAAM,CAACF,GAAG,CAAC;IAEjB,MAAMG,OAAO,GAAGtB,GAAG,CACjB,IAAI,EACJ;MAAEuB,IAAI,EAAE,KAAK;MAAEC,IAAI,EAAErB,MAAM,CAACsB,GAAG,EAAEL,QAAQ,CAAC,CAAC;MAAEL,EAAE,EAAE;IAAoB,CAAC,EACtEE,KACF,CAAC;;IAED;IACA;IACA;IACA,IAAIS,WAAyC;IAC7C,IAAI;MACFA,WAAW,GAAGvB,MAAM,CAACwB,IAAI,CAACL,OAAO,CAAgC;IACnE,CAAC,CAAC,OAAOM,GAAG,EAAE;MACZC,OAAO,CAACC,KAAK,CAAC,iCAAiC,EAAEF,GAAG,CAAC;MACrDrB,WAAW,CAAC,CAAC;MACbI,MAAM,CAACiB,GAAG,CAAC;MACX;IACF;IACAnB,OAAO,CAACC,OAAO,CAACgB,WAAW,CAAC,CACzBK,KAAK,CAAEH,GAAG,IAAK;MACdC,OAAO,CAACC,KAAK,CAAC,uCAAuC,EAAEF,GAAG,CAAC;MAC3DrB,WAAW,CAAC,CAAC;MACbI,MAAM,CAACiB,GAAG,CAAC;IACb,CAAC,CAAC;;IAEJ;IACA;IACA;IACA3B,oBAAoB,CAAC,IAAI,EAAEM,WAAW,CAAC,CAACyB,IAAI,CAC1C,MAAM;MACJ;IAAA,CACD,EACAJ,GAAG,IAAKjB,MAAM,CAACiB,GAAG,CACrB,CAAC;EACH,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -8,7 +8,13 @@ export const presenceInRoom = async (client, roomJID, delay = 2000) => {
8
8
  let stanzaHandler;
9
9
  const unsubscribe = () => client.off('stanza', stanzaHandler);
10
10
  const stanzaId = nextPresenceId();
11
- return new Promise(async (resolve, reject) => {
11
+
12
+ // Avoid `new Promise(async (resolve, reject) => …)` — the async
13
+ // executor's own thrown errors / unhandled rejections inside it can
14
+ // escape the constructed promise depending on the order of catch
15
+ // attachment vs rejection. Use a regular Promise + a separate async
16
+ // wrapper that funnels every failure path through reject().
17
+ return new Promise((resolve, reject) => {
12
18
  let settled = false;
13
19
  const finish = (cb, value) => {
14
20
  if (settled) {
@@ -33,13 +39,25 @@ export const presenceInRoom = async (client, roomJID, delay = 2000) => {
33
39
  }, xml('x', {
34
40
  xmlns: 'http://jabber.org/protocol/muc'
35
41
  }));
36
- try {
37
- await client.send(presence);
38
- } catch (err) {
39
- unsubscribe();
40
- return [];
41
- }
42
- await createTimeoutPromise(2000, unsubscribe).catch(reject);
42
+
43
+ // Side-effects sequence: send the presence (handles its own
44
+ // failure → reject), then wait the timeout (also handles its own
45
+ // failure → reject). Each chain attaches its rejection handler
46
+ // synchronously, so no race with the outer Promise's catch.
47
+ (async () => {
48
+ try {
49
+ await client.send(presence);
50
+ } catch (err) {
51
+ unsubscribe();
52
+ reject(err);
53
+ return;
54
+ }
55
+ try {
56
+ await createTimeoutPromise(2000, unsubscribe);
57
+ } catch (err) {
58
+ reject(err);
59
+ }
60
+ })();
43
61
  });
44
62
  };
45
63
  //# sourceMappingURL=presenceInRoom.xmpp.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["xml","createTimeoutPromise","presenceIdCounter","nextPresenceId","Date","now","toString","presenceInRoom","client","roomJID","delay","stanzaHandler","unsubscribe","off","stanzaId","Promise","resolve","reject","settled","finish","cb","value","setTimeout","stanza","is","attrs","id","from","startsWith","on","presence","jid","to","getLocal","xmlns","send","err","catch"],"sourceRoot":"../../../../src","sources":["networking/xmpp/presenceInRoom.xmpp.ts"],"mappings":";;AAAA,SAAiBA,GAAG,QAAQ,cAAc;AAC1C,SAASC,oBAAoB,QAAQ,6BAA6B;AAGlE,IAAIC,iBAAiB,GAAG,CAAC;AACzB,MAAMC,cAAc,GAAGA,CAAA,KACrB,kBAAkBC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAEJ,iBAAiB,EAAEI,QAAQ,CAAC,EAAE,CAAC,EAAE;AAEnF,OAAO,MAAMC,cAAc,GAAG,MAAAA,CAC5BC,MAAc,EACdC,OAAe,EACfC,KAAK,GAAG,IAAI,KACS;EACrB,IAAIC,aAAwC;EAC5C,MAAMC,WAAW,GAAGA,CAAA,KAAMJ,MAAM,CAACK,GAAG,CAAC,QAAQ,EAAEF,aAAa,CAAC;EAC7D,MAAMG,QAAQ,GAAGX,cAAc,CAAC,CAAC;EAEjC,OAAO,IAAIY,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IAC5C,IAAIC,OAAO,GAAG,KAAK;IAEnB,MAAMC,MAAM,GAAGA,CAACC,EAAyB,EAAEC,KAAW,KAAK;MACzD,IAAIH,OAAO,EAAE;QAAC;MAAO;MACrBA,OAAO,GAAG,IAAI;MAEdI,UAAU,CAAC,MAAM;QACfV,WAAW,CAAC,CAAC;QACbQ,EAAE,CAACC,KAAK,CAAC;MACX,CAAC,EAAEX,KAAK,CAAC;IACX,CAAC;IAEDC,aAAa,GAAIY,MAAM,IAAK;MAC1B,IACEA,MAAM,CAACC,EAAE,CAAC,UAAU,CAAC,IACrBD,MAAM,CAACE,KAAK,CAACC,EAAE,KAAKZ,QAAQ,IAC5BS,MAAM,CAACE,KAAK,CAACE,IAAI,EAAEC,UAAU,CAACnB,OAAO,CAAC,EACtC;QACAU,MAAM,CAACH,OAAO,EAAEO,MAAM,CAAC;MACzB;IACF,CAAC;IAEDf,MAAM,CAACqB,EAAE,CAAC,QAAQ,EAAElB,aAAa,CAAC;IAElC,MAAMmB,QAAQ,GAAG9B,GAAG,CAClB,UAAU,EACV;MACE2B,IAAI,EAAEnB,MAAM,CAACuB,GAAG,EAAEzB,QAAQ,CAAC,CAAC;MAC5B0B,EAAE,EAAE,GAAGvB,OAAO,IAAID,MAAM,CAACuB,GAAG,EAAEE,QAAQ,CAAC,CAAC,EAAE;MAC1CP,EAAE,EAAEZ;IACN,CAAC,EACDd,GAAG,CAAC,GAAG,EAAE;MAAEkC,KAAK,EAAE;IAAiC,CAAC,CACtD,CAAC;IAED,IAAI;MACF,MAAM1B,MAAM,CAAC2B,IAAI,CAACL,QAAQ,CAAC;IAC7B,CAAC,CAAC,OAAOM,GAAG,EAAE;MACZxB,WAAW,CAAC,CAAC;MACb,OAAO,EAAE;IACX;IAEA,MAAMX,oBAAoB,CAAC,IAAI,EAAEW,WAAW,CAAC,CAACyB,KAAK,CAACpB,MAAM,CAAC;EAC7D,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["xml","createTimeoutPromise","presenceIdCounter","nextPresenceId","Date","now","toString","presenceInRoom","client","roomJID","delay","stanzaHandler","unsubscribe","off","stanzaId","Promise","resolve","reject","settled","finish","cb","value","setTimeout","stanza","is","attrs","id","from","startsWith","on","presence","jid","to","getLocal","xmlns","send","err"],"sourceRoot":"../../../../src","sources":["networking/xmpp/presenceInRoom.xmpp.ts"],"mappings":";;AAAA,SAAiBA,GAAG,QAAQ,cAAc;AAC1C,SAASC,oBAAoB,QAAQ,6BAA6B;AAGlE,IAAIC,iBAAiB,GAAG,CAAC;AACzB,MAAMC,cAAc,GAAGA,CAAA,KACrB,kBAAkBC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAEJ,iBAAiB,EAAEI,QAAQ,CAAC,EAAE,CAAC,EAAE;AAEnF,OAAO,MAAMC,cAAc,GAAG,MAAAA,CAC5BC,MAAc,EACdC,OAAe,EACfC,KAAK,GAAG,IAAI,KACS;EACrB,IAAIC,aAAwC;EAC5C,MAAMC,WAAW,GAAGA,CAAA,KAAMJ,MAAM,CAACK,GAAG,CAAC,QAAQ,EAAEF,aAAa,CAAC;EAC7D,MAAMG,QAAQ,GAAGX,cAAc,CAAC,CAAC;;EAEjC;EACA;EACA;EACA;EACA;EACA,OAAO,IAAIY,OAAO,CAAU,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC/C,IAAIC,OAAO,GAAG,KAAK;IAEnB,MAAMC,MAAM,GAAGA,CAACC,EAAyB,EAAEC,KAAW,KAAK;MACzD,IAAIH,OAAO,EAAE;QAAC;MAAO;MACrBA,OAAO,GAAG,IAAI;MAEdI,UAAU,CAAC,MAAM;QACfV,WAAW,CAAC,CAAC;QACbQ,EAAE,CAACC,KAAK,CAAC;MACX,CAAC,EAAEX,KAAK,CAAC;IACX,CAAC;IAEDC,aAAa,GAAIY,MAAM,IAAK;MAC1B,IACEA,MAAM,CAACC,EAAE,CAAC,UAAU,CAAC,IACrBD,MAAM,CAACE,KAAK,CAACC,EAAE,KAAKZ,QAAQ,IAC5BS,MAAM,CAACE,KAAK,CAACE,IAAI,EAAEC,UAAU,CAACnB,OAAO,CAAC,EACtC;QACAU,MAAM,CAACH,OAAO,EAAEO,MAAM,CAAC;MACzB;IACF,CAAC;IAEDf,MAAM,CAACqB,EAAE,CAAC,QAAQ,EAAElB,aAAa,CAAC;IAElC,MAAMmB,QAAQ,GAAG9B,GAAG,CAClB,UAAU,EACV;MACE2B,IAAI,EAAEnB,MAAM,CAACuB,GAAG,EAAEzB,QAAQ,CAAC,CAAC;MAC5B0B,EAAE,EAAE,GAAGvB,OAAO,IAAID,MAAM,CAACuB,GAAG,EAAEE,QAAQ,CAAC,CAAC,EAAE;MAC1CP,EAAE,EAAEZ;IACN,CAAC,EACDd,GAAG,CAAC,GAAG,EAAE;MAAEkC,KAAK,EAAE;IAAiC,CAAC,CACtD,CAAC;;IAED;IACA;IACA;IACA;IACA,CAAC,YAAY;MACX,IAAI;QACF,MAAM1B,MAAM,CAAC2B,IAAI,CAACL,QAAQ,CAAC;MAC7B,CAAC,CAAC,OAAOM,GAAG,EAAE;QACZxB,WAAW,CAAC,CAAC;QACbK,MAAM,CAACmB,GAAG,CAAC;QACX;MACF;MACA,IAAI;QACF,MAAMnC,oBAAoB,CAAC,IAAI,EAAEW,WAAW,CAAC;MAC/C,CAAC,CAAC,OAAOwB,GAAG,EAAE;QACZnB,MAAM,CAACmB,GAAG,CAAC;MACb;IACF,CAAC,EAAE,CAAC;EACN,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -41,12 +41,13 @@ export const sendTextMessage = (client, roomJID, firstName, lastName, photo, wal
41
41
  if (!_sendTextSeq) {/* noop guarded init */}
42
42
  const id = customId ? customId : isReply ? `send-reply-message-${Date.now()}-${_sendTextSeq = _sendTextSeq + 1 >>> 0}` : `send-text-message-${Date.now()}-${_sendTextSeq = _sendTextSeq + 1 >>> 0}`;
43
43
  try {
44
+ const dataXmlns = toServiceXmlns(devServer, client);
44
45
  const message = xml('message', {
45
46
  to: roomJID,
46
47
  type: 'groupchat',
47
48
  id: id
48
49
  }, xml('data', {
49
- xmlns: toServiceXmlns(devServer, client),
50
+ xmlns: dataXmlns,
50
51
  senderFirstName: firstName,
51
52
  senderLastName: lastName,
52
53
  fullName: `${firstName} ${lastName}`,