@ethora/chat-component-rn 26.7.5 → 26.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +31 -8
  3. package/lib/commonjs/assets/icons.js +7 -2
  4. package/lib/commonjs/assets/icons.js.map +1 -1
  5. package/lib/commonjs/components/Header/HeaderRoomList.js +26 -7
  6. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/ChatHeader.js +5 -2
  8. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ChatRoom.js +36 -14
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/ChatWrapper.js +2 -0
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/MessageList.js +7 -23
  14. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  15. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  16. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  17. package/lib/commonjs/components/MainComponents/RoomList.js +208 -35
  18. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  19. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +317 -98
  20. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  21. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +320 -110
  22. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  23. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +552 -213
  24. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  25. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +226 -0
  26. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  27. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
  28. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  29. package/lib/commonjs/components/Modals/Modal/Modal.js +8 -0
  30. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  31. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +2 -1
  32. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  33. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +202 -104
  34. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  35. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  36. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  37. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +556 -0
  38. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  39. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +210 -0
  40. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  41. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  42. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  43. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +7 -21
  44. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  45. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +507 -244
  46. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  47. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +74 -46
  48. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  49. package/lib/commonjs/components/Modals/styledModalComponents.js +9 -2
  50. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  51. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +17 -7
  52. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  53. package/lib/commonjs/components/styled/SendInput.js +80 -11
  54. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  55. package/lib/commonjs/components/styled/StyledComponents.js +9 -3
  56. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  57. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  58. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  59. package/lib/commonjs/context/xmppProvider.js +32 -39
  60. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  61. package/lib/commonjs/helpers/getChatBackground.js +23 -0
  62. package/lib/commonjs/helpers/getChatBackground.js.map +1 -0
  63. package/lib/commonjs/helpers/mediaLibraryRuntime.js +31 -0
  64. package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +1 -0
  65. package/lib/commonjs/helpers/pickImageAsset.js +68 -0
  66. package/lib/commonjs/helpers/pickImageAsset.js.map +1 -0
  67. package/lib/commonjs/helpers/pushPayload.js +71 -0
  68. package/lib/commonjs/helpers/pushPayload.js.map +1 -0
  69. package/lib/commonjs/helpers/sheetGestures.js +32 -0
  70. package/lib/commonjs/helpers/sheetGestures.js.map +1 -0
  71. package/lib/commonjs/helpers/updateMessagesTillLast.js +12 -40
  72. package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
  73. package/lib/commonjs/hooks/useChatRoomFocus.js +3 -9
  74. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  75. package/lib/commonjs/hooks/useLogout.js +0 -5
  76. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  77. package/lib/commonjs/hooks/usePendingNotification.js +8 -11
  78. package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
  79. package/lib/commonjs/hooks/useSendMessage.js +23 -50
  80. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  81. package/lib/commonjs/i18n/strings.js +121 -1
  82. package/lib/commonjs/i18n/strings.js.map +1 -1
  83. package/lib/commonjs/main.js +19 -0
  84. package/lib/commonjs/main.js.map +1 -1
  85. package/lib/commonjs/networking/api-requests/user.api.js +59 -0
  86. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  87. package/lib/commonjs/networking/authRefresh.js +12 -2
  88. package/lib/commonjs/networking/authRefresh.js.map +1 -1
  89. package/lib/commonjs/networking/outboundQueue.js +0 -18
  90. package/lib/commonjs/networking/outboundQueue.js.map +1 -1
  91. package/lib/commonjs/networking/stanzaHandlers.js +1 -10
  92. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  93. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  94. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  95. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  96. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  97. package/lib/commonjs/networking/xmppClient.js +62 -108
  98. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  99. package/lib/commonjs/roomStore/chatSettingsSlice.js +3 -1
  100. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  101. package/lib/commonjs/roomStore/roomsSlice.js +3 -22
  102. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  103. package/lib/commonjs/services/pushSubscriptionService.js +15 -13
  104. package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
  105. package/lib/module/assets/icons.js +6 -1
  106. package/lib/module/assets/icons.js.map +1 -1
  107. package/lib/module/components/Header/HeaderRoomList.js +26 -7
  108. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  109. package/lib/module/components/MainComponents/ChatHeader.js +5 -2
  110. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  111. package/lib/module/components/MainComponents/ChatRoom.js +36 -14
  112. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  113. package/lib/module/components/MainComponents/ChatWrapper.js +2 -0
  114. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  115. package/lib/module/components/MainComponents/MessageList.js +8 -24
  116. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  117. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  118. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  119. package/lib/module/components/MainComponents/RoomList.js +207 -35
  120. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  121. package/lib/module/components/Menu/HeaderRoomListMenu.js +319 -101
  122. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  123. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +311 -113
  124. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  125. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +555 -217
  126. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  127. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +223 -0
  128. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  129. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
  130. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  131. package/lib/module/components/Modals/Modal/Modal.js +9 -1
  132. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  133. package/lib/module/components/Modals/NewChatModal/ModalContent.js +2 -1
  134. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  135. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +205 -106
  136. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  137. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  138. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  139. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +548 -0
  140. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  141. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +205 -0
  142. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  143. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  144. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  145. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +9 -23
  146. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  147. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +509 -248
  148. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  149. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +76 -48
  150. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  151. package/lib/module/components/Modals/styledModalComponents.js +9 -2
  152. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  153. package/lib/module/components/RoomComponents/ChatRoomItem.js +17 -7
  154. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  155. package/lib/module/components/styled/SendInput.js +81 -12
  156. package/lib/module/components/styled/SendInput.js.map +1 -1
  157. package/lib/module/components/styled/StyledComponents.js +9 -3
  158. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  159. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  160. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  161. package/lib/module/context/xmppProvider.js +32 -39
  162. package/lib/module/context/xmppProvider.js.map +1 -1
  163. package/lib/module/helpers/getChatBackground.js +18 -0
  164. package/lib/module/helpers/getChatBackground.js.map +1 -0
  165. package/lib/module/helpers/mediaLibraryRuntime.js +25 -0
  166. package/lib/module/helpers/mediaLibraryRuntime.js.map +1 -0
  167. package/lib/module/helpers/pickImageAsset.js +63 -0
  168. package/lib/module/helpers/pickImageAsset.js.map +1 -0
  169. package/lib/module/helpers/pushPayload.js +63 -0
  170. package/lib/module/helpers/pushPayload.js.map +1 -0
  171. package/lib/module/helpers/sheetGestures.js +26 -0
  172. package/lib/module/helpers/sheetGestures.js.map +1 -0
  173. package/lib/module/helpers/updateMessagesTillLast.js +13 -41
  174. package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
  175. package/lib/module/hooks/useChatRoomFocus.js +3 -9
  176. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  177. package/lib/module/hooks/useLogout.js +0 -5
  178. package/lib/module/hooks/useLogout.js.map +1 -1
  179. package/lib/module/hooks/usePendingNotification.js +8 -11
  180. package/lib/module/hooks/usePendingNotification.js.map +1 -1
  181. package/lib/module/hooks/useSendMessage.js +24 -51
  182. package/lib/module/hooks/useSendMessage.js.map +1 -1
  183. package/lib/module/i18n/strings.js +121 -1
  184. package/lib/module/i18n/strings.js.map +1 -1
  185. package/lib/module/main.js +2 -1
  186. package/lib/module/main.js.map +1 -1
  187. package/lib/module/networking/api-requests/user.api.js +56 -0
  188. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  189. package/lib/module/networking/authRefresh.js +12 -2
  190. package/lib/module/networking/authRefresh.js.map +1 -1
  191. package/lib/module/networking/outboundQueue.js +0 -17
  192. package/lib/module/networking/outboundQueue.js.map +1 -1
  193. package/lib/module/networking/stanzaHandlers.js +1 -10
  194. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  195. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  196. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  197. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  198. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  199. package/lib/module/networking/xmppClient.js +62 -108
  200. package/lib/module/networking/xmppClient.js.map +1 -1
  201. package/lib/module/roomStore/chatSettingsSlice.js +3 -1
  202. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  203. package/lib/module/roomStore/roomsSlice.js +2 -20
  204. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  205. package/lib/module/services/pushSubscriptionService.js +15 -13
  206. package/lib/module/services/pushSubscriptionService.js.map +1 -1
  207. package/lib/typescript/assets/icons.d.ts +16 -0
  208. package/lib/typescript/assets/icons.d.ts.map +1 -1
  209. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  210. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  211. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  212. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  213. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  214. package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
  215. package/lib/typescript/components/MainComponents/RoomList.d.ts +7 -0
  216. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  217. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +3 -0
  218. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  219. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +9 -0
  220. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  221. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +10 -0
  222. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  223. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +9 -0
  224. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -0
  225. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  226. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  227. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +4 -2
  228. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  229. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
  230. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  231. package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
  232. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +75 -0
  233. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -0
  234. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +25 -0
  235. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -0
  236. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +6 -1
  237. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  238. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  239. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +16 -0
  240. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  241. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +1 -0
  242. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  243. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  244. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  245. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  246. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  247. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  248. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  249. package/lib/typescript/helpers/getChatBackground.d.ts +15 -0
  250. package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -0
  251. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +3 -0
  252. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +1 -0
  253. package/lib/typescript/helpers/pickImageAsset.d.ts +27 -0
  254. package/lib/typescript/helpers/pickImageAsset.d.ts.map +1 -0
  255. package/lib/typescript/helpers/pushPayload.d.ts +7 -0
  256. package/lib/typescript/helpers/pushPayload.d.ts.map +1 -0
  257. package/lib/typescript/helpers/sheetGestures.d.ts +20 -0
  258. package/lib/typescript/helpers/sheetGestures.d.ts.map +1 -0
  259. package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
  260. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  261. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  262. package/lib/typescript/hooks/usePendingNotification.d.ts.map +1 -1
  263. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  264. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  265. package/lib/typescript/main.d.ts +3 -1
  266. package/lib/typescript/main.d.ts.map +1 -1
  267. package/lib/typescript/networking/api-requests/user.api.d.ts +27 -0
  268. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  269. package/lib/typescript/networking/authRefresh.d.ts +4 -1
  270. package/lib/typescript/networking/authRefresh.d.ts.map +1 -1
  271. package/lib/typescript/networking/outboundQueue.d.ts +0 -16
  272. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -1
  273. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  274. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  275. package/lib/typescript/networking/xmpp/subscribeToRoomMessages.xmpp.d.ts.map +1 -1
  276. package/lib/typescript/networking/xmppClient.d.ts +8 -33
  277. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  278. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  279. package/lib/typescript/roomStore/roomsSlice.d.ts +1 -18
  280. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  281. package/lib/typescript/services/pushSubscriptionService.d.ts +1 -1
  282. package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
  283. package/lib/typescript/types/models/room.model.d.ts +0 -15
  284. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  285. package/lib/typescript/types/types.d.ts +31 -20
  286. package/lib/typescript/types/types.d.ts.map +1 -1
  287. package/package.json +6 -1
  288. package/src/assets/icons.tsx +48 -9
  289. package/src/components/Header/HeaderRoomList.tsx +24 -6
  290. package/src/components/MainComponents/ChatHeader.tsx +5 -2
  291. package/src/components/MainComponents/ChatRoom.tsx +38 -20
  292. package/src/components/MainComponents/ChatWrapper.tsx +3 -0
  293. package/src/components/MainComponents/MessageList.tsx +8 -24
  294. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +21 -14
  295. package/src/components/MainComponents/RoomList.tsx +236 -39
  296. package/src/components/Menu/HeaderRoomListMenu.tsx +328 -75
  297. package/src/components/Modals/AttachSheet/AttachSheet.tsx +331 -97
  298. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +598 -279
  299. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +244 -0
  300. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +4 -2
  301. package/src/components/Modals/Modal/Modal.tsx +7 -0
  302. package/src/components/Modals/NewChatModal/ModalContent.tsx +6 -3
  303. package/src/components/Modals/NewChatModal/NewChatModal.tsx +219 -117
  304. package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +12 -1
  305. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +615 -0
  306. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +217 -0
  307. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +14 -4
  308. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +9 -25
  309. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +617 -307
  310. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +75 -58
  311. package/src/components/Modals/styledModalComponents.tsx +9 -2
  312. package/src/components/RoomComponents/ChatRoomItem.tsx +14 -7
  313. package/src/components/styled/SendInput.tsx +83 -12
  314. package/src/components/styled/StyledComponents.ts +9 -3
  315. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +11 -4
  316. package/src/context/xmppProvider.tsx +36 -47
  317. package/src/helpers/getChatBackground.ts +18 -0
  318. package/src/helpers/mediaLibraryRuntime.ts +25 -0
  319. package/src/helpers/pickImageAsset.ts +68 -0
  320. package/src/helpers/pushPayload.ts +62 -0
  321. package/src/helpers/sheetGestures.ts +25 -0
  322. package/src/helpers/updateMessagesTillLast.tsx +17 -42
  323. package/src/hooks/useChatRoomFocus.ts +3 -11
  324. package/src/hooks/useLogout.tsx +0 -7
  325. package/src/hooks/usePendingNotification.ts +5 -11
  326. package/src/hooks/useSendMessage.tsx +24 -60
  327. package/src/i18n/strings.ts +121 -1
  328. package/src/main.ts +4 -1
  329. package/src/networking/api-requests/user.api.ts +71 -0
  330. package/src/networking/authRefresh.ts +25 -4
  331. package/src/networking/outboundQueue.ts +0 -29
  332. package/src/networking/stanzaHandlers.ts +1 -9
  333. package/src/networking/xmpp/presenceInRoom.xmpp.ts +6 -1
  334. package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +12 -1
  335. package/src/networking/xmppClient.ts +65 -119
  336. package/src/roomStore/chatSettingsSlice.ts +3 -1
  337. package/src/roomStore/roomsSlice.ts +2 -20
  338. package/src/services/pushSubscriptionService.ts +18 -13
  339. package/src/types/models/room.model.ts +0 -15
  340. package/src/types/types.ts +33 -20
@@ -269,6 +269,8 @@ const performRefresh = async overrideToken => {
269
269
  throw new Error('Refresh attempts exhausted');
270
270
  };
271
271
  let inflight = null;
272
+ let lastRotationAt = 0;
273
+ const QUIET_ROTATION_MIN_INTERVAL_MS = 5 * 60 * 1000;
272
274
 
273
275
  /**
274
276
  * Rotate the tokens. Concurrent callers share ONE request — this is the
@@ -284,7 +286,10 @@ export function refreshAuthTokens(options) {
284
286
  // this caller could have asked for.
285
287
  return inflight;
286
288
  }
287
- inflight = performRefresh(options?.refreshToken).finally(() => {
289
+ inflight = performRefresh(options?.refreshToken).then(result => {
290
+ lastRotationAt = Date.now();
291
+ return result;
292
+ }).finally(() => {
288
293
  inflight = null;
289
294
  });
290
295
  return inflight;
@@ -295,7 +300,11 @@ export function refreshAuthTokens(options) {
295
300
  * tokens are fresh" and have no meaningful error handling — chat
296
301
  * bootstrap, XMPP reconnect. Never rejects.
297
302
  */
298
- export async function refreshAuthTokensQuietly() {
303
+
304
+ export async function refreshAuthTokensQuietly(options) {
305
+ if (!options?.force && Date.now() - lastRotationAt < QUIET_ROTATION_MIN_INTERVAL_MS) {
306
+ return null;
307
+ }
299
308
  try {
300
309
  return await refreshAuthTokens();
301
310
  } catch (error) {
@@ -307,5 +316,6 @@ export async function refreshAuthTokensQuietly() {
307
316
  /** Test seam — drops any shared in-flight promise between cases. */
308
317
  export function __resetAuthRefreshStateForTests() {
309
318
  inflight = null;
319
+ lastRotationAt = 0;
310
320
  }
311
321
  //# sourceMappingURL=authRefresh.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["http","store","refreshTokens","secureUserStorage","pushLog","RefreshFatalError","Error","constructor","code","message","name","Object","setPrototypeOf","prototype","isRefreshFatalError","error","REFRESH_ENDPOINT","IN_PROGRESS_MAX_ATTEMPTS","IN_PROGRESS_BASE_DELAY_MS","IN_PROGRESS_JITTER_MS","KNOWN_CODES","sleep","ms","Promise","resolve","setTimeout","inProgressDelay","attempt","Math","floor","random","parseRefreshErrorCode","response","data","candidates","errors","headers","candidate","match","find","includes","getStoreUser","getState","chatSettingStore","user","readCurrentRefreshToken","fromStore","refreshToken","stored","get","persistTokens","result","dispatch","token","xmppPassword","fileToken","set","adoptStoredTokens","runConsumerRefresh","refreshFunction","refreshed","accessToken","requestRotation","post","Authorization","wsToken","performRefresh","overrideToken","consumerRefresh","config","adopted","inflight","refreshAuthTokens","options","finally","refreshAuthTokensQuietly","__resetAuthRefreshStateForTests"],"sourceRoot":"../../../src","sources":["networking/authRefresh.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["http","store","refreshTokens","secureUserStorage","pushLog","RefreshFatalError","Error","constructor","code","message","name","Object","setPrototypeOf","prototype","isRefreshFatalError","error","REFRESH_ENDPOINT","IN_PROGRESS_MAX_ATTEMPTS","IN_PROGRESS_BASE_DELAY_MS","IN_PROGRESS_JITTER_MS","KNOWN_CODES","sleep","ms","Promise","resolve","setTimeout","inProgressDelay","attempt","Math","floor","random","parseRefreshErrorCode","response","data","candidates","errors","headers","candidate","match","find","includes","getStoreUser","getState","chatSettingStore","user","readCurrentRefreshToken","fromStore","refreshToken","stored","get","persistTokens","result","dispatch","token","xmppPassword","fileToken","set","adoptStoredTokens","runConsumerRefresh","refreshFunction","refreshed","accessToken","requestRotation","post","Authorization","wsToken","performRefresh","overrideToken","consumerRefresh","config","adopted","inflight","lastRotationAt","QUIET_ROTATION_MIN_INTERVAL_MS","refreshAuthTokens","options","then","Date","now","finally","refreshAuthTokensQuietly","force","__resetAuthRefreshStateForTests"],"sourceRoot":"../../../src","sources":["networking/authRefresh.ts"],"mappings":"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","ignoreList":[]}
@@ -64,14 +64,6 @@ export function flushOutboundSends(client, now) {
64
64
  // Stale — the send watchdog owns the failure; don't duplicate.
65
65
  continue;
66
66
  }
67
- if (item.sentLive) {
68
- // Already written to a live stream: the server very likely has it
69
- // and we'd be sending a second copy. Let the pending watchdog own
70
- // this one — if no echo ever arrives it surfaces as "Failed → tap
71
- // to retry" and the USER decides, which is what the customer asked
72
- // for ("a message the server accepted is never sent again").
73
- continue;
74
- }
75
67
  try {
76
68
  item.send(client);
77
69
  } catch (err) {
@@ -87,15 +79,6 @@ export function flushOutboundSends(client, now) {
87
79
  * the send went through, so the buffered replay is no longer needed and must
88
80
  * not fire on a later reconnect. No-op if the id isn't queued.
89
81
  */
90
- export function markOutboundSentLive(optimisticId) {
91
- if (!optimisticId) {
92
- return;
93
- }
94
- const item = queue.find(q => q.optimisticId === optimisticId);
95
- if (item) {
96
- item.sentLive = true;
97
- }
98
- }
99
82
  export function removeOutboundSend(optimisticId) {
100
83
  if (!optimisticId) {
101
84
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["OUTBOUND_QUEUE_TTL_MS","queue","enqueueOutboundSend","item","idx","findIndex","q","optimisticId","push","flushOutboundSends","client","now","length","pending","enqueuedAt","ttlMs","sentLive","send","err","console","warn","markOutboundSentLive","find","removeOutboundSend","splice","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;;AAyCA;AACA;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,IAAIX,IAAI,CAACY,KAAK,IAAIf,qBAAqB,CAAC,EAAE;MACjE;MACA;IACF;IACA,IAAIG,IAAI,CAACa,QAAQ,EAAE;MACjB;MACA;MACA;MACA;MACA;MACA;IACF;IACA,IAAI;MACFb,IAAI,CAACc,IAAI,CAACP,MAAM,CAAC;IACnB,CAAC,CAAC,OAAOQ,GAAG,EAAE;MACZ;MACAC,OAAO,CAACC,IAAI,CAAC,mCAAmC,EAAEjB,IAAI,CAACI,YAAY,EAAEW,GAAG,CAAC;IAC3E;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,oBAAoBA,CAACd,YAAoB,EAAQ;EAC/D,IAAI,CAACA,YAAY,EAAE;IAAC;EAAO;EAC3B,MAAMJ,IAAI,GAAGF,KAAK,CAACqB,IAAI,CAAEhB,CAAC,IAAKA,CAAC,CAACC,YAAY,KAAKA,YAAY,CAAC;EAC/D,IAAIJ,IAAI,EAAE;IAACA,IAAI,CAACa,QAAQ,GAAG,IAAI;EAAC;AAClC;AAEA,OAAO,SAASO,kBAAkBA,CAAChB,YAAoB,EAAQ;EAC7D,IAAI,CAACA,YAAY,EAAE;IAAC;EAAO;EAC3B,MAAMH,GAAG,GAAGH,KAAK,CAACI,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,YAAY,KAAKA,YAAY,CAAC;EACnE,IAAIH,GAAG,IAAI,CAAC,EAAE;IAACH,KAAK,CAACuB,MAAM,CAACpB,GAAG,EAAE,CAAC,CAAC;EAAC;AACtC;;AAEA;AACA,OAAO,SAASqB,kBAAkBA,CAAA,EAAS;EACzCxB,KAAK,GAAG,EAAE;AACZ;;AAEA;AACA,OAAO,SAASyB,mBAAmBA,CAAA,EAAW;EAC5C,OAAOzB,KAAK,CAACW,MAAM;AACrB","ignoreList":[]}
1
+ {"version":3,"names":["OUTBOUND_QUEUE_TTL_MS","queue","enqueueOutboundSend","item","idx","findIndex","q","optimisticId","push","flushOutboundSends","client","now","length","pending","enqueuedAt","ttlMs","send","err","console","warn","removeOutboundSend","splice","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;;AA0BA;AACA;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,IAAIX,IAAI,CAACY,KAAK,IAAIf,qBAAqB,CAAC,EAAE;MACjE;MACA;IACF;IACA,IAAI;MACFG,IAAI,CAACa,IAAI,CAACN,MAAM,CAAC;IACnB,CAAC,CAAC,OAAOO,GAAG,EAAE;MACZ;MACAC,OAAO,CAACC,IAAI,CAAC,mCAAmC,EAAEhB,IAAI,CAACI,YAAY,EAAEU,GAAG,CAAC;IAC3E;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,kBAAkBA,CAACb,YAAoB,EAAQ;EAC7D,IAAI,CAACA,YAAY,EAAE;IAAC;EAAO;EAC3B,MAAMH,GAAG,GAAGH,KAAK,CAACI,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,YAAY,KAAKA,YAAY,CAAC;EACnE,IAAIH,GAAG,IAAI,CAAC,EAAE;IAACH,KAAK,CAACoB,MAAM,CAACjB,GAAG,EAAE,CAAC,CAAC;EAAC;AACtC;;AAEA;AACA,OAAO,SAASkB,kBAAkBA,CAAA,EAAS;EACzCrB,KAAK,GAAG,EAAE;AACZ;;AAEA;AACA,OAAO,SAASsB,mBAAmBA,CAAA,EAAW;EAC5C,OAAOtB,KAAK,CAACW,MAAM;AACrB","ignoreList":[]}
@@ -182,16 +182,7 @@ const onMessageHistory = async stanza => {
182
182
  if (!mergedAttrs.senderJID) {
183
183
  mergedAttrs.senderJID = senderJID;
184
184
  }
185
- const rawMessage = await createMessageFromXml(mergedAttrs, body, id,
186
- // `innerFrom` (the forwarded message's own `room@conference/nick`),
187
- // NOT the outer MAM envelope's `from` — for an archive query the
188
- // envelope is the BARE room jid with no resource, so passing it here
189
- // stripped the sender out of `xmppFrom` and left `roomJid` derived
190
- // from a value that carries no occupant identity. The correct
191
- // occupant jid is already computed above for the senderJID fallback;
192
- // use the same one so the archived copy carries the same sender
193
- // identity the realtime path produces. Customer-reported #32.
194
- innerFrom, !!deleted);
185
+ const rawMessage = await createMessageFromXml(mergedAttrs, body, id, stanza.attrs.from, !!deleted);
195
186
 
196
187
  // Same call-log transform as the realtime path, applied to archived
197
188
  // history so calls received while offline still render as log entries.
@@ -1 +1 @@
1
- {"version":3,"names":["store","addRoom","addRoomMessage","deleteRoomMessage","editRoomMessage","setComposing","setCurrentRoom","setRoomRole","updateRoom","mergeUsersSet","createMessageFromXml","getDataFromXml","setDeleteModal","messageNotificationManager","transformCallLogMessage","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","console","log","toString","senderJID","from","parsed","pData","pId","pBody","pRest","mergedData","rawMessage","isDeleted","message","getState","chatSettingStore","user","xmppUsername","roomJID","split","dispatch","state","currentUserWallet","walletAddress","toLowerCase","senderJIDLower","String","includes","room","rooms","roomName","title","name","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","showNotification","err","warn","onDeleteMessage","stanzaId","by","messageId","isDeleteModal","onEditMessage","replace","text","onMessageHistory","children","xmlns","delay","innerFrom","mergedAttrs","handleComposing","currentUser","composingUser","norm","s","senderLocal","selfUser","selfXmppUsername","selfWallet","isSelf","chatJID","composingList","push","fullName","pop","composing","onPresenceInRoom","startsWith","role","onChatInvite","client","type","chatId","xEls","getChildren","el","child","chat","presenceInRoomStanza","getRoomsStanza","onGetMembers","queries","activities","roomJid","q","acts","a","jid","activeRoomJID","length","existingRoom","existingMembers","roomMembers","existingByJid","Map","m","map","memberJid","existing","get","undefined","firstName","lastName","_id","ban_status","last_active","Number","updates","usersSetUpdates","member","local","Object","keys","members","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","onGetChatRooms","Array","isArray","forEach","result","currentChatRooms","isRoomAlreadyAdded","values","some","element","roomData","usersCnt","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","error","e","onMessageError","_stanza","onReactionMessage","onReactionHistory","onRoomKicked"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["store","addRoom","addRoomMessage","deleteRoomMessage","editRoomMessage","setComposing","setCurrentRoom","setRoomRole","updateRoom","mergeUsersSet","createMessageFromXml","getDataFromXml","setDeleteModal","messageNotificationManager","transformCallLogMessage","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","console","log","toString","senderJID","from","parsed","pData","pId","pBody","pRest","mergedData","rawMessage","isDeleted","message","getState","chatSettingStore","user","xmppUsername","roomJID","split","dispatch","state","currentUserWallet","walletAddress","toLowerCase","senderJIDLower","String","includes","room","rooms","roomName","title","name","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","showNotification","err","warn","onDeleteMessage","stanzaId","by","messageId","isDeleteModal","onEditMessage","replace","text","onMessageHistory","children","xmlns","delay","innerFrom","mergedAttrs","handleComposing","currentUser","composingUser","norm","s","senderLocal","selfUser","selfXmppUsername","selfWallet","isSelf","chatJID","composingList","push","fullName","pop","composing","onPresenceInRoom","startsWith","role","onChatInvite","client","type","chatId","xEls","getChildren","el","child","chat","presenceInRoomStanza","getRoomsStanza","onGetMembers","queries","activities","roomJid","q","acts","a","jid","activeRoomJID","length","existingRoom","existingMembers","roomMembers","existingByJid","Map","m","map","memberJid","existing","get","undefined","firstName","lastName","_id","ban_status","last_active","Number","updates","usersSetUpdates","member","local","Object","keys","members","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","onGetChatRooms","Array","isArray","forEach","result","currentChatRooms","isRoomAlreadyAdded","values","some","element","roomData","usersCnt","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","error","e","onMessageError","_stanza","onReactionMessage","onReactionHistory","onRoomKicked"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}
@@ -55,7 +55,14 @@ export const presenceInRoom = async (client, roomJID, delay = 2000) => {
55
55
  try {
56
56
  await createTimeoutPromise(2000, unsubscribe);
57
57
  } catch (err) {
58
- reject(err);
58
+ // The room's reply schedules resolve() `delay` ms later (2000 by
59
+ // default) — the same length as this timeout, so the timeout used
60
+ // to win the race and reject a join that had actually succeeded
61
+ // (allRoomPresences "failed" with undefined on every bootstrap).
62
+ // Only a join that never got an answer is a failure.
63
+ if (!settled) {
64
+ reject(err);
65
+ }
59
66
  }
60
67
  })();
61
68
  });
@@ -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"],"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":[]}
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;QACZ;QACA;QACA;QACA;QACA;QACA,IAAI,CAAClB,OAAO,EAAE;UAACD,MAAM,CAACmB,GAAG,CAAC;QAAC;MAC7B;IACF,CAAC,EAAE,CAAC;EACN,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -2,8 +2,9 @@
2
2
 
3
3
  import { xml } from '@xmpp/client';
4
4
  import { createTimeoutPromise } from './createTimeoutPromise.xmpp';
5
+ let subscribeIdCounter = 0;
5
6
  export async function subscribeToRoomMessages(client, roomJID, userNick) {
6
- const id = `newSubscription:${Date.now().toString()}`;
7
+ const id = `newSubscription:${Date.now().toString(36)}-${(++subscribeIdCounter).toString(36)}`;
7
8
  let stanzaHandler;
8
9
  const unsubscribe = () => {
9
10
  if (stanzaHandler) {
@@ -27,6 +28,9 @@ export async function subscribeToRoomMessages(client, roomJID, userNick) {
27
28
  if (stanza.attrs.type === 'result') {
28
29
  finish(resolve, true);
29
30
  } else if (stanza.attrs.type === 'error') {
31
+ const errorEl = typeof stanza.getChild === 'function' ? stanza.getChild('error') : null;
32
+ const condition = errorEl?.children?.find(c => c?.name && c.name !== 'text');
33
+ console.warn('[PushService] MucSub subscribe error for', roomJID, condition?.name ?? 'unknown');
30
34
  finish(resolve, false);
31
35
  }
32
36
  }
@@ -1 +1 @@
1
- {"version":3,"names":["xml","createTimeoutPromise","subscribeToRoomMessages","client","roomJID","userNick","id","Date","now","toString","stanzaHandler","unsubscribe","off","Promise","resolve","reject","settled","finish","cb","value","setTimeout","stanza","is","attrs","type","on","nick","jid","getLocal","subscribeStanza","to","xmlns","node","send","error","console","catch"],"sourceRoot":"../../../../src","sources":["networking/xmpp/subscribeToRoomMessages.xmpp.ts"],"mappings":";;AAAA,SAAiBA,GAAG,QAAQ,cAAc;AAE1C,SAASC,oBAAoB,QAAQ,6BAA6B;AAElE,OAAO,eAAeC,uBAAuBA,CAC3CC,MAAc,EACdC,OAAe,EACfC,QAAiB,EACC;EAClB,MAAMC,EAAE,GAAG,mBAAmBC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE;EACrD,IAAIC,aAAwC;EAE5C,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAID,aAAa,EAAE;MACjBP,MAAM,CAACS,GAAG,CAAC,QAAQ,EAAEF,aAAa,CAAC;IACrC;EACF,CAAC;EAED,OAAO,IAAIG,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAIC,OAAO,GAAG,KAAK;IAEnB,MAAMC,MAAM,GAAGA,CAACC,EAAyB,EAAEC,KAAW,KAAK;MACzD,IAAIH,OAAO,EAAE;QAAC;MAAO;MACrBA,OAAO,GAAG,IAAI;MACdI,UAAU,CAAC,MAAM;QACfT,WAAW,CAAC,CAAC;QACbO,EAAE,CAACC,KAAK,CAAC;MACX,CAAC,EAAE,GAAG,CAAC;IACT,CAAC;IAEDT,aAAa,GAAIW,MAAe,IAAK;MACnC,IAAIA,MAAM,CAACC,EAAE,CAAC,IAAI,CAAC,IAAID,MAAM,CAACE,KAAK,CAACjB,EAAE,KAAKA,EAAE,EAAE;QAC7C,IAAIe,MAAM,CAACE,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;UAClCP,MAAM,CAACH,OAAO,EAAE,IAAI,CAAC;QACvB,CAAC,MAAM,IAAIO,MAAM,CAACE,KAAK,CAACC,IAAI,KAAK,OAAO,EAAE;UACxCP,MAAM,CAACH,OAAO,EAAE,KAAK,CAAC;QACxB;MACF;IACF,CAAC;IAEDX,MAAM,CAACsB,EAAE,CAAC,QAAQ,EAAEf,aAAa,CAAC;IAElC,MAAMgB,IAAI,GAAGrB,QAAQ,IAAIF,MAAM,CAACwB,GAAG,EAAEC,QAAQ,CAAC,CAAC,IAAI,EAAE;IAErD,MAAMC,eAAe,GAAG7B,GAAG,CACzB,IAAI,EACJ;MACE8B,EAAE,EAAE1B,OAAO;MACXoB,IAAI,EAAE,KAAK;MACXlB,EAAE,EAAEA;IACN,CAAC,EACDN,GAAG,CACD,WAAW,EACX;MAAE+B,KAAK,EAAE,mBAAmB;MAAEL,IAAI,EAAEA;IAAK,CAAC,EAC1C1B,GAAG,CAAC,OAAO,EAAE;MAAEgC,IAAI,EAAE;IAAiC,CAAC,CACzD,CACF,CAAC;IAED,IAAI;MACF7B,MAAM,CAAC8B,IAAI,CAACJ,eAAe,CAAC;IAC9B,CAAC,CAAC,OAAOK,KAAK,EAAE;MACdvB,WAAW,CAAC,CAAC;MACbwB,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;MACvDnB,MAAM,CAACmB,KAAK,CAAC;MACb;IACF;IAEAjC,oBAAoB,CAAC,IAAI,EAAEU,WAAW,CAAC,CAACyB,KAAK,CAAC,MAAM;MAClD,IAAI,CAACpB,OAAO,EAAE;QACZC,MAAM,CAACF,MAAM,EAAE,KAAK,CAAC;MACvB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["xml","createTimeoutPromise","subscribeIdCounter","subscribeToRoomMessages","client","roomJID","userNick","id","Date","now","toString","stanzaHandler","unsubscribe","off","Promise","resolve","reject","settled","finish","cb","value","setTimeout","stanza","is","attrs","type","errorEl","getChild","condition","children","find","c","name","console","warn","on","nick","jid","getLocal","subscribeStanza","to","xmlns","node","send","error","catch"],"sourceRoot":"../../../../src","sources":["networking/xmpp/subscribeToRoomMessages.xmpp.ts"],"mappings":"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","ignoreList":[]}
@@ -177,13 +177,6 @@ export class XmppClient {
177
177
  this.devServer = xmppSettings?.devServer;
178
178
  }
179
179
  this.disableLastRead = this.xmppSettings?.disableLastRead === true;
180
- // `xmppPingOnSendEnabled` was declared in the public settings type but
181
- // never read. It now controls the SEND-path liveness probe only; the
182
- // periodic watchdog and the NetInfo check always run, so turning this
183
- // off cannot leave a zombie socket undetected — it only removes the
184
- // extra probe a send would otherwise trigger. Defaults to on
185
- // (previous behaviour), just throttled and confirmation-gated now.
186
- this.pingOnSendEnabled = this.xmppSettings?.xmppPingOnSendEnabled !== false;
187
180
  const qos = this.xmppSettings?.historyQoS;
188
181
  if (qos) {
189
182
  if (typeof qos.maxInFlightHistory === 'number') {
@@ -318,6 +311,7 @@ export class XmppClient {
318
311
  }
319
312
  }
320
313
  initializeClient() {
314
+ this.clientAlreadyStopped = false;
321
315
  try {
322
316
  const devServer = this.devServer || DEFAULT_DEV_SERVER;
323
317
  const url = `wss://${devServer}/ws`;
@@ -452,10 +446,6 @@ export class XmppClient {
452
446
  this.status = 'online';
453
447
  this.presencesReady = true;
454
448
  this.reconnectAttempts = 0;
455
- // Fresh stream: forget any probe failures from the dead one, and
456
- // don't let the throttle suppress the first probe on it.
457
- this.failedProbeStreak = 0;
458
- this.lastStreamProbeAt = 0;
459
449
  try {
460
450
  devPushLog('xmpp', 'online', this.username);
461
451
  } catch {}
@@ -615,55 +605,7 @@ export class XmppClient {
615
605
  this.reconnect();
616
606
  }
617
607
  streamAliveProbe = null;
618
- /** Wall-clock of the last probe, for throttling. */
619
- lastStreamProbeAt = 0;
620
- /** Consecutive failed probes; a reconnect needs confirmation, not one miss. */
621
- failedProbeStreak = 0;
622
-
623
- // --- liveness-probe tuning -------------------------------------------
624
- // The probe exists to catch a ZOMBIE socket: the WebSocket still reads
625
- // `online` but nothing traverses it (iOS suspending a backgrounded
626
- // socket, the JS debugger pausing the runtime). Without it the client
627
- // sits "online" forever and every send silently vanishes.
628
- //
629
- // The original settings were far too trigger-happy: a 4s budget for a
630
- // ping round-trip, fired after EVERY send, with a single timeout
631
- // immediately calling `forceReconnect()` — a full teardown, rebuild,
632
- // MUC re-join and private-store refetch. On a slow or congested mobile
633
- // link a perfectly healthy but quiet stream would miss that 4s window
634
- // and get torn down mid-conversation, repeatedly. (That reconnect is
635
- // also what used to replay the outbound queue and duplicate a message
636
- // that had already been delivered — customer-reported #31.)
637
- //
638
- // Tuned to: a realistic timeout, a throttle so bursts of sends can't
639
- // each start a probe, and a required second failure before we tear a
640
- // connection down. Zombie sockets fail every probe, so they are still
641
- // caught — just after confirmation rather than on one unlucky RTT.
642
- /** Per-probe budget. 4s was under a slow-network ping RTT. */
643
- streamProbeTimeoutMs = 10_000;
644
- /** Minimum gap between probes, so a burst of sends probes at most once. */
645
- minStreamProbeIntervalMs = 15_000;
646
- /** Delay before the confirmation probe that a teardown requires. */
647
- streamProbeConfirmDelayMs = 2_000;
648
- /** Failures needed before `forceReconnect()`. */
649
- streamProbeFailuresForReconnect = 2;
650
- /** Host opt-out for the send-path probe (`xmppPingOnSendEnabled`). */
651
- pingOnSendEnabled = true;
652
-
653
- /**
654
- * Send-path liveness check. Throttled and skippable by config — unlike
655
- * the watchdog, this fires from user activity and must not turn a chatty
656
- * room into a probe storm.
657
- */
658
- ensureStreamAliveAfterSend() {
659
- if (!this.pingOnSendEnabled) {
660
- return;
661
- }
662
- this.ensureStreamAlive({
663
- reason: 'send'
664
- }).catch(() => {});
665
- }
666
- verifyStreamAlive(timeoutMs = this.streamProbeTimeoutMs) {
608
+ verifyStreamAlive(timeoutMs = 4000) {
667
609
  if (this.status !== 'online' || !this.client) {
668
610
  return Promise.resolve(false);
669
611
  }
@@ -698,59 +640,18 @@ export class XmppClient {
698
640
  });
699
641
  return this.streamAliveProbe;
700
642
  }
701
-
702
- /**
703
- * Check that the stream is really carrying traffic, and tear it down only
704
- * if that is confirmed false.
705
- *
706
- * `force` skips the throttle — used by the periodic watchdog and the
707
- * NetInfo "we're reachable again" signal, which are already rare and
708
- * genuinely want to know right now. Send-path callers leave it off so a
709
- * burst of messages triggers at most one probe.
710
- */
711
- async ensureStreamAlive(opts) {
643
+ async ensureStreamAlive(timeoutMs = 4000) {
712
644
  if (this.suppressReconnect || this.status !== 'online') {
713
645
  return;
714
646
  }
715
- const now = Date.now();
716
- if (!opts?.force && now - this.lastStreamProbeAt < this.minStreamProbeIntervalMs) {
717
- // Probed recently — a healthy answer is still fresh, and a dead
718
- // socket will be caught by the next watchdog tick anyway.
719
- return;
720
- }
721
- this.lastStreamProbeAt = now;
722
- const alive = await this.verifyStreamAlive();
723
-
724
- // Re-check state: a reconnect may have started while we waited.
725
- if (this.status !== 'online' || this.suppressReconnect) {
726
- return;
727
- }
728
- if (alive) {
729
- this.failedProbeStreak = 0;
730
- return;
731
- }
732
- this.failedProbeStreak += 1;
733
- if (this.failedProbeStreak < this.streamProbeFailuresForReconnect) {
734
- // One missed probe is not proof of a dead socket — a congested link
735
- // or a busy server can blow the budget on a stream that is fine.
736
- // Confirm with a second probe shortly, instead of tearing down a
737
- // working connection on a single unlucky round trip.
647
+ const alive = await this.verifyStreamAlive(timeoutMs);
648
+ // Re-check state: a reconnect may have started meanwhile.
649
+ if (!alive && this.status === 'online' && !this.suppressReconnect) {
738
650
  try {
739
- devPushLog('xmpp', `stream probe missed (${this.failedProbeStreak}/${this.streamProbeFailuresForReconnect}) — confirming before reconnect`);
651
+ devPushLog('xmpp', 'stream is zombie (ping unanswered) → forceReconnect');
740
652
  } catch {}
741
- setTimeout(() => {
742
- this.ensureStreamAlive({
743
- force: true,
744
- reason: 'probe-confirm'
745
- }).catch(() => {});
746
- }, this.streamProbeConfirmDelayMs);
747
- return;
653
+ this.forceReconnect();
748
654
  }
749
- this.failedProbeStreak = 0;
750
- try {
751
- devPushLog('xmpp', 'stream is zombie (probe unanswered twice) → forceReconnect');
752
- } catch {}
753
- this.forceReconnect();
754
655
  }
755
656
  async reconnect() {
756
657
  if (this.suppressReconnect) {
@@ -799,7 +700,10 @@ export class XmppClient {
799
700
  // `this.client` still points at the old client — i.e. before
800
701
  // initializeClient() reassigns it.
801
702
  const old = this.client;
802
- if (old) {
703
+ if (old && this.clientAlreadyStopped) {
704
+ this.detachEventListeners();
705
+ this.clientAlreadyStopped = false;
706
+ } else if (old) {
803
707
  this.detachEventListeners();
804
708
  // NEVER await a bare stop(): on a half-dead socket (the exact case
805
709
  // we're reconnecting for) @xmpp/client's stop() can hang forever
@@ -814,6 +718,9 @@ export class XmppClient {
814
718
  await withTimeout(old.stop(), STOP_TIMEOUT_MS);
815
719
  }
816
720
  this.initializeClient();
721
+ if (this.suspendedForBackground) {
722
+ await this.stopClientQuietly();
723
+ }
817
724
  } finally {
818
725
  this.reconnecting = false;
819
726
  }
@@ -854,6 +761,53 @@ export class XmppClient {
854
761
  })();
855
762
  return this.credentialsRefreshInFlight;
856
763
  }
764
+ suspendedForBackground = false;
765
+ clientAlreadyStopped = false;
766
+ async stopClientQuietly() {
767
+ const c = this.client;
768
+ if (c) {
769
+ const sock = c.socket;
770
+ if (sock && typeof sock.end === 'function') {
771
+ try {
772
+ sock.end();
773
+ } catch {}
774
+ try {
775
+ if (c.status !== 'offline') c._status?.('offline');
776
+ } catch {}
777
+ } else {
778
+ await withTimeout(Promise.resolve(c.stop()).catch(() => undefined), STOP_TIMEOUT_MS);
779
+ }
780
+ this.clientAlreadyStopped = true;
781
+ }
782
+ this.status = 'offline';
783
+ this.presencesReady = false;
784
+ }
785
+ async suspend() {
786
+ if (this.suspendedForBackground) {
787
+ return;
788
+ }
789
+ this.suspendedForBackground = true;
790
+ this.suppressReconnect = true;
791
+ if (this.reconnectTimer) {
792
+ clearTimeout(this.reconnectTimer);
793
+ this.reconnectTimer = null;
794
+ }
795
+ await this.stopClientQuietly();
796
+ console.log('XMPP suspended (background).');
797
+ }
798
+
799
+ /** Back in the foreground: allow reconnects again and reconnect at once. */
800
+ resume() {
801
+ if (!this.suspendedForBackground) {
802
+ return;
803
+ }
804
+ this.suspendedForBackground = false;
805
+ this.suppressReconnect = false;
806
+ this.forceReconnect();
807
+ }
808
+ get isSuspended() {
809
+ return this.suspendedForBackground;
810
+ }
857
811
  async disconnect(options) {
858
812
  if (options?.suppressReconnect) {
859
813
  this.suppressReconnect = true;