@ethora/chat-component-rn 26.5.7 → 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 (371) hide show
  1. package/CHANGELOG.md +133 -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/ChatRoom.js +64 -38
  9. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/ChatWrapper.js +57 -13
  11. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/MediaMessage.js +4 -2
  13. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  14. package/lib/commonjs/components/MainComponents/MessageContainer.js +2 -2
  15. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  16. package/lib/commonjs/components/MainComponents/MessageList.js +165 -28
  17. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  18. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +17 -8
  19. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  20. package/lib/commonjs/components/MainComponents/SystemMessage.js +34 -22
  21. package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
  22. package/lib/commonjs/components/MessageBubble/Message.js +84 -39
  23. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  24. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +82 -22
  25. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  26. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +16 -4
  27. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  28. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +104 -0
  29. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  30. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +140 -24
  31. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  32. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +29 -1
  33. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  34. package/lib/commonjs/components/Modals/Modal/Modal.js +5 -1
  35. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  36. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +77 -47
  37. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  38. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  39. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  40. package/lib/commonjs/components/Modals/styledModalComponents.js +4 -9
  41. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  42. package/lib/commonjs/components/styled/MediaFilePreview.js +47 -28
  43. package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
  44. package/lib/commonjs/components/styled/MessageImage.js +49 -9
  45. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  46. package/lib/commonjs/components/styled/NewMessageLabel.js +8 -6
  47. package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
  48. package/lib/commonjs/components/styled/SendInput.js +49 -27
  49. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  50. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  51. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  52. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  53. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  54. package/lib/commonjs/components/styled/UnsupportedType.js +5 -1
  55. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  56. package/lib/commonjs/components/styled/VideoMessage.js +60 -14
  57. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  58. package/lib/commonjs/context/MessageNotificationContext.js +7 -7
  59. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  60. package/lib/commonjs/context/xmppProvider.js +244 -32
  61. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  62. package/lib/commonjs/helpers/chatAutoEnterer.js +2 -7
  63. package/lib/commonjs/helpers/chatAutoEnterer.js.map +1 -1
  64. package/lib/commonjs/helpers/historyPreloadScheduler.js +4 -1
  65. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  66. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +15 -5
  67. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  68. package/lib/commonjs/helpers/keyboardLayout.js +18 -0
  69. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -0
  70. package/lib/commonjs/helpers/mediaDimensions.js +51 -0
  71. package/lib/commonjs/helpers/mediaDimensions.js.map +1 -0
  72. package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
  73. package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
  74. package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
  75. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
  76. package/lib/commonjs/hooks/useHeapSender.js +1 -1
  77. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  78. package/lib/commonjs/hooks/useLogout.js +3 -3
  79. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  80. package/lib/commonjs/hooks/usePushNotifications.js +6 -2
  81. package/lib/commonjs/hooks/usePushNotifications.js.map +1 -1
  82. package/lib/commonjs/hooks/useRoomState.js +2 -0
  83. package/lib/commonjs/hooks/useRoomState.js.map +1 -1
  84. package/lib/commonjs/hooks/useSendMessage.js +201 -10
  85. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  86. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +12 -14
  87. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  88. package/lib/commonjs/main.js +7 -0
  89. package/lib/commonjs/main.js.map +1 -1
  90. package/lib/commonjs/networking/api-requests/auth.api.js +67 -0
  91. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  92. package/lib/commonjs/networking/apiClient.js +2 -1
  93. package/lib/commonjs/networking/apiClient.js.map +1 -1
  94. package/lib/commonjs/networking/outboundQueue.js +92 -0
  95. package/lib/commonjs/networking/outboundQueue.js.map +1 -0
  96. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  97. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  98. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  99. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  100. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  101. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  102. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  103. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  104. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  105. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  106. package/lib/commonjs/networking/xmppClient.js +294 -35
  107. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  108. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +22 -6
  109. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  110. package/lib/commonjs/roomStore/roomsSlice.js +157 -23
  111. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  112. package/lib/commonjs/utils/installPromiseRejectionTracker.js +83 -0
  113. package/lib/commonjs/utils/installPromiseRejectionTracker.js.map +1 -0
  114. package/lib/commonjs/utils/resendMessage.js +1 -1
  115. package/lib/commonjs/utils/resendMessage.js.map +1 -1
  116. package/lib/module/assets/icons.js +5 -1
  117. package/lib/module/assets/icons.js.map +1 -1
  118. package/lib/module/components/ContextMenu/ContextMenuComponents.js +11 -5
  119. package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  120. package/lib/module/components/MainComponents/ChatRoom.js +65 -39
  121. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  122. package/lib/module/components/MainComponents/ChatWrapper.js +57 -13
  123. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  124. package/lib/module/components/MainComponents/MediaMessage.js +4 -2
  125. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  126. package/lib/module/components/MainComponents/MessageContainer.js +2 -2
  127. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  128. package/lib/module/components/MainComponents/MessageList.js +166 -29
  129. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  130. package/lib/module/components/MainComponents/ReduxWrapper.js +18 -8
  131. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  132. package/lib/module/components/MainComponents/SystemMessage.js +33 -21
  133. package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
  134. package/lib/module/components/MessageBubble/Message.js +85 -40
  135. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  136. package/lib/module/components/MessageBubble/MessageInteractions.js +84 -24
  137. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  138. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +15 -3
  139. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  140. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +99 -0
  141. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  142. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +143 -25
  143. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  144. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +31 -3
  145. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  146. package/lib/module/components/Modals/Modal/Modal.js +5 -1
  147. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  148. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +79 -49
  149. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  150. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  151. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  152. package/lib/module/components/Modals/styledModalComponents.js +4 -9
  153. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  154. package/lib/module/components/styled/MediaFilePreview.js +47 -28
  155. package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
  156. package/lib/module/components/styled/MessageImage.js +51 -11
  157. package/lib/module/components/styled/MessageImage.js.map +1 -1
  158. package/lib/module/components/styled/NewMessageLabel.js +8 -6
  159. package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
  160. package/lib/module/components/styled/SendInput.js +50 -28
  161. package/lib/module/components/styled/SendInput.js.map +1 -1
  162. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  163. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  164. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  165. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  166. package/lib/module/components/styled/UnsupportedType.js +5 -1
  167. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  168. package/lib/module/components/styled/VideoMessage.js +61 -15
  169. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  170. package/lib/module/context/MessageNotificationContext.js +7 -7
  171. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  172. package/lib/module/context/xmppProvider.js +246 -34
  173. package/lib/module/context/xmppProvider.js.map +1 -1
  174. package/lib/module/helpers/chatAutoEnterer.js +2 -7
  175. package/lib/module/helpers/chatAutoEnterer.js.map +1 -1
  176. package/lib/module/helpers/historyPreloadScheduler.js +4 -1
  177. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  178. package/lib/module/helpers/insertMessageWithDelimiter.js +15 -5
  179. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  180. package/lib/module/helpers/keyboardLayout.js +12 -0
  181. package/lib/module/helpers/keyboardLayout.js.map +1 -0
  182. package/lib/module/helpers/mediaDimensions.js +46 -0
  183. package/lib/module/helpers/mediaDimensions.js.map +1 -0
  184. package/lib/module/helpers/normalizeRoomJid.js +15 -0
  185. package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
  186. package/lib/module/hooks/useChatRoomFocus.js +82 -0
  187. package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
  188. package/lib/module/hooks/useHeapSender.js +1 -1
  189. package/lib/module/hooks/useHeapSender.js.map +1 -1
  190. package/lib/module/hooks/useLogout.js +3 -3
  191. package/lib/module/hooks/useLogout.js.map +1 -1
  192. package/lib/module/hooks/usePushNotifications.js +6 -2
  193. package/lib/module/hooks/usePushNotifications.js.map +1 -1
  194. package/lib/module/hooks/useRoomState.js +2 -0
  195. package/lib/module/hooks/useRoomState.js.map +1 -1
  196. package/lib/module/hooks/useSendMessage.js +203 -12
  197. package/lib/module/hooks/useSendMessage.js.map +1 -1
  198. package/lib/module/hooks/useUnreadMessagesCounter.js +12 -14
  199. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  200. package/lib/module/main.js +1 -0
  201. package/lib/module/main.js.map +1 -1
  202. package/lib/module/networking/api-requests/auth.api.js +67 -1
  203. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  204. package/lib/module/networking/apiClient.js +2 -1
  205. package/lib/module/networking/apiClient.js.map +1 -1
  206. package/lib/module/networking/outboundQueue.js +84 -0
  207. package/lib/module/networking/outboundQueue.js.map +1 -0
  208. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  209. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  210. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  211. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  212. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  213. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  214. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  215. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  216. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  217. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  218. package/lib/module/networking/xmppClient.js +294 -35
  219. package/lib/module/networking/xmppClient.js.map +1 -1
  220. package/lib/module/roomStore/Middleware/unreadMidlleware.js +22 -6
  221. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  222. package/lib/module/roomStore/roomsSlice.js +154 -22
  223. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  224. package/lib/module/utils/installPromiseRejectionTracker.js +78 -0
  225. package/lib/module/utils/installPromiseRejectionTracker.js.map +1 -0
  226. package/lib/module/utils/resendMessage.js +1 -1
  227. package/lib/module/utils/resendMessage.js.map +1 -1
  228. package/lib/typescript/assets/icons.d.ts +8 -4
  229. package/lib/typescript/assets/icons.d.ts.map +1 -1
  230. package/lib/typescript/components/ContextMenu/ContextMenuComponents.d.ts.map +1 -1
  231. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  232. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  233. package/lib/typescript/components/MainComponents/MediaMessage.d.ts +1 -0
  234. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  235. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  236. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  237. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts +1 -0
  238. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  239. package/lib/typescript/components/MainComponents/SystemMessage.d.ts +0 -7
  240. package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
  241. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  242. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +4 -2
  243. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  244. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  245. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +29 -0
  246. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -0
  247. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +0 -1
  248. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  249. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  250. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  251. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  252. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  253. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  254. package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
  255. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  256. package/lib/typescript/components/styled/NewMessageLabel.d.ts +1 -5
  257. package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
  258. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  259. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +9 -1
  260. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  261. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  262. package/lib/typescript/components/styled/UnsupportedType.d.ts +1 -0
  263. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  264. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  265. package/lib/typescript/context/xmppProvider.d.ts +1 -0
  266. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  267. package/lib/typescript/helpers/chatAutoEnterer.d.ts.map +1 -1
  268. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  269. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  270. package/lib/typescript/helpers/keyboardLayout.d.ts +9 -0
  271. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -0
  272. package/lib/typescript/helpers/mediaDimensions.d.ts +9 -0
  273. package/lib/typescript/helpers/mediaDimensions.d.ts.map +1 -0
  274. package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
  275. package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
  276. package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
  277. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
  278. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  279. package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
  280. package/lib/typescript/hooks/useRoomState.d.ts +1 -0
  281. package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
  282. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  283. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  284. package/lib/typescript/main.d.ts +1 -0
  285. package/lib/typescript/main.d.ts.map +1 -1
  286. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -0
  287. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  288. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  289. package/lib/typescript/networking/outboundQueue.d.ts +57 -0
  290. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -0
  291. package/lib/typescript/networking/xmpp/createTimeoutPromise.xmpp.d.ts.map +1 -1
  292. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -1
  293. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  294. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts +1 -1
  295. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts.map +1 -1
  296. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  297. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  298. package/lib/typescript/networking/xmppClient.d.ts +33 -4
  299. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  300. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  301. package/lib/typescript/roomStore/roomsSlice.d.ts +8 -1
  302. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  303. package/lib/typescript/types/models/media.model.d.ts +1 -0
  304. package/lib/typescript/types/models/media.model.d.ts.map +1 -1
  305. package/lib/typescript/types/models/xmpp.model.d.ts +1 -1
  306. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  307. package/lib/typescript/types/types.d.ts +4 -0
  308. package/lib/typescript/types/types.d.ts.map +1 -1
  309. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts +20 -0
  310. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts.map +1 -0
  311. package/lib/typescript/utils/resendMessage.d.ts.map +1 -1
  312. package/package.json +18 -2
  313. package/src/assets/icons.tsx +23 -14
  314. package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
  315. package/src/components/MainComponents/ChatRoom.tsx +81 -66
  316. package/src/components/MainComponents/ChatWrapper.tsx +99 -21
  317. package/src/components/MainComponents/MediaMessage.tsx +3 -0
  318. package/src/components/MainComponents/MessageContainer.tsx +4 -2
  319. package/src/components/MainComponents/MessageList.tsx +175 -28
  320. package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
  321. package/src/components/MainComponents/SystemMessage.tsx +38 -26
  322. package/src/components/MessageBubble/Message.tsx +91 -62
  323. package/src/components/MessageBubble/MessageInteractions.tsx +98 -29
  324. package/src/components/Modals/AttachSheet/AttachSheet.tsx +17 -3
  325. package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
  326. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +152 -25
  327. package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
  328. package/src/components/Modals/Modal/Modal.tsx +4 -1
  329. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +70 -58
  330. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
  331. package/src/components/Modals/styledModalComponents.tsx +4 -9
  332. package/src/components/styled/MediaFilePreview.tsx +46 -26
  333. package/src/components/styled/MessageImage.tsx +58 -13
  334. package/src/components/styled/NewMessageLabel.tsx +8 -5
  335. package/src/components/styled/SendInput.tsx +64 -29
  336. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +15 -5
  337. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +7 -2
  338. package/src/components/styled/UnsupportedType.tsx +7 -1
  339. package/src/components/styled/VideoMessage.tsx +59 -11
  340. package/src/context/MessageNotificationContext.tsx +8 -8
  341. package/src/context/xmppProvider.tsx +247 -30
  342. package/src/helpers/chatAutoEnterer.ts +2 -8
  343. package/src/helpers/historyPreloadScheduler.ts +4 -1
  344. package/src/helpers/insertMessageWithDelimiter.ts +22 -15
  345. package/src/helpers/keyboardLayout.ts +18 -0
  346. package/src/helpers/mediaDimensions.ts +47 -0
  347. package/src/helpers/normalizeRoomJid.ts +6 -0
  348. package/src/hooks/useChatRoomFocus.ts +95 -0
  349. package/src/hooks/useHeapSender.tsx +2 -1
  350. package/src/hooks/useLogout.tsx +3 -3
  351. package/src/hooks/usePushNotifications.ts +21 -8
  352. package/src/hooks/useRoomState.tsx +4 -0
  353. package/src/hooks/useSendMessage.tsx +258 -13
  354. package/src/hooks/useUnreadMessagesCounter.ts +13 -16
  355. package/src/main.ts +1 -0
  356. package/src/networking/api-requests/auth.api.ts +55 -1
  357. package/src/networking/apiClient.ts +2 -1
  358. package/src/networking/outboundQueue.ts +98 -0
  359. package/src/networking/xmpp/createTimeoutPromise.xmpp.ts +5 -1
  360. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +11 -13
  361. package/src/networking/xmpp/getRoomsPaged.xmpp.ts +27 -3
  362. package/src/networking/xmpp/presenceInRoom.xmpp.ts +24 -9
  363. package/src/networking/xmpp/sendTextMessage.xmpp.ts +2 -1
  364. package/src/networking/xmppClient.ts +317 -43
  365. package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
  366. package/src/roomStore/roomsSlice.ts +177 -27
  367. package/src/types/models/media.model.ts +3 -0
  368. package/src/types/models/xmpp.model.ts +2 -1
  369. package/src/types/types.ts +15 -0
  370. package/src/utils/installPromiseRejectionTracker.ts +91 -0
  371. package/src/utils/resendMessage.ts +2 -1
@@ -26,6 +26,8 @@ var _inviteRoomRequest = require("./xmpp/inviteRoomRequest.xmpp");
26
26
  var _getRooms = require("./xmpp/getRooms.xmpp");
27
27
  var _handleStanzas = require("./xmpp/handleStanzas.xmpp");
28
28
  var _devLogger = require("../utils/devLogger");
29
+ var _normalizeRoomJid = require("../helpers/normalizeRoomJid");
30
+ var _outboundQueue = require("./outboundQueue");
29
31
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
32
  // Canonical production XMPP WSS endpoint (standard wss/443, no port suffix).
31
33
  const DEFAULT_DEV_SERVER = 'xmpp.chat.ethora.com';
@@ -54,7 +56,25 @@ class XmppClient {
54
56
  reconnectAttempts = 0;
55
57
  maxReconnectAttempts = 5;
56
58
  reconnectDelay = 2000;
59
+ // Upper bound on the backoff delay. The old hard stop at
60
+ // maxReconnectAttempts gave up entirely after ~62s; now we keep retrying
61
+ // at a steady cadence on a long outage and just clamp the delay here.
62
+ maxReconnectDelay = 30000;
63
+ // Timestamp of the last forced reconnect so bursty external triggers
64
+ // (NetInfo + AppState + the provider watchdog firing together) can't
65
+ // spawn a reconnect storm.
66
+ lastReconnectAt = 0;
57
67
  suppressReconnect = false;
68
+ // Tracked so close()/disconnect() can cancel a pending reconnect —
69
+ // otherwise a scheduleReconnect() timer fires after logout and (until
70
+ // suppressReconnect short-circuits it) keeps the dead instance alive.
71
+ reconnectTimer = null;
72
+ // Single-flight guard for reconnect(). Multiple triggers can fire near-
73
+ // simultaneously (AppState 'active' + NetInfo restore + a scheduled
74
+ // timer). Without this, two overlapping reconnect()s each spawn a fresh
75
+ // underlying client and one is leaked with its `stanza` handler still
76
+ // bound → duplicate stanza dispatch into redux.
77
+ reconnecting = false;
58
78
 
59
79
  // Set when SASL fails with `not-authorized` (typically a stale JWT-
60
80
  // derived XMPP password after idle). Triggers the credentialsProvider
@@ -62,6 +82,9 @@ class XmppClient {
62
82
  lastAuthError = null;
63
83
  credentialsProvider = null;
64
84
  credentialsRefreshInFlight = null;
85
+ // Fired by the provider on every 'online' so it can re-join MUC rooms
86
+ // after a reconnect (bug #21 — reconnected but not in the room).
87
+ onOnlineCallback = null;
65
88
 
66
89
  // ---- QoS state (mirrors web XmppClient) ----------------------------
67
90
  presencesReady = false;
@@ -92,6 +115,12 @@ class XmppClient {
92
115
  this.credentialsProvider = provider;
93
116
  }
94
117
 
118
+ /** Install a callback invoked on every successful 'online'. The provider
119
+ * uses it to re-join MUC rooms after a reconnect. */
120
+ setOnOnline(cb) {
121
+ this.onOnlineCallback = cb;
122
+ }
123
+
95
124
  /** Swap in fresh credentials before the next reconnect. */
96
125
  updateCredentials(username, password) {
97
126
  this.username = username;
@@ -250,11 +279,22 @@ class XmppClient {
250
279
  this.host = this.xmppSettings?.host || url.match(/wss:\/\/([^:/]+)/)?.[1] || '';
251
280
  this.conference = this.xmppSettings?.conference || `conference.${this.host}`;
252
281
  this.status = 'connecting';
282
+
283
+ // Defensive: if a previous underlying client is still referenced
284
+ // (initializeClient reached from a path other than reconnect()),
285
+ // detach its handlers before we overwrite the ref so the orphaned
286
+ // client can't keep dispatching stanzas into redux.
287
+ try {
288
+ this.detachEventListeners();
289
+ } catch {}
253
290
  this.client = _client.default.client({
254
291
  service: url,
255
292
  username: (0, _walletUsername.walletToUsername)(this.username),
256
293
  password: this.password
257
294
  });
295
+ try {
296
+ this.client?.reconnect?.stop?.();
297
+ } catch {}
258
298
 
259
299
  // Concurrent room preloads each register their own short-lived
260
300
  // 'stanza' handler (getHistory, getRooms, getChatsPrivateStore,
@@ -282,7 +322,18 @@ class XmppClient {
282
322
  const to = stanza?.attrs?.to || '';
283
323
  (0, _devLogger.pushLog)('xmpp', `→ ${tag}${id ? ` id=${id}` : ''}${to ? ` to=${to.split('/')[0]}` : ''}`, stanza?.toString ? stanza.toString() : undefined);
284
324
  } catch {}
285
- return origSend(stanza);
325
+ const result = origSend(stanza);
326
+ // Most stanza helpers fire-and-forget `client.send(...)`
327
+ // without awaiting/catching. On @xmpp/client builds where
328
+ // send() returns a Promise, a transient send failure (e.g.
329
+ // mid-reconnect) then surfaces as a red-screen "Uncaught (in
330
+ // promise, id: N)" (#4). Attach a no-op catch so the
331
+ // rejection is considered handled — callers that DO await/
332
+ // catch still get it, because we return the SAME promise.
333
+ if (result && typeof result.catch === 'function') {
334
+ result.catch(() => {});
335
+ }
336
+ return result;
286
337
  };
287
338
  // Property may be non-writable on some builds; defineProperty
288
339
  // gives us a clearer error than a plain assignment.
@@ -302,14 +353,35 @@ class XmppClient {
302
353
  this.lastAuthError = 'not-authorized';
303
354
  }
304
355
  this.status = 'error';
356
+ // A connect-time failure lands in 'error', which — unlike a
357
+ // 'disconnect' after being online — has no other retry path
358
+ // (onError doesn't reschedule; the provider only reacts to
359
+ // 'offline'). Schedule a backoff retry so a failed initial or
360
+ // reconnect attempt recovers on its own. reconnect() refreshes
361
+ // creds first when the failure was a SASL not-authorized.
362
+ if (!this.suppressReconnect) {
363
+ try {
364
+ this.scheduleReconnect();
365
+ } catch {}
366
+ }
305
367
  });
306
368
  } catch (error) {
307
369
  console.error('Error initializing client:', error);
308
370
  this.status = 'error';
309
371
  }
310
372
  }
373
+
374
+ // Stored so detachEventListeners() can remove exactly the handlers we
375
+ // added (not xmpp.js's internal ones). Without this a re-login left the
376
+ // previous instance's `stanza` handler bound, double-dispatching every
377
+ // incoming stanza into the (new session's) redux store.
378
+
311
379
  attachEventListeners() {
312
- this.client.on('disconnect', () => {
380
+ // Idempotent: drop any previously-attached handlers first so a
381
+ // reconnect that re-runs initializeClient on a fresh underlying
382
+ // client doesn't stack duplicates.
383
+ this.detachEventListeners();
384
+ this.onDisconnect = () => {
313
385
  console.log('XMPP disconnected.');
314
386
  this.status = 'offline';
315
387
  try {
@@ -317,8 +389,19 @@ class XmppClient {
317
389
  // that don't reference it; tree-shaken via dead-code elim.
318
390
  (0, _devLogger.pushLog)('xmpp', 'disconnect');
319
391
  } catch {}
320
- });
321
- this.client.on('online', () => {
392
+ // Self-heal at the socket level. The provider's reconnect effect
393
+ // keys on `client.status`, but that's a mutated class field React
394
+ // does NOT track — so a silent socket drop (e.g. JS paused by the
395
+ // debugger, iOS WebSocket suspend) never re-runs the effect and the
396
+ // client sits 'offline' forever (sends then queue and time out).
397
+ // Driving reconnect here makes recovery independent of React.
398
+ if (!this.suppressReconnect) {
399
+ try {
400
+ this.scheduleReconnect();
401
+ } catch {}
402
+ }
403
+ };
404
+ this.onOnline = () => {
322
405
  console.log('XMPP online.', new Date());
323
406
  this.status = 'online';
324
407
  this.presencesReady = true;
@@ -326,8 +409,30 @@ class XmppClient {
326
409
  try {
327
410
  (0, _devLogger.pushLog)('xmpp', 'online', this.username);
328
411
  } catch {}
329
- });
330
- this.client.on('error', error => {
412
+ // Notify the provider that the session is live again. On a RECONNECT
413
+ // (new stream) the client is no longer joined to any MUC, so the
414
+ // provider must re-send room presences — otherwise messages get a
415
+ // local double-tick but never reach the room (bug #21). Harmless on
416
+ // the first connect (room list not loaded yet → joins nothing; the
417
+ // bootstrap's own allRoomPresences handles that pass).
418
+ try {
419
+ this.onOnlineCallback?.();
420
+ } catch (err) {
421
+ console.warn('onOnline callback failed', err);
422
+ }
423
+ // Drain any sends that were buffered while the stream was down. The
424
+ // presence stanzas from onOnlineCallback above were written to the
425
+ // socket synchronously (allRoomPresences → presenceInRoom send the
426
+ // <presence> before yielding), so flushing here puts the message
427
+ // stanzas AFTER the joins on the same stream — XMPP's in-order
428
+ // per-stream processing guarantees the MUC join lands first.
429
+ try {
430
+ this.flushPendingSends();
431
+ } catch (err) {
432
+ console.warn('flushPendingSends failed', err);
433
+ }
434
+ };
435
+ this.onError = error => {
331
436
  console.error('XMPP client error:', error);
332
437
  if (isNotAuthorizedError(error)) {
333
438
  this.lastAuthError = 'not-authorized';
@@ -335,8 +440,8 @@ class XmppClient {
335
440
  try {
336
441
  (0, _devLogger.pushLog)('xmpp', 'error', error && error.message || error);
337
442
  } catch {}
338
- });
339
- this.client.on('stanza', stanza => {
443
+ };
444
+ this.onStanza = stanza => {
340
445
  try {
341
446
  const tag = stanza?.name || 'stanza';
342
447
  const id = stanza?.attrs?.id || '';
@@ -345,7 +450,35 @@ class XmppClient {
345
450
  (0, _devLogger.pushLog)('xmpp', `← ${tag}${id ? ` id=${id}` : ''}${type ? ` type=${type}` : ''}${from ? ` from=${from.split('/')[0]}` : ''}`, stanza?.toString ? stanza.toString() : undefined);
346
451
  } catch {}
347
452
  _handleStanzas.handleStanza.bind(this, stanza, this)();
348
- });
453
+ };
454
+ this.client.on('disconnect', this.onDisconnect);
455
+ this.client.on('online', this.onOnline);
456
+ this.client.on('error', this.onError);
457
+ this.client.on('stanza', this.onStanza);
458
+ }
459
+ detachEventListeners() {
460
+ const c = this.client;
461
+ if (!c?.removeListener) {
462
+ return;
463
+ }
464
+ try {
465
+ if (this.onDisconnect) {
466
+ c.removeListener('disconnect', this.onDisconnect);
467
+ }
468
+ if (this.onOnline) {
469
+ c.removeListener('online', this.onOnline);
470
+ }
471
+ if (this.onError) {
472
+ c.removeListener('error', this.onError);
473
+ }
474
+ if (this.onStanza) {
475
+ c.removeListener('stanza', this.onStanza);
476
+ }
477
+ } catch {}
478
+ this.onDisconnect = undefined;
479
+ this.onOnline = undefined;
480
+ this.onError = undefined;
481
+ this.onStanza = undefined;
349
482
  }
350
483
 
351
484
  /**
@@ -382,38 +515,96 @@ class XmppClient {
382
515
  if (this.suppressReconnect) {
383
516
  return;
384
517
  }
385
- if (this.reconnectAttempts >= this.maxReconnectAttempts) {
386
- console.error('Max reconnect attempts reached.');
518
+ if (this.reconnecting || this.reconnectTimer) {
387
519
  return;
388
520
  }
389
521
  this.reconnectAttempts++;
390
- const delay = this.reconnectDelay * Math.pow(2, this.reconnectAttempts - 1);
522
+ const exp = Math.min(this.reconnectAttempts - 1, Math.max(0, this.maxReconnectAttempts));
523
+ const delay = Math.min(this.maxReconnectDelay, this.reconnectDelay * Math.pow(2, exp));
391
524
  console.log(`Reconnecting attempt ${this.reconnectAttempts} in ${delay}ms`);
392
- setTimeout(() => this.reconnect(), delay);
525
+ // No clearTimeout needed — the guard above guarantees no pending timer.
526
+ this.reconnectTimer = setTimeout(() => {
527
+ this.reconnectTimer = null;
528
+ // The connection may have recovered on its own (xmpp.js auto-
529
+ // reconnect) between scheduling and firing — don't tear down a
530
+ // healthy stream. forceReconnect() bypasses this by calling
531
+ // reconnect() directly.
532
+ if (this.status === 'online') {
533
+ this.reconnectAttempts = 0;
534
+ return;
535
+ }
536
+ this.reconnect();
537
+ }, delay);
538
+ }
539
+
540
+ /**
541
+ * Force an immediate reconnect, resetting the backoff counter. Called
542
+ * by the provider when NetInfo reports the network came back or the app
543
+ * returned to the foreground — we don't want to wait out the existing
544
+ * exponential delay (or a maxed-out attempt count) in those cases.
545
+ */
546
+ forceReconnect() {
547
+ if (this.suppressReconnect) {
548
+ return;
549
+ }
550
+ // Debounce bursts: NetInfo restore + AppState 'active' + the provider
551
+ // watchdog can fire within the same instant. reconnect() dedups
552
+ // CONCURRENT calls, but sequential ones (one finishes, the next
553
+ // arrives) would still each tear down + re-create the client. Ignore
554
+ // forces within 2s of the last one.
555
+ const now = Date.now();
556
+ if (now - this.lastReconnectAt < 2000) {
557
+ return;
558
+ }
559
+ this.lastReconnectAt = now;
560
+ if (this.reconnectTimer) {
561
+ clearTimeout(this.reconnectTimer);
562
+ this.reconnectTimer = null;
563
+ }
564
+ this.reconnectAttempts = 0;
565
+ this.reconnect();
393
566
  }
394
567
  async reconnect() {
395
568
  if (this.suppressReconnect) {
396
569
  return;
397
570
  }
571
+ // Single-flight: ignore overlapping triggers (AppState + NetInfo +
572
+ // scheduled timer) so we never spawn two underlying clients and leak
573
+ // one with live listeners (duplicate stanza dispatch).
574
+ if (this.reconnecting) {
575
+ console.log('reconnect already in progress — skip');
576
+ return;
577
+ }
578
+ this.reconnecting = true;
398
579
  console.log('Attempting to reconnect xmpp client...');
580
+ try {
581
+ // If the last failure was a SASL `not-authorized` (typically a stale
582
+ // JWT-derived XMPP password after idle), try to fetch fresh creds
583
+ // before retrying. Without this, reconnect retries with the same
584
+ // stale password forever and the user has to kill the app.
585
+ if (this.lastAuthError === 'not-authorized' && this.credentialsProvider) {
586
+ try {
587
+ await this.refreshCredentialsOnce();
588
+ } catch (err) {
589
+ console.warn('XMPP credential refresh failed; reconnecting with cached creds', err);
590
+ }
591
+ }
399
592
 
400
- // If the last failure was a SASL `not-authorized` (typically a stale
401
- // JWT-derived XMPP password after idle), try to fetch fresh creds
402
- // before retrying. Without this, reconnect retries with the same
403
- // stale password forever and the user has to kill the app.
404
- if (this.lastAuthError === 'not-authorized' && this.credentialsProvider) {
405
- try {
406
- await this.refreshCredentialsOnce();
407
- } catch (err) {
408
- console.warn('XMPP credential refresh failed; reconnecting with cached creds', err);
593
+ // Tear the OLD underlying client down FULLY before spinning up a new
594
+ // one: detach our handlers (so its `stanza` handler can't keep
595
+ // dispatching) and stop it. detachEventListeners() must run while
596
+ // `this.client` still points at the old client — i.e. before
597
+ // initializeClient() reassigns it.
598
+ const old = this.client;
599
+ if (old) {
600
+ this.detachEventListeners();
601
+ try {
602
+ await old.stop();
603
+ } catch {}
409
604
  }
410
- }
411
- if (this.client) {
412
- this.client.stop().finally(() => {
413
- this.initializeClient();
414
- });
415
- } else {
416
605
  this.initializeClient();
606
+ } finally {
607
+ this.reconnecting = false;
417
608
  }
418
609
  }
419
610
 
@@ -435,6 +626,13 @@ class XmppClient {
435
626
  try {
436
627
  const fresh = await provider();
437
628
  if (fresh?.username && fresh?.password) {
629
+ // Apply whatever the provider returns and retry. We do NOT try to
630
+ // detect "auth expired" by comparing passwords — a stable
631
+ // xmppPassword (e.g. deterministic from the JWT/wallet) is the
632
+ // NORMAL case for a transient blip, and treating it as expiry
633
+ // falsely bricked recoverable sessions (sending stopped). If the
634
+ // creds really are stale we simply get not-authorized again and
635
+ // retry, which is the confirmed-good 26.5.7 behaviour.
438
636
  this.updateCredentials(fresh.username, fresh.password);
439
637
  this.lastAuthError = null;
440
638
  }
@@ -451,7 +649,17 @@ class XmppClient {
451
649
  return this.close();
452
650
  }
453
651
  async close() {
652
+ // Cancel any pending reconnect so a stale timer can't resurrect this
653
+ // instance after teardown/logout.
654
+ if (this.reconnectTimer) {
655
+ clearTimeout(this.reconnectTimer);
656
+ this.reconnectTimer = null;
657
+ }
454
658
  if (this.client) {
659
+ // Detach OUR handlers first so a late stanza during the close
660
+ // handshake can't re-enter handleStanza and dispatch into a store
661
+ // that's being wiped (or, on re-login, the new session's store).
662
+ this.detachEventListeners();
455
663
  try {
456
664
  await this.client.stop();
457
665
  console.log('XMPP client connection closed.');
@@ -460,6 +668,11 @@ class XmppClient {
460
668
  }
461
669
  }
462
670
  this.status = 'offline';
671
+ this.presencesReady = false;
672
+ // Permanent teardown (logout / unmount) — drop buffered sends so they
673
+ // don't replay into the next session. Reconnect uses old.stop(), NOT
674
+ // close(), so the queue still survives a transient drop+reconnect.
675
+ (0, _outboundQueue.clearOutboundSends)();
463
676
  }
464
677
  getRoomsStanza = async () => {
465
678
  await (0, _getRooms.getRooms)(this.client);
@@ -474,10 +687,10 @@ class XmppClient {
474
687
  await (0, _inviteRoomRequest.inviteRoomRequest)(this.client, to, roomJid);
475
688
  }
476
689
  leaveTheRoomStanza = roomJID => {
477
- (0, _leaveTheRoom.leaveTheRoom)(roomJID, this.client);
690
+ (0, _leaveTheRoom.leaveTheRoom)((0, _normalizeRoomJid.normalizeRoomJid)(roomJID, this.conference), this.client);
478
691
  };
479
692
  presenceInRoomStanza = roomJID => {
480
- (0, _presenceInRoom.presenceInRoom)(this.client, roomJID);
693
+ (0, _presenceInRoom.presenceInRoom)(this.client, (0, _normalizeRoomJid.normalizeRoomJid)(roomJID, this.conference));
481
694
  };
482
695
  getHistoryStanza = async (chatJID, max, before, id, options) => {
483
696
  if (options?.coalesceRoom) {
@@ -492,21 +705,49 @@ class XmppClient {
492
705
  return await (0, _getHistory.getHistory)(this.client, chatJID, max, before, id);
493
706
  };
494
707
  getLastMessageArchiveStanza(roomJID) {
495
- (0, _getLastMessageArchive.getLastMessage)(this.client, roomJID);
708
+ (0, _getLastMessageArchive.getLastMessage)(this.client, (0, _normalizeRoomJid.normalizeRoomJid)(roomJID, this.conference));
496
709
  }
497
710
  setRoomImageStanza = (roomJid, roomThumbnail, type, roomBackground) => {
498
711
  (0, _setRoomImage.setRoomImage)(roomJid, roomThumbnail, type, this.client, roomBackground);
499
712
  };
500
713
  getRoomInfoStanza = roomJID => {
501
- (0, _getRoomInfo.getRoomInfo)(roomJID, this.client);
714
+ (0, _getRoomInfo.getRoomInfo)((0, _normalizeRoomJid.normalizeRoomJid)(roomJID, this.conference), this.client);
502
715
  };
503
716
  getRoomMembersStanza = roomJID => {
504
- (0, _getRoomMembers.getRoomMembers)(roomJID, this.client);
717
+ (0, _getRoomMembers.getRoomMembers)((0, _normalizeRoomJid.normalizeRoomJid)(roomJID, this.conference), this.client);
505
718
  };
506
719
 
720
+ /**
721
+ * True when the underlying stream is live enough to actually put a
722
+ * stanza on the wire. Used to gate sends: when false we buffer instead
723
+ * of firing a fire-and-forget stanza into a dead/half-open socket
724
+ * (which is silently dropped and only caught by the 30s watchdog).
725
+ */
726
+ isStreamReady() {
727
+ return !!this.client && this.status === 'online' && !this.reconnecting;
728
+ }
729
+
730
+ /** Replay buffered sends against this (now-online) client, in order. */
731
+ flushPendingSends() {
732
+ (0, _outboundQueue.flushOutboundSends)(this, Date.now());
733
+ }
734
+
507
735
  //messages
508
736
  sendMessage = (roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage, customId) => {
737
+ // Stream down (start race / reconnect window): buffer and replay on
738
+ // the next 'online' instead of losing the stanza. Returns false so
739
+ // callers know the send was deferred, not delivered.
740
+ if (!this.isStreamReady()) {
741
+ (0, _outboundQueue.enqueueOutboundSend)({
742
+ optimisticId: customId || `send-text-message-${Date.now()}`,
743
+ roomJID,
744
+ enqueuedAt: Date.now(),
745
+ send: c => c.sendMessage(roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage, customId)
746
+ });
747
+ return false;
748
+ }
509
749
  (0, _sendTextMessage.sendTextMessage)(this.client, roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage, this.devServer || DEFAULT_DEV_SERVER, customId);
750
+ return true;
510
751
  };
511
752
  deleteMessageStanza(room, msgId) {
512
753
  (0, _deleteMessage.deleteMessage)(this.client, room, msgId);
@@ -551,6 +792,19 @@ class XmppClient {
551
792
  }
552
793
  }
553
794
  sendMediaMessageStanza(roomJID, data, customId) {
795
+ // Media: the file is already uploaded by the time we get here; only the
796
+ // stanza needs the stream. Buffer + replay on reconnect if it's down so
797
+ // the upload isn't wasted (otherwise the stanza is lost and the media
798
+ // bubble sits pending until the 30s watchdog fails it).
799
+ if (!this.isStreamReady()) {
800
+ (0, _outboundQueue.enqueueOutboundSend)({
801
+ optimisticId: customId || `send-media-message-${Date.now()}`,
802
+ roomJID,
803
+ enqueuedAt: Date.now(),
804
+ send: c => c.sendMediaMessageStanza(roomJID, data, customId)
805
+ });
806
+ return undefined;
807
+ }
554
808
  return (0, _sendMediaMessage.sendMediaMessage)(this.client, roomJID, data, customId, this.devServer || DEFAULT_DEV_SERVER);
555
809
  }
556
810
 
@@ -572,9 +826,14 @@ class XmppClient {
572
826
  sendMessageReactionStanza(_messageId, _roomJid, _reactionsList, _reactionSymbol) {
573
827
  console.warn('sendMessageReactionStanza: not implemented in RN xmpp client');
574
828
  }
575
- sendTextMessageWithTranslateTagStanza(roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage, _langSource) {
829
+ sendTextMessageWithTranslateTagStanza(roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage, _langSource, customId) {
576
830
  // No translate tag support yet — fall back to a regular text send.
577
- this.sendMessage(roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage);
831
+ // Forward the caller's customId so the optimistic message (heap/redux)
832
+ // reconciles with the server echo. Without it, translated sends went
833
+ // out with no client id → the echo carried a server-assigned id and
834
+ // surfaced as a stuck-pending message PLUS a duplicate (affected both
835
+ // the live translated-send path and resend).
836
+ this.sendMessage(roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage, customId);
578
837
  }
579
838
  }
580
839
  exports.XmppClient = XmppClient;
@@ -1 +1 @@
1
- {"version":3,"names":["_client","_interopRequireDefault","require","_walletUsername","_sendMediaMessage","_getChatsPrivateStoreRequest","_actionSetTimestampToPrivateStore","_flushLastViewedToPrivateStore","_sendTypingRequest","_getHistory","_sendTextMessage","_deleteMessage","_presenceInRoom","_getLastMessageArchive","_createRoom","_setRoomImage","_getRoomMembers","_getRoomInfo","_leaveTheRoom","_editMessage","_inviteRoomRequest","_getRooms","_handleStanzas","_devLogger","e","__esModule","default","DEFAULT_DEV_SERVER","isNotAuthorizedError","err","condition","name","type","error","includes","message","text","toString","test","XmppClient","host","service","conference","status","password","reconnectAttempts","maxReconnectAttempts","reconnectDelay","suppressReconnect","lastAuthError","credentialsProvider","credentialsRefreshInFlight","presencesReady","disableLastRead","activeRoomJID","activeRoomBoostUntil","softPauseUntil","mamInFlightByRoom","Map","maxInFlightHistory","softPauseAfterSendMs","activeRoomBoostTtlMs","alwaysPrioritizeActiveRoom","checkOnline","client","setCredentialsProvider","provider","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","getHistory","cur","delete","set","startedAt","s","url","match","xmpp","walletToUsername","setMaxListeners","origSend","send","bind","wrapped","stanza","tag","attrs","to","devPushLog","split","undefined","Object","defineProperty","value","writable","configurable","console","warn","attachEventListeners","start","catch","on","log","from","handleStanza","waitForOnline","timeoutMs","resolve","reject","tick","Error","ensureConnected","timeout","scheduleReconnect","delay","Math","pow","reconnect","refreshCredentialsOnce","stop","finally","fresh","disconnect","options","close","getRoomsStanza","getRooms","createRoomStanza","title","description","createRoom","inviteRoomRequestStanza","roomJid","inviteRoomRequest","leaveTheRoomStanza","leaveTheRoom","presenceInRoom","getHistoryStanza","coalesceRoom","getLastMessageArchiveStanza","getLastMessage","setRoomImageStanza","roomThumbnail","roomBackground","setRoomImage","getRoomInfoStanza","getRoomInfo","getRoomMembersStanza","getRoomMembers","sendMessage","firstName","lastName","photo","walletAddress","userMessage","notDisplayedValue","isReply","showInChannel","mainMessage","customId","sendTextMessage","deleteMessageStanza","room","msgId","deleteMessage","editMessageStanza","editMessage","sendTypingRequestStanza","chatId","fullName","sendTypingRequest","getChatsPrivateStoreRequestStanza","getChatsPrivateStoreRequest","actionSetTimestampToPrivateStoreStanza","timestamp","chats","actionSetTimestampToPrivateStore","flushLastViewedToPrivateStoreStanza","rooms","opts","flushLastViewedToPrivateStore","sendMediaMessageStanza","data","sendMediaMessage","setVCardStanza","_xmppUsername","createPrivateRoomStanza","result","sendMessageReactionStanza","_roomJid","_reactionsList","_reactionSymbol","sendTextMessageWithTranslateTagStanza","_langSource","exports","_default"],"sourceRoot":"../../../src","sources":["networking/xmppClient.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAGA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,4BAAA,GAAAH,OAAA;AACA,IAAAI,iCAAA,GAAAJ,OAAA;AACA,IAAAK,8BAAA,GAAAL,OAAA;AACA,IAAAM,kBAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,cAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA;AACA,IAAAW,sBAAA,GAAAX,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,aAAA,GAAAb,OAAA;AACA,IAAAc,eAAA,GAAAd,OAAA;AACA,IAAAe,YAAA,GAAAf,OAAA;AACA,IAAAgB,aAAA,GAAAhB,OAAA;AACA,IAAAiB,YAAA,GAAAjB,OAAA;AACA,IAAAkB,kBAAA,GAAAlB,OAAA;AACA,IAAAmB,SAAA,GAAAnB,OAAA;AACA,IAAAoB,cAAA,GAAApB,OAAA;AACA,IAAAqB,UAAA,GAAArB,OAAA;AAA2D,SAAAD,uBAAAuB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3D;AACA,MAAMG,kBAAkB,GAAG,sBAAsB;;AAEjD;AACA;AACA;AACA;AACA,SAASC,oBAAoBA,CAACC,GAAQ,EAAW;EAC/C,IAAI,CAACA,GAAG,EAAE;IAAC,OAAO,KAAK;EAAC;EACxB,MAAMC,SAAS,GACbD,GAAG,EAAEC,SAAS,IACdD,GAAG,EAAEE,IAAI,IACTF,GAAG,EAAEG,IAAI,IACTH,GAAG,EAAEI,KAAK,EAAEH,SAAS,IACrB,EAAE;EACJ,IAAI,OAAOA,SAAS,KAAK,QAAQ,IAAIA,SAAS,CAACI,QAAQ,CAAC,gBAAgB,CAAC,EAAE;IACzE,OAAO,IAAI;EACb;EACA,MAAMC,OAAO,GAAG,CAACN,GAAG,EAAEM,OAAO,IAAIN,GAAG,EAAEO,IAAI,IAAI,EAAE,EAAEC,QAAQ,CAAC,CAAC;EAC5D,OAAO,2BAA2B,CAACC,IAAI,CAACH,OAAO,CAAC;AAClD;AAqBO,MAAMI,UAAU,CAAC;EAItBC,IAAI,GAAW,EAAE;EACjBC,OAAO,GAAW,EAAE;EACpBC,UAAU,GAAW,EAAE;EAEvBC,MAAM,GAAkD,SAAS;EAEjEC,QAAQ,GAAG,EAAE;EACbC,iBAAiB,GAAG,CAAC;EACrBC,oBAAoB,GAAG,CAAC;EACxBC,cAAc,GAAG,IAAI;EACrBC,iBAAiB,GAAG,KAAK;;EAEzB;EACA;EACA;EACAC,aAAa,GAA4B,IAAI;EACrCC,mBAAmB,GAAmC,IAAI;EAC1DC,0BAA0B,GAAyB,IAAI;;EAE/D;EACAC,cAAc,GAAG,KAAK;EACtBC,eAAe,GAAG,KAAK;EACfC,aAAa,GAAkB,IAAI;EACnCC,oBAAoB,GAAG,CAAC;EACxBC,cAAc,GAAG,CAAC;EAClBC,iBAAiB,GAAkC,IAAIC,GAAG,CAAC,CAAC;EAC5DC,kBAAkB,GAAG,CAAC;EACtBC,oBAAoB,GAAG,GAAG;EAC1BC,oBAAoB,GAAG,IAAI;EAC3BC,0BAA0B,GAAG,IAAI;;EAEzC;;EAEAC,WAAWA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACC,MAAM,IAAI,IAAI,CAACA,MAAM,CAACrB,MAAM,KAAK,QAAQ;EACvD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEsB,sBAAsBA,CAACC,QAAwC,EAAE;IAC/D,IAAI,CAAChB,mBAAmB,GAAGgB,QAAQ;EACrC;;EAEA;EACAC,iBAAiBA,CAACC,QAAgB,EAAExB,QAAgB,EAAE;IACpD,IAAI,CAACwB,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACxB,QAAQ,GAAGA,QAAQ;EAC1B;EAEAyB,WAAWA,CACTD,QAAgB,EAChBxB,QAAgB,EAChB0B,YAA6C,EAC7C;IACA;IACA,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;MACpC,IAAI,CAACA,YAAY,GAAG;QAAEC,SAAS,EAAED;MAAa,CAAC;MAC/C,IAAI,CAACC,SAAS,GAAGD,YAAY;IAC/B,CAAC,MAAM;MACL,IAAI,CAACA,YAAY,GAAGA,YAAY;MAChC,IAAI,CAACC,SAAS,GAAGD,YAAY,EAAEC,SAAS;IAC1C;IACA,IAAI,CAAClB,eAAe,GAAG,IAAI,CAACiB,YAAY,EAAEjB,eAAe,KAAK,IAAI;IAElE,MAAMmB,GAAG,GAAG,IAAI,CAACF,YAAY,EAAEG,UAAU;IACzC,IAAID,GAAG,EAAE;MACP,IAAI,OAAOA,GAAG,CAACb,kBAAkB,KAAK,QAAQ,EAC5C;QAAC,IAAI,CAACA,kBAAkB,GAAGa,GAAG,CAACb,kBAAkB;MAAC;MACpD,IAAI,OAAOa,GAAG,CAACZ,oBAAoB,KAAK,QAAQ,EAC9C;QAAC,IAAI,CAACA,oBAAoB,GAAGY,GAAG,CAACZ,oBAAoB;MAAC;MACxD,IAAI,OAAOY,GAAG,CAACX,oBAAoB,KAAK,QAAQ,EAC9C;QAAC,IAAI,CAACA,oBAAoB,GAAGW,GAAG,CAACX,oBAAoB;MAAC;MACxD,IAAI,OAAOW,GAAG,CAACV,0BAA0B,KAAK,SAAS,EACrD;QAAC,IAAI,CAACA,0BAA0B,GAAGU,GAAG,CAACV,0BAA0B;MAAC;IACtE;IAEA,IAAI,CAACM,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACxB,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAAC8B,gBAAgB,CAAC,CAAC;EACzB;;EAEA;EACA;EACA;EACAC,gBAAgBA,CAACC,OAAsB,EAAE;IACvC,IAAI,CAACtB,aAAa,GAAGsB,OAAO;IAC5B,IAAIA,OAAO,EAAE;MAAC,IAAI,CAACC,kBAAkB,CAACD,OAAO,CAAC;IAAC;EACjD;EAEAC,kBAAkBA,CAACC,QAAgB,EAAE;IACnC,IAAI,CAACvB,oBAAoB,GAAGwB,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAACnB,oBAAoB;EACpE;;EAEA;AACF;AACA;AACA;EACEoB,oBAAoBA,CAAA,EAAY;IAC9B,IAAI,IAAI,CAACxB,iBAAiB,CAACyB,IAAI,IAAI,IAAI,CAACvB,kBAAkB,EAAE;MAAC,OAAO,KAAK;IAAC;IAC1E,IAAIoB,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAACxB,cAAc,EAAE;MAAC,OAAO,KAAK;IAAC;IACpD,OAAO,IAAI;EACb;;EAEA;EACA2B,cAAcA,CAACP,OAAe,EAAEQ,UAAmB,EAAE;IACnD,IAAI,CAAC5B,cAAc,GAAGuB,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAACpB,oBAAoB;IAC5D,IAAIgB,OAAO,EAAE;MAAC,IAAI,CAACC,kBAAkB,CAACD,OAAO,CAAC;IAAC;EACjD;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMS,sBAAsBA,CAACT,OAAe,EAAoB;IAC9D,IAAI;MACF,IAAI,CAACU,oBAAoB,CAACV,OAAO,CAAC;MAClC,OAAO,IAAI;IACb,CAAC,CAAC,MAAM;MACN,OAAO,KAAK;IACd;EACF;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMW,kBAAkBA,CAACC,MAMxB,EAAgB;IACf,MAAM;MAAEC,OAAO;MAAEC,GAAG;MAAEC,MAAM;MAAEC,EAAE;MAAEC,MAAM,GAAG;IAAU,CAAC,GAAGL,MAAM;;IAE/D;IACA;IACA,MAAMM,QAAQ,GAAG,IAAI,CAACrC,iBAAiB,CAACsC,GAAG,CAACN,OAAO,CAAC;IACpD,IAAIK,QAAQ,IAAI,IAAI,CAACE,UAAU,CAACF,QAAQ,CAACD,MAAM,CAAC,IAAI,IAAI,CAACG,UAAU,CAACH,MAAM,CAAC,EAAE;MAC3E,OAAOC,QAAQ,CAACG,OAAO;IACzB;;IAEA;IACA;IACA,OACE,IAAI,CAACxC,iBAAiB,CAACyB,IAAI,IAAI,IAAI,CAACvB,kBAAkB,IACtD,EAAE,IAAI,CAACG,0BAA0B,IAAI,IAAI,CAACR,aAAa,KAAKmC,OAAO,CAAC,EACpE;MACA,MAAM,IAAIS,OAAO,CAAEC,CAAC,IAAKC,UAAU,CAACD,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7C;IACA,IAAIpB,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAACxB,cAAc,IAAIqC,MAAM,KAAK,YAAY,EAAE;MAC/D,MAAMQ,IAAI,GAAG,IAAI,CAAC7C,cAAc,GAAGuB,IAAI,CAACC,GAAG,CAAC,CAAC;MAC7C,MAAM,IAAIkB,OAAO,CAAEC,CAAC,IAAKC,UAAU,CAACD,CAAC,EAAEE,IAAI,CAAC,CAAC;IAC/C;;IAEA;IACA;IACA;IACA,MAAMC,MAA4B,GAAG,CAAC,CAAC;IACvCA,MAAM,CAACC,CAAC,GAAG,CAAC,YAAY;MACtB,IAAI;QACF,OAAO,MAAM,IAAAC,sBAAU,EAAC,IAAI,CAACxC,MAAM,EAAEyB,OAAO,EAAEC,GAAG,EAAEC,MAAM,EAAEC,EAAE,CAAC;MAChE,CAAC,SAAS;QACR,MAAMa,GAAG,GAAG,IAAI,CAAChD,iBAAiB,CAACsC,GAAG,CAACN,OAAO,CAAC;QAC/C,IAAIgB,GAAG,IAAIA,GAAG,CAACR,OAAO,KAAKK,MAAM,CAACC,CAAC,EAAE;UACnC,IAAI,CAAC9C,iBAAiB,CAACiD,MAAM,CAACjB,OAAO,CAAC;QACxC;MACF;IACF,CAAC,EAAE,CAAC;IAEJ,IAAI,CAAChC,iBAAiB,CAACkD,GAAG,CAAClB,OAAO,EAAE;MAClCQ,OAAO,EAAEK,MAAM,CAACC,CAAC;MACjBV,MAAM;MACNe,SAAS,EAAE7B,IAAI,CAACC,GAAG,CAAC;IACtB,CAAC,CAAC;IACF,OAAOsB,MAAM,CAACC,CAAC;EACjB;EAEQP,UAAUA,CAACa,CAAgB,EAAU;IAC3C,QAAQA,CAAC;MACP,KAAK,QAAQ;QACX,OAAO,CAAC;MACV,KAAK,UAAU;QACb,OAAO,CAAC;MACV,KAAK,SAAS;QACZ,OAAO,CAAC;MACV,KAAK,YAAY;QACf,OAAO,CAAC;IACZ;EACF;EAEAnC,gBAAgBA,CAAA,EAAG;IACjB,IAAI;MACF,MAAMH,SAAS,GAAG,IAAI,CAACA,SAAS,IAAI5C,kBAAkB;MACtD,MAAMmF,GAAG,GAAG,SAASvC,SAAS,KAAK;MACnC,IAAI,CAAC9B,OAAO,GAAGqE,GAAG;MAClB,IAAI,CAACtE,IAAI,GACP,IAAI,CAAC8B,YAAY,EAAE9B,IAAI,IAAIsE,GAAG,CAACC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;MACrE,IAAI,CAACrE,UAAU,GACb,IAAI,CAAC4B,YAAY,EAAE5B,UAAU,IAAI,cAAc,IAAI,CAACF,IAAI,EAAE;MAC5D,IAAI,CAACG,MAAM,GAAG,YAAY;MAE1B,IAAI,CAACqB,MAAM,GAAGgD,eAAI,CAAChD,MAAM,CAAC;QACxBvB,OAAO,EAAEqE,GAAG;QACZ1C,QAAQ,EAAE,IAAA6C,gCAAgB,EAAC,IAAI,CAAC7C,QAAQ,CAAC;QACzCxB,QAAQ,EAAE,IAAI,CAACA;MACjB,CAAC,CAAC;;MAEF;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IAAI;QACD,IAAI,CAACoB,MAAM,EAAUkD,eAAe,GAAG,EAAE,CAAC;MAC7C,CAAC,CAAC,MAAM,CAAC;;MAET;MACA;MACA;MACA;MACA;MACA,IAAI;QACF,MAAMC,QAAQ,GAAG,IAAI,CAACnD,MAAM,CAACoD,IAAI,EAAEC,IAAI,CAAC,IAAI,CAACrD,MAAM,CAAC;QACpD,IAAImD,QAAQ,EAAE;UACZ,MAAMG,OAAO,GAAIC,MAAW,IAAK;YAC/B,IAAI;cACF,MAAMC,GAAG,GAAGD,MAAM,EAAExF,IAAI,IAAI,QAAQ;cACpC,MAAM6D,EAAE,GAAG2B,MAAM,EAAEE,KAAK,EAAE7B,EAAE,IAAI,EAAE;cAClC,MAAM8B,EAAE,GAAGH,MAAM,EAAEE,KAAK,EAAEC,EAAE,IAAI,EAAE;cAClC,IAAAC,kBAAU,EACR,MAAM,EACN,KAAKH,GAAG,GAAG5B,EAAE,GAAG,OAAOA,EAAE,EAAE,GAAG,EAAE,GAAG8B,EAAE,GAAG,OAAOA,EAAE,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EACxEL,MAAM,EAAElF,QAAQ,GAAGkF,MAAM,CAAClF,QAAQ,CAAC,CAAC,GAAGwF,SACzC,CAAC;YACH,CAAC,CAAC,MAAM,CAAC;YACT,OAAOV,QAAQ,CAACI,MAAM,CAAC;UACzB,CAAC;UACD;UACA;UACAO,MAAM,CAACC,cAAc,CAAC,IAAI,CAAC/D,MAAM,EAAE,MAAM,EAAE;YACzCgE,KAAK,EAAEV,OAAO;YACdW,QAAQ,EAAE,IAAI;YACdC,YAAY,EAAE;UAChB,CAAC,CAAC;QACJ;MACF,CAAC,CAAC,OAAOrG,GAAG,EAAE;QACZsG,OAAO,CAACC,IAAI,CACV,wDAAwD,EACxDvG,GACF,CAAC;MACH;MAEA,IAAI,CAACwG,oBAAoB,CAAC,CAAC;MAC3B,IAAI,CAACrE,MAAM,CAACsE,KAAK,CAAC,CAAC,CAACC,KAAK,CAAEtG,KAAU,IAAK;QACxCkG,OAAO,CAAClG,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;QACnD,IAAIL,oBAAoB,CAACK,KAAK,CAAC,EAAE;UAC/B,IAAI,CAACgB,aAAa,GAAG,gBAAgB;QACvC;QACA,IAAI,CAACN,MAAM,GAAG,OAAO;MACvB,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOV,KAAK,EAAE;MACdkG,OAAO,CAAClG,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;MAClD,IAAI,CAACU,MAAM,GAAG,OAAO;IACvB;EACF;EAEA0F,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACrE,MAAM,CAACwE,EAAE,CAAC,YAAY,EAAE,MAAM;MACjCL,OAAO,CAACM,GAAG,CAAC,oBAAoB,CAAC;MACjC,IAAI,CAAC9F,MAAM,GAAG,SAAS;MACvB,IAAI;QACF;QACA;QACA,IAAAgF,kBAAU,EAAC,MAAM,EAAE,YAAY,CAAC;MAClC,CAAC,CAAC,MAAM,CAAC;IACX,CAAC,CAAC;IAEF,IAAI,CAAC3D,MAAM,CAACwE,EAAE,CAAC,QAAQ,EAAE,MAAM;MAC7BL,OAAO,CAACM,GAAG,CAAC,cAAc,EAAE,IAAI1D,IAAI,CAAC,CAAC,CAAC;MACvC,IAAI,CAACpC,MAAM,GAAG,QAAQ;MACtB,IAAI,CAACS,cAAc,GAAG,IAAI;MAC1B,IAAI,CAACP,iBAAiB,GAAG,CAAC;MAC1B,IAAI;QACF,IAAA8E,kBAAU,EACR,MAAM,EACN,QAAQ,EACR,IAAI,CAACvD,QACP,CAAC;MACH,CAAC,CAAC,MAAM,CAAC;IACX,CAAC,CAAC;IAEF,IAAI,CAACJ,MAAM,CAACwE,EAAE,CAAC,OAAO,EAAGvG,KAAU,IAAK;MACtCkG,OAAO,CAAClG,KAAK,CAAC,oBAAoB,EAAEA,KAAK,CAAC;MAC1C,IAAIL,oBAAoB,CAACK,KAAK,CAAC,EAAE;QAC/B,IAAI,CAACgB,aAAa,GAAG,gBAAgB;MACvC;MACA,IAAI;QACF,IAAA0E,kBAAU,EACR,MAAM,EACN,OAAO,EACN1F,KAAK,IAAIA,KAAK,CAACE,OAAO,IAAKF,KAC9B,CAAC;MACH,CAAC,CAAC,MAAM,CAAC;IACX,CAAC,CAAC;IAEF,IAAI,CAAC+B,MAAM,CAACwE,EAAE,CAAC,QAAQ,EAAGjB,MAAW,IAAK;MACxC,IAAI;QACF,MAAMC,GAAG,GAAGD,MAAM,EAAExF,IAAI,IAAI,QAAQ;QACpC,MAAM6D,EAAE,GAAG2B,MAAM,EAAEE,KAAK,EAAE7B,EAAE,IAAI,EAAE;QAClC,MAAM8C,IAAI,GAAGnB,MAAM,EAAEE,KAAK,EAAEiB,IAAI,IAAI,EAAE;QACtC,MAAM1G,IAAI,GAAGuF,MAAM,EAAEE,KAAK,EAAEzF,IAAI,IAAI,EAAE;QACtC,IAAA2F,kBAAU,EACR,MAAM,EACN,KAAKH,GAAG,GAAG5B,EAAE,GAAG,OAAOA,EAAE,EAAE,GAAG,EAAE,GAAG5D,IAAI,GAAG,SAASA,IAAI,EAAE,GAAG,EAAE,GAAG0G,IAAI,GAAG,SAASA,IAAI,CAACd,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAC5GL,MAAM,EAAElF,QAAQ,GAAGkF,MAAM,CAAClF,QAAQ,CAAC,CAAC,GAAGwF,SACzC,CAAC;MACH,CAAC,CAAC,MAAM,CAAC;MACTc,2BAAY,CAACtB,IAAI,CAAC,IAAI,EAAEE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;EACEqB,aAAaA,CAACC,SAAiB,GAAG,KAAK,EAAiB;IACtD,IAAI,IAAI,CAAClG,MAAM,KAAK,QAAQ,EAAE;MAAC,OAAOuD,OAAO,CAAC4C,OAAO,CAAC,CAAC;IAAC;IACxD,OAAO,IAAI5C,OAAO,CAAC,CAAC4C,OAAO,EAAEC,MAAM,KAAK;MACtC,MAAMT,KAAK,GAAGvD,IAAI,CAACC,GAAG,CAAC,CAAC;MACxB,MAAMgE,IAAI,GAAGA,CAAA,KAAM;QACjB,IAAI,IAAI,CAACrG,MAAM,KAAK,QAAQ,EAAE;UAAC,OAAOmG,OAAO,CAAC,CAAC;QAAC;QAChD,IAAI,IAAI,CAACnG,MAAM,KAAK,OAAO,EAAE;UAC3B,OAAOoG,MAAM,CAAC,IAAIE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC/C;QACA,IAAIlE,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGsD,KAAK,GAAGO,SAAS,EAAE;UAClC,OAAOE,MAAM,CAAC,IAAIE,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAClD;QACA7C,UAAU,CAAC4C,IAAI,EAAE,GAAG,CAAC;MACvB,CAAC;MACDA,IAAI,CAAC,CAAC;IACR,CAAC,CAAC;EACJ;;EAEA;EACAE,eAAeA,CAACC,OAAgB,EAAiB;IAC/C,OAAO,IAAI,CAACP,aAAa,CAACO,OAAO,CAAC;EACpC;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,IAAI,IAAI,CAACpG,iBAAiB,EAAE;MAAC;IAAO;IACpC,IAAI,IAAI,CAACH,iBAAiB,IAAI,IAAI,CAACC,oBAAoB,EAAE;MACvDqF,OAAO,CAAClG,KAAK,CAAC,iCAAiC,CAAC;MAChD;IACF;IACA,IAAI,CAACY,iBAAiB,EAAE;IACxB,MAAMwG,KAAK,GACT,IAAI,CAACtG,cAAc,GAAGuG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC1G,iBAAiB,GAAG,CAAC,CAAC;IAC/DsF,OAAO,CAACM,GAAG,CAAC,wBAAwB,IAAI,CAAC5F,iBAAiB,OAAOwG,KAAK,IAAI,CAAC;IAC3EjD,UAAU,CAAC,MAAM,IAAI,CAACoD,SAAS,CAAC,CAAC,EAAEH,KAAK,CAAC;EAC3C;EAEA,MAAMG,SAASA,CAAA,EAAG;IAChB,IAAI,IAAI,CAACxG,iBAAiB,EAAE;MAAC;IAAO;IACpCmF,OAAO,CAACM,GAAG,CAAC,wCAAwC,CAAC;;IAErD;IACA;IACA;IACA;IACA,IAAI,IAAI,CAACxF,aAAa,KAAK,gBAAgB,IAAI,IAAI,CAACC,mBAAmB,EAAE;MACvE,IAAI;QACF,MAAM,IAAI,CAACuG,sBAAsB,CAAC,CAAC;MACrC,CAAC,CAAC,OAAO5H,GAAG,EAAE;QACZsG,OAAO,CAACC,IAAI,CACV,gEAAgE,EAChEvG,GACF,CAAC;MACH;IACF;IAEA,IAAI,IAAI,CAACmC,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAAC0F,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,MAAM;QAC/B,IAAI,CAACjF,gBAAgB,CAAC,CAAC;MACzB,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAACA,gBAAgB,CAAC,CAAC;IACzB;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;EACU+E,sBAAsBA,CAAA,EAAkB;IAC9C,IAAI,IAAI,CAACtG,0BAA0B,EAAE;MAAC,OAAO,IAAI,CAACA,0BAA0B;IAAC;IAC7E,IAAI,CAAC,IAAI,CAACD,mBAAmB,EAAE;MAAC,OAAOgD,OAAO,CAAC4C,OAAO,CAAC,CAAC;IAAC;IACzD,MAAM5E,QAAQ,GAAG,IAAI,CAAChB,mBAAmB;IACzC,IAAI,CAACC,0BAA0B,GAAG,CAAC,YAAY;MAC7C,IAAI;QACF,MAAMyG,KAAK,GAAG,MAAM1F,QAAQ,CAAC,CAAC;QAC9B,IAAI0F,KAAK,EAAExF,QAAQ,IAAIwF,KAAK,EAAEhH,QAAQ,EAAE;UACtC,IAAI,CAACuB,iBAAiB,CAACyF,KAAK,CAACxF,QAAQ,EAAEwF,KAAK,CAAChH,QAAQ,CAAC;UACtD,IAAI,CAACK,aAAa,GAAG,IAAI;QAC3B;MACF,CAAC,SAAS;QACR,IAAI,CAACE,0BAA0B,GAAG,IAAI;MACxC;IACF,CAAC,EAAE,CAAC;IACJ,OAAO,IAAI,CAACA,0BAA0B;EACxC;EAEA,MAAM0G,UAAUA,CAACC,OAAyC,EAAiB;IACzE,IAAIA,OAAO,EAAE9G,iBAAiB,EAAE;MAAC,IAAI,CAACA,iBAAiB,GAAG,IAAI;IAAC;IAC/D,OAAO,IAAI,CAAC+G,KAAK,CAAC,CAAC;EACrB;EAEA,MAAMA,KAAKA,CAAA,EAAG;IACZ,IAAI,IAAI,CAAC/F,MAAM,EAAE;MACf,IAAI;QACF,MAAM,IAAI,CAACA,MAAM,CAAC0F,IAAI,CAAC,CAAC;QACxBvB,OAAO,CAACM,GAAG,CAAC,gCAAgC,CAAC;MAC/C,CAAC,CAAC,OAAOxG,KAAK,EAAE;QACdkG,OAAO,CAAClG,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC;MACxD;IACF;IACA,IAAI,CAACU,MAAM,GAAG,SAAS;EACzB;EAEAqH,cAAc,GAAG,MAAAA,CAAA,KAAY;IAC3B,MAAM,IAAAC,kBAAQ,EAAC,IAAI,CAACjG,MAAM,CAAC;EAC7B,CAAC;;EAED;;EAEA,MAAMkG,gBAAgBA,CAACC,KAAa,EAAEC,WAAmB,EAAE1C,EAAW,EAAE;IACtE,OAAO,MAAM,IAAA2C,sBAAU,EAACF,KAAK,EAAEC,WAAW,EAAE,IAAI,CAACpG,MAAM,CAAC;EAC1D;EAEA,MAAMsG,uBAAuBA,CAAC5C,EAAU,EAAE6C,OAAe,EAAE;IACzD,MAAM,IAAAC,oCAAiB,EAAC,IAAI,CAACxG,MAAM,EAAE0D,EAAE,EAAE6C,OAAO,CAAC;EACnD;EAEAE,kBAAkB,GAAI7F,OAAe,IAAK;IACxC,IAAA8F,0BAAY,EAAC9F,OAAO,EAAE,IAAI,CAACZ,MAAM,CAAC;EACpC,CAAC;EAEDsB,oBAAoB,GAAIV,OAAe,IAAK;IAC1C,IAAA+F,8BAAc,EAAC,IAAI,CAAC3G,MAAM,EAAEY,OAAO,CAAC;EACtC,CAAC;EAEDgG,gBAAgB,GAAG,MAAAA,CACjBnF,OAAe,EACfC,GAAW,EACXC,MAAe,EACfC,EAAW,EACXkE,OAAwB,KACrB;IACH,IAAIA,OAAO,EAAEe,YAAY,EAAE;MACzB,OAAO,IAAI,CAACtF,kBAAkB,CAAC;QAC7BE,OAAO;QACPC,GAAG;QACHC,MAAM;QACNC,EAAE;QACFC,MAAM,EAAEiE,OAAO,EAAEjE,MAAM,IAAI;MAC7B,CAAC,CAAC;IACJ;IACA,OAAO,MAAM,IAAAW,sBAAU,EAAC,IAAI,CAACxC,MAAM,EAAEyB,OAAO,EAAEC,GAAG,EAAEC,MAAM,EAAEC,EAAE,CAAC;EAChE,CAAC;EAEDkF,2BAA2BA,CAAClG,OAAe,EAAE;IAC3C,IAAAmG,qCAAc,EAAC,IAAI,CAAC/G,MAAM,EAAEY,OAAO,CAAC;EACtC;EAEAoG,kBAAkB,GAAGA,CACnBT,OAAe,EACfU,aAAqB,EACrBjJ,IAAY,EACZkJ,cAAuB,KACpB;IACH,IAAAC,0BAAY,EAACZ,OAAO,EAAEU,aAAa,EAAEjJ,IAAI,EAAE,IAAI,CAACgC,MAAM,EAAEkH,cAAc,CAAC;EACzE,CAAC;EAEDE,iBAAiB,GAAIxG,OAAe,IAAK;IACvC,IAAAyG,wBAAW,EAACzG,OAAO,EAAE,IAAI,CAACZ,MAAM,CAAC;EACnC,CAAC;EAEDsH,oBAAoB,GAAI1G,OAAe,IAAK;IAC1C,IAAA2G,8BAAc,EAAC3G,OAAO,EAAE,IAAI,CAACZ,MAAM,CAAC;EACtC,CAAC;;EAED;EACAwH,WAAW,GAAGA,CACZ5G,OAAe,EACf6G,SAAiB,EACjBC,QAAgB,EAChBC,KAAa,EACbC,aAAqB,EACrBC,WAAmB,EACnBC,iBAA0B,EAC1BC,OAAiB,EACjBC,aAAuB,EACvBC,WAAoB,EACpBC,QAAiB,KACd;IACH,IAAAC,gCAAe,EACb,IAAI,CAACnI,MAAM,EACXY,OAAO,EACP6G,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,aAAa,EACbC,WAAW,EACXC,iBAAiB,EACjBC,OAAO,EACPC,aAAa,EACbC,WAAW,EACX,IAAI,CAAC1H,SAAS,IAAI5C,kBAAkB,EACpCuK,QACF,CAAC;EACH,CAAC;EAEDE,mBAAmBA,CAACC,IAAY,EAAEC,KAAa,EAAE;IAC/C,IAAAC,4BAAa,EAAC,IAAI,CAACvI,MAAM,EAAEqI,IAAI,EAAEC,KAAK,CAAC;EACzC;EAEAE,iBAAiBA,CAACH,IAAY,EAAEC,KAAa,EAAElK,IAAY,EAAE;IAC3D,IAAAqK,wBAAW,EAAC,IAAI,CAACzI,MAAM,EAAEqI,IAAI,EAAEC,KAAK,EAAElK,IAAI,CAAC;EAC7C;EAEAsK,uBAAuBA,CAACC,MAAc,EAAEC,QAAgB,EAAEtE,KAAc,EAAE;IACxE,IAAAuE,oCAAiB,EAAC,IAAI,CAAC7I,MAAM,EAAE2I,MAAM,EAAEC,QAAQ,EAAEtE,KAAK,CAAC;EACzD;EAEAwE,iCAAiC,GAAG,MAAAA,CAAA,KAAY;IAC9C,IAAI,IAAI,CAACzJ,eAAe,EAAE;MAAC,OAAO,IAAI;IAAC;IACvC,IAAI;MACF,OAAO,MAAM,IAAA0J,wDAA2B,EAAC,IAAI,CAAC/I,MAAM,CAAC;IACvD,CAAC,CAAC,OAAO/B,KAAK,EAAE;MACdkG,OAAO,CAACM,GAAG,CAACxG,KAAK,CAAC;MAClB,OAAO,IAAI;IACb;EACF,CAAC;EAED,MAAM+K,sCAAsCA,CAC1CL,MAAc,EACdM,SAAiB,EACjBC,KAAgB,EAChB;IACA,IAAI,IAAI,CAAC7J,eAAe,EAAE;MAAC;IAAO;IAClC,IAAI;MACF,MAAM,IAAA8J,kEAAgC,EACpC,IAAI,CAACnJ,MAAM,EACX2I,MAAM,EACNM,SAAS,EACTC,KACF,CAAC;IACH,CAAC,CAAC,OAAOjL,KAAK,EAAE,CAAC;EACnB;;EAEA;EACA;EACA;EACA,MAAMmL,mCAAmCA,CACvCC,KAA6C,EAC7CC,IAAiE,GAAG,CAAC,CAAC,EACtE;IACA,IAAI,IAAI,CAACjK,eAAe,EAAE;MAAC,OAAO,KAAK;IAAC;IACxC,IAAI;MACF,OAAO,MAAM,IAAAkK,4DAA6B,EAAC,IAAI,EAAEF,KAAK,EAAEC,IAAI,CAAC;IAC/D,CAAC,CAAC,MAAM;MACN,OAAO,KAAK;IACd;EACF;EAEAE,sBAAsBA,CAAC5I,OAAe,EAAE6I,IAAS,EAAEvB,QAAiB,EAAE;IACpE,OAAO,IAAAwB,kCAAgB,EACrB,IAAI,CAAC1J,MAAM,EACXY,OAAO,EACP6I,IAAI,EACJvB,QAAQ,EACR,IAAI,CAAC3H,SAAS,IAAI5C,kBACpB,CAAC;EACH;;EAEA;EACA;EACA;EACA;EACA;EACA;;EAEAgM,cAAcA,CAACC,aAAqB,EAAE;IACpCzF,OAAO,CAACC,IAAI,CAAC,mDAAmD,CAAC;EACnE;EAEA,MAAMyF,uBAAuBA,CAC3B1D,KAAa,EACbC,WAAmB,EACnB1C,EAAU,EACO;IACjBS,OAAO,CAACC,IAAI,CAAC,sEAAsE,CAAC;IACpF,MAAM0F,MAAM,GAAG,MAAM,IAAI,CAAC5D,gBAAgB,CAACC,KAAK,EAAEC,WAAW,EAAE1C,EAAE,CAAC;IAClE,OAAO,OAAOoG,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,EAAE;EACjD;EAEAC,yBAAyBA,CACvB3I,UAAkB,EAClB4I,QAAgB,EAChBC,cAAwB,EACxBC,eAAwB,EACxB;IACA/F,OAAO,CAACC,IAAI,CAAC,8DAA8D,CAAC;EAC9E;EAEA+F,qCAAqCA,CACnCvJ,OAAe,EACf6G,SAAiB,EACjBC,QAAgB,EAChBC,KAAa,EACbC,aAAqB,EACrBC,WAAmB,EACnBC,iBAA0B,EAC1BC,OAAiB,EACjBC,aAAuB,EACvBC,WAAoB,EACpBmC,WAAoB,EACpB;IACA;IACA,IAAI,CAAC5C,WAAW,CACd5G,OAAO,EACP6G,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,aAAa,EACbC,WAAW,EACXC,iBAAiB,EACjBC,OAAO,EACPC,aAAa,EACbC,WACF,CAAC;EACH;AACF;AAACoC,OAAA,CAAA9L,UAAA,GAAAA,UAAA;AAAA,IAAA+L,QAAA,GAAAD,OAAA,CAAA3M,OAAA,GAEca,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["_client","_interopRequireDefault","require","_walletUsername","_sendMediaMessage","_getChatsPrivateStoreRequest","_actionSetTimestampToPrivateStore","_flushLastViewedToPrivateStore","_sendTypingRequest","_getHistory","_sendTextMessage","_deleteMessage","_presenceInRoom","_getLastMessageArchive","_createRoom","_setRoomImage","_getRoomMembers","_getRoomInfo","_leaveTheRoom","_editMessage","_inviteRoomRequest","_getRooms","_handleStanzas","_devLogger","_normalizeRoomJid","_outboundQueue","e","__esModule","default","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","getHistory","cur","delete","set","startedAt","s","url","match","detachEventListeners","xmpp","walletToUsername","reconnect","stop","setMaxListeners","origSend","send","bind","wrapped","stanza","tag","attrs","to","devPushLog","split","undefined","result","catch","Object","defineProperty","value","writable","configurable","console","warn","attachEventListeners","start","scheduleReconnect","onDisconnect","log","onOnline","flushPendingSends","onError","onStanza","from","handleStanza","on","c","removeListener","waitForOnline","timeoutMs","resolve","reject","tick","Error","ensureConnected","timeout","exp","Math","min","delay","pow","forceReconnect","clearTimeout","refreshCredentialsOnce","old","fresh","disconnect","options","close","clearOutboundSends","getRoomsStanza","getRooms","createRoomStanza","title","description","createRoom","inviteRoomRequestStanza","roomJid","inviteRoomRequest","leaveTheRoomStanza","leaveTheRoom","normalizeRoomJid","presenceInRoom","getHistoryStanza","coalesceRoom","getLastMessageArchiveStanza","getLastMessage","setRoomImageStanza","roomThumbnail","roomBackground","setRoomImage","getRoomInfoStanza","getRoomInfo","getRoomMembersStanza","getRoomMembers","isStreamReady","flushOutboundSends","sendMessage","firstName","lastName","photo","walletAddress","userMessage","notDisplayedValue","isReply","showInChannel","mainMessage","customId","enqueueOutboundSend","optimisticId","enqueuedAt","sendTextMessage","deleteMessageStanza","room","msgId","deleteMessage","editMessageStanza","editMessage","sendTypingRequestStanza","chatId","fullName","sendTypingRequest","getChatsPrivateStoreRequestStanza","getChatsPrivateStoreRequest","actionSetTimestampToPrivateStoreStanza","timestamp","chats","actionSetTimestampToPrivateStore","flushLastViewedToPrivateStoreStanza","rooms","opts","flushLastViewedToPrivateStore","sendMediaMessageStanza","data","sendMediaMessage","setVCardStanza","_xmppUsername","createPrivateRoomStanza","sendMessageReactionStanza","_roomJid","_reactionsList","_reactionSymbol","sendTextMessageWithTranslateTagStanza","_langSource","exports","_default"],"sourceRoot":"../../../src","sources":["networking/xmppClient.ts"],"mappings":"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","ignoreList":[]}