@ethora/chat-component-rn 26.9.0 → 26.10.0

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 (761) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +19 -0
  3. package/lib/commonjs/assets/icons.js +2 -2
  4. package/lib/commonjs/assets/icons.js.map +1 -1
  5. package/lib/commonjs/components/Header/HeaderRoomList.js +22 -6
  6. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  7. package/lib/commonjs/components/InputComponents/Search.js +38 -1
  8. package/lib/commonjs/components/InputComponents/Search.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ArchivedMessageCard.js +166 -0
  10. package/lib/commonjs/components/MainComponents/ArchivedMessageCard.js.map +1 -0
  11. package/lib/commonjs/components/MainComponents/ChatHeader.js +22 -5
  12. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/ChatRoom.js +56 -25
  14. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  15. package/lib/commonjs/components/MainComponents/ChatWrapper.js +53 -4
  16. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  17. package/lib/commonjs/components/MainComponents/MediaMessage.js +18 -3
  18. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  19. package/lib/commonjs/components/MainComponents/MessageList.js +739 -42
  20. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  21. package/lib/commonjs/components/MainComponents/MessageSearchButton.js +58 -0
  22. package/lib/commonjs/components/MainComponents/MessageSearchButton.js.map +1 -0
  23. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +15 -6
  24. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  25. package/lib/commonjs/components/MainComponents/RoomList.js +110 -1
  26. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  27. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +14 -3
  28. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  29. package/lib/commonjs/components/MessageBubble/BubbleHighlight.js +112 -0
  30. package/lib/commonjs/components/MessageBubble/BubbleHighlight.js.map +1 -0
  31. package/lib/commonjs/components/MessageBubble/Message.js +169 -125
  32. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  33. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +98 -78
  34. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  35. package/lib/commonjs/components/MessageBubble/messageMenuLayout.js +50 -0
  36. package/lib/commonjs/components/MessageBubble/messageMenuLayout.js.map +1 -0
  37. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +73 -37
  38. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  39. package/lib/commonjs/components/Modals/MessageSearchModal/MessageHitResults.js +253 -0
  40. package/lib/commonjs/components/Modals/MessageSearchModal/MessageHitResults.js.map +1 -0
  41. package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js +488 -0
  42. package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -0
  43. package/lib/commonjs/components/Modals/MessageSearchModal/openHit.js +51 -0
  44. package/lib/commonjs/components/Modals/MessageSearchModal/openHit.js.map +1 -0
  45. package/lib/commonjs/components/Modals/MessageSearchModal/resolveSender.js +47 -0
  46. package/lib/commonjs/components/Modals/MessageSearchModal/resolveSender.js.map +1 -0
  47. package/lib/commonjs/components/Modals/MessageSearchModal/searchFilters.js +83 -0
  48. package/lib/commonjs/components/Modals/MessageSearchModal/searchFilters.js.map +1 -0
  49. package/lib/commonjs/components/Modals/MessageSearchModal/snippet.js +61 -0
  50. package/lib/commonjs/components/Modals/MessageSearchModal/snippet.js.map +1 -0
  51. package/lib/commonjs/components/Modals/MessageSearchModal/useMessageSearch.js +136 -0
  52. package/lib/commonjs/components/Modals/MessageSearchModal/useMessageSearch.js.map +1 -0
  53. package/lib/commonjs/components/Modals/PublicChatsModal/PublicChatsModal.js +306 -0
  54. package/lib/commonjs/components/Modals/PublicChatsModal/PublicChatsModal.js.map +1 -0
  55. package/lib/commonjs/components/Modals/PublicChatsModal/publicChatsLogic.js +36 -0
  56. package/lib/commonjs/components/Modals/PublicChatsModal/publicChatsLogic.js.map +1 -0
  57. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +8 -1
  58. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  59. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +13 -2
  60. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  61. package/lib/commonjs/components/RoomComponents/SwipeableRoomRow.js +38 -6
  62. package/lib/commonjs/components/RoomComponents/SwipeableRoomRow.js.map +1 -1
  63. package/lib/commonjs/components/Thread/ThreadHeader.js +3 -1
  64. package/lib/commonjs/components/Thread/ThreadHeader.js.map +1 -1
  65. package/lib/commonjs/components/Thread/ThreadWrapper.js +90 -10
  66. package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
  67. package/lib/commonjs/components/styled/AudioDecoderHost.js +338 -0
  68. package/lib/commonjs/components/styled/AudioDecoderHost.js.map +1 -0
  69. package/lib/commonjs/components/styled/AudioMessage.js +493 -420
  70. package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
  71. package/lib/commonjs/components/styled/SendInput.js +31 -5
  72. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  73. package/lib/commonjs/context/MessageNotificationContext.js +14 -4
  74. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  75. package/lib/commonjs/context/xmppProvider.js +54 -79
  76. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  77. package/lib/commonjs/helpers/audioWaveform.js +165 -0
  78. package/lib/commonjs/helpers/audioWaveform.js.map +1 -0
  79. package/lib/commonjs/helpers/backgroundJoinSweep.js +36 -0
  80. package/lib/commonjs/helpers/backgroundJoinSweep.js.map +1 -0
  81. package/lib/commonjs/helpers/bubbleHighlight.js +44 -0
  82. package/lib/commonjs/helpers/bubbleHighlight.js.map +1 -0
  83. package/lib/commonjs/helpers/checkUniqueUsers.js +14 -12
  84. package/lib/commonjs/helpers/checkUniqueUsers.js.map +1 -1
  85. package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js +5 -1
  86. package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
  87. package/lib/commonjs/helpers/constants/MODAL_TYPES.js +3 -1
  88. package/lib/commonjs/helpers/constants/MODAL_TYPES.js.map +1 -1
  89. package/lib/commonjs/helpers/createRoomFromApi.js +40 -3
  90. package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
  91. package/lib/commonjs/helpers/dedupeMembers.js +34 -0
  92. package/lib/commonjs/helpers/dedupeMembers.js.map +1 -0
  93. package/lib/commonjs/helpers/ethoraLogger.js +56 -0
  94. package/lib/commonjs/helpers/ethoraLogger.js.map +1 -0
  95. package/lib/commonjs/helpers/getUnnamedUsers.js +9 -4
  96. package/lib/commonjs/helpers/getUnnamedUsers.js.map +1 -1
  97. package/lib/commonjs/helpers/historyPreloadConfig.js +44 -0
  98. package/lib/commonjs/helpers/historyPreloadConfig.js.map +1 -0
  99. package/lib/commonjs/helpers/historyPreloadScheduler.js +372 -137
  100. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  101. package/lib/commonjs/helpers/initRoomsPresence.js +17 -5
  102. package/lib/commonjs/helpers/initRoomsPresence.js.map +1 -1
  103. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +5 -0
  104. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  105. package/lib/commonjs/helpers/isLikelyMucJid.js +67 -0
  106. package/lib/commonjs/helpers/isLikelyMucJid.js.map +1 -0
  107. package/lib/commonjs/helpers/isMessageSearchEnabled.js +18 -0
  108. package/lib/commonjs/helpers/isMessageSearchEnabled.js.map +1 -0
  109. package/lib/commonjs/helpers/joiningRoom.js +14 -0
  110. package/lib/commonjs/helpers/joiningRoom.js.map +1 -0
  111. package/lib/commonjs/helpers/jumpThread.js +100 -0
  112. package/lib/commonjs/helpers/jumpThread.js.map +1 -0
  113. package/lib/commonjs/helpers/jumpToMessage.js +58 -0
  114. package/lib/commonjs/helpers/jumpToMessage.js.map +1 -0
  115. package/lib/commonjs/helpers/jumpWindow.js +187 -0
  116. package/lib/commonjs/helpers/jumpWindow.js.map +1 -0
  117. package/lib/commonjs/helpers/loadRoomHistory.js +75 -0
  118. package/lib/commonjs/helpers/loadRoomHistory.js.map +1 -0
  119. package/lib/commonjs/helpers/notificationPolicy.js +77 -0
  120. package/lib/commonjs/helpers/notificationPolicy.js.map +1 -0
  121. package/lib/commonjs/helpers/openRoomAtMessage.js +47 -0
  122. package/lib/commonjs/helpers/openRoomAtMessage.js.map +1 -0
  123. package/lib/commonjs/helpers/openThreadForJump.js +72 -0
  124. package/lib/commonjs/helpers/openThreadForJump.js.map +1 -0
  125. package/lib/commonjs/helpers/parseMessageReference.js +27 -8
  126. package/lib/commonjs/helpers/parseMessageReference.js.map +1 -1
  127. package/lib/commonjs/helpers/publicChatsEntry.js +17 -0
  128. package/lib/commonjs/helpers/publicChatsEntry.js.map +1 -0
  129. package/lib/commonjs/helpers/roomActivityScore.js +37 -0
  130. package/lib/commonjs/helpers/roomActivityScore.js.map +1 -0
  131. package/lib/commonjs/helpers/roomUserCount.js +36 -0
  132. package/lib/commonjs/helpers/roomUserCount.js.map +1 -0
  133. package/lib/commonjs/helpers/runConfiguredHistoryPreload.js +68 -0
  134. package/lib/commonjs/helpers/runConfiguredHistoryPreload.js.map +1 -0
  135. package/lib/commonjs/helpers/sessionAppId.js +24 -0
  136. package/lib/commonjs/helpers/sessionAppId.js.map +1 -0
  137. package/lib/commonjs/helpers/timestamp.js +43 -0
  138. package/lib/commonjs/helpers/timestamp.js.map +1 -0
  139. package/lib/commonjs/helpers/userResolver.js +517 -0
  140. package/lib/commonjs/helpers/userResolver.js.map +1 -0
  141. package/lib/commonjs/helpers/xmppIdShape.js +52 -0
  142. package/lib/commonjs/helpers/xmppIdShape.js.map +1 -0
  143. package/lib/commonjs/hooks/useChatWrapperInit.js +27 -5
  144. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  145. package/lib/commonjs/hooks/useHeapSender.js +54 -3
  146. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  147. package/lib/commonjs/hooks/useJumpToMessage.js +411 -0
  148. package/lib/commonjs/hooks/useJumpToMessage.js.map +1 -0
  149. package/lib/commonjs/hooks/useMessageLoaderQueue.js +32 -5
  150. package/lib/commonjs/hooks/useMessageLoaderQueue.js.map +1 -1
  151. package/lib/commonjs/hooks/useMessageQueue.js +13 -5
  152. package/lib/commonjs/hooks/useMessageQueue.js.map +1 -1
  153. package/lib/commonjs/hooks/useRoomDirectory.js +29 -0
  154. package/lib/commonjs/hooks/useRoomDirectory.js.map +1 -0
  155. package/lib/commonjs/hooks/useRoomInitialization.js +27 -5
  156. package/lib/commonjs/hooks/useRoomInitialization.js.map +1 -1
  157. package/lib/commonjs/hooks/useRoomMute.js +62 -0
  158. package/lib/commonjs/hooks/useRoomMute.js.map +1 -0
  159. package/lib/commonjs/hooks/useRoomState.js +3 -1
  160. package/lib/commonjs/hooks/useRoomState.js.map +1 -1
  161. package/lib/commonjs/hooks/useSendMessage.js +13 -3
  162. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  163. package/lib/commonjs/i18n/strings.js +318 -6
  164. package/lib/commonjs/i18n/strings.js.map +1 -1
  165. package/lib/commonjs/networking/api-requests/messageSearch.api.js +87 -0
  166. package/lib/commonjs/networking/api-requests/messageSearch.api.js.map +1 -0
  167. package/lib/commonjs/networking/api-requests/publicChats.api.js +48 -0
  168. package/lib/commonjs/networking/api-requests/publicChats.api.js.map +1 -0
  169. package/lib/commonjs/networking/api-requests/roomMembers.api.js +253 -4
  170. package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
  171. package/lib/commonjs/networking/api-requests/rooms.api.js +48 -12
  172. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  173. package/lib/commonjs/networking/api-requests/xmppToken.api.js +71 -0
  174. package/lib/commonjs/networking/api-requests/xmppToken.api.js.map +1 -0
  175. package/lib/commonjs/networking/ethoraEvents.js +227 -0
  176. package/lib/commonjs/networking/ethoraEvents.js.map +1 -0
  177. package/lib/commonjs/networking/stanzaHandlers.js +153 -16
  178. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  179. package/lib/commonjs/networking/xmpp/allRoomPresences.xmpp.js +124 -3
  180. package/lib/commonjs/networking/xmpp/allRoomPresences.xmpp.js.map +1 -1
  181. package/lib/commonjs/networking/xmpp/getHistory.xmpp.js +319 -35
  182. package/lib/commonjs/networking/xmpp/getHistory.xmpp.js.map +1 -1
  183. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +7 -0
  184. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  185. package/lib/commonjs/networking/xmpp/historyCursor.js +101 -0
  186. package/lib/commonjs/networking/xmpp/historyCursor.js.map +1 -0
  187. package/lib/commonjs/networking/xmpp/mamQueryIds.js +17 -0
  188. package/lib/commonjs/networking/xmpp/mamQueryIds.js.map +1 -0
  189. package/lib/commonjs/networking/xmpp/mamRouter.js +24 -9
  190. package/lib/commonjs/networking/xmpp/mamRouter.js.map +1 -1
  191. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +70 -65
  192. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  193. package/lib/commonjs/networking/xmpp/roomJoinSweep.js +389 -0
  194. package/lib/commonjs/networking/xmpp/roomJoinSweep.js.map +1 -0
  195. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js +0 -1
  196. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  197. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +0 -1
  198. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  199. package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +0 -1
  200. package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
  201. package/lib/commonjs/networking/xmppClient.js +269 -41
  202. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  203. package/lib/commonjs/networking/xmppCredentials.js +80 -0
  204. package/lib/commonjs/networking/xmppCredentials.js.map +1 -0
  205. package/lib/commonjs/roomStore/Middleware/jumpThreadMiddleware.js +158 -0
  206. package/lib/commonjs/roomStore/Middleware/jumpThreadMiddleware.js.map +1 -0
  207. package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js +6 -0
  208. package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
  209. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +45 -7
  210. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  211. package/lib/commonjs/roomStore/chatSettingsSlice.js +15 -1
  212. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  213. package/lib/commonjs/roomStore/index.js +13 -3
  214. package/lib/commonjs/roomStore/index.js.map +1 -1
  215. package/lib/commonjs/roomStore/persistence.js +48 -1
  216. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  217. package/lib/commonjs/roomStore/roomsSlice.js +474 -60
  218. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  219. package/lib/commonjs/roomStore/safeKey.js +44 -0
  220. package/lib/commonjs/roomStore/safeKey.js.map +1 -0
  221. package/lib/commonjs/roomStore/usersSetCap.js +37 -0
  222. package/lib/commonjs/roomStore/usersSetCap.js.map +1 -0
  223. package/lib/commonjs/version.js +1 -1
  224. package/lib/commonjs/version.js.map +1 -1
  225. package/lib/module/assets/icons.js +1 -1
  226. package/lib/module/assets/icons.js.map +1 -1
  227. package/lib/module/components/Header/HeaderRoomList.js +23 -7
  228. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  229. package/lib/module/components/InputComponents/Search.js +39 -2
  230. package/lib/module/components/InputComponents/Search.js.map +1 -1
  231. package/lib/module/components/MainComponents/ArchivedMessageCard.js +161 -0
  232. package/lib/module/components/MainComponents/ArchivedMessageCard.js.map +1 -0
  233. package/lib/module/components/MainComponents/ChatHeader.js +22 -5
  234. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  235. package/lib/module/components/MainComponents/ChatRoom.js +57 -26
  236. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  237. package/lib/module/components/MainComponents/ChatWrapper.js +54 -5
  238. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  239. package/lib/module/components/MainComponents/MediaMessage.js +18 -3
  240. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  241. package/lib/module/components/MainComponents/MessageList.js +740 -42
  242. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  243. package/lib/module/components/MainComponents/MessageSearchButton.js +48 -0
  244. package/lib/module/components/MainComponents/MessageSearchButton.js.map +1 -0
  245. package/lib/module/components/MainComponents/ReduxWrapper.js +15 -7
  246. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  247. package/lib/module/components/MainComponents/RoomList.js +111 -2
  248. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  249. package/lib/module/components/Menu/HeaderRoomListMenu.js +15 -4
  250. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  251. package/lib/module/components/MessageBubble/BubbleHighlight.js +106 -0
  252. package/lib/module/components/MessageBubble/BubbleHighlight.js.map +1 -0
  253. package/lib/module/components/MessageBubble/Message.js +172 -127
  254. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  255. package/lib/module/components/MessageBubble/MessageInteractions.js +98 -78
  256. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  257. package/lib/module/components/MessageBubble/messageMenuLayout.js +45 -0
  258. package/lib/module/components/MessageBubble/messageMenuLayout.js.map +1 -0
  259. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +74 -38
  260. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  261. package/lib/module/components/Modals/MessageSearchModal/MessageHitResults.js +243 -0
  262. package/lib/module/components/Modals/MessageSearchModal/MessageHitResults.js.map +1 -0
  263. package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js +482 -0
  264. package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -0
  265. package/lib/module/components/Modals/MessageSearchModal/openHit.js +45 -0
  266. package/lib/module/components/Modals/MessageSearchModal/openHit.js.map +1 -0
  267. package/lib/module/components/Modals/MessageSearchModal/resolveSender.js +41 -0
  268. package/lib/module/components/Modals/MessageSearchModal/resolveSender.js.map +1 -0
  269. package/lib/module/components/Modals/MessageSearchModal/searchFilters.js +74 -0
  270. package/lib/module/components/Modals/MessageSearchModal/searchFilters.js.map +1 -0
  271. package/lib/module/components/Modals/MessageSearchModal/snippet.js +57 -0
  272. package/lib/module/components/Modals/MessageSearchModal/snippet.js.map +1 -0
  273. package/lib/module/components/Modals/MessageSearchModal/useMessageSearch.js +131 -0
  274. package/lib/module/components/Modals/MessageSearchModal/useMessageSearch.js.map +1 -0
  275. package/lib/module/components/Modals/PublicChatsModal/PublicChatsModal.js +300 -0
  276. package/lib/module/components/Modals/PublicChatsModal/PublicChatsModal.js.map +1 -0
  277. package/lib/module/components/Modals/PublicChatsModal/publicChatsLogic.js +30 -0
  278. package/lib/module/components/Modals/PublicChatsModal/publicChatsLogic.js.map +1 -0
  279. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +8 -1
  280. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  281. package/lib/module/components/RoomComponents/ChatRoomItem.js +14 -3
  282. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  283. package/lib/module/components/RoomComponents/SwipeableRoomRow.js +39 -7
  284. package/lib/module/components/RoomComponents/SwipeableRoomRow.js.map +1 -1
  285. package/lib/module/components/Thread/ThreadHeader.js +3 -1
  286. package/lib/module/components/Thread/ThreadHeader.js.map +1 -1
  287. package/lib/module/components/Thread/ThreadWrapper.js +89 -9
  288. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  289. package/lib/module/components/styled/AudioDecoderHost.js +332 -0
  290. package/lib/module/components/styled/AudioDecoderHost.js.map +1 -0
  291. package/lib/module/components/styled/AudioMessage.js +495 -422
  292. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  293. package/lib/module/components/styled/SendInput.js +32 -6
  294. package/lib/module/components/styled/SendInput.js.map +1 -1
  295. package/lib/module/context/MessageNotificationContext.js +15 -5
  296. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  297. package/lib/module/context/xmppProvider.js +54 -79
  298. package/lib/module/context/xmppProvider.js.map +1 -1
  299. package/lib/module/helpers/audioWaveform.js +153 -0
  300. package/lib/module/helpers/audioWaveform.js.map +1 -0
  301. package/lib/module/helpers/backgroundJoinSweep.js +30 -0
  302. package/lib/module/helpers/backgroundJoinSweep.js.map +1 -0
  303. package/lib/module/helpers/bubbleHighlight.js +38 -0
  304. package/lib/module/helpers/bubbleHighlight.js.map +1 -0
  305. package/lib/module/helpers/checkUniqueUsers.js +15 -13
  306. package/lib/module/helpers/checkUniqueUsers.js.map +1 -1
  307. package/lib/module/helpers/constants/MODAL_COMPONENTS.js +5 -1
  308. package/lib/module/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
  309. package/lib/module/helpers/constants/MODAL_TYPES.js +3 -1
  310. package/lib/module/helpers/constants/MODAL_TYPES.js.map +1 -1
  311. package/lib/module/helpers/createRoomFromApi.js +37 -3
  312. package/lib/module/helpers/createRoomFromApi.js.map +1 -1
  313. package/lib/module/helpers/dedupeMembers.js +28 -0
  314. package/lib/module/helpers/dedupeMembers.js.map +1 -0
  315. package/lib/module/helpers/ethoraLogger.js +52 -0
  316. package/lib/module/helpers/ethoraLogger.js.map +1 -0
  317. package/lib/module/helpers/getUnnamedUsers.js +9 -4
  318. package/lib/module/helpers/getUnnamedUsers.js.map +1 -1
  319. package/lib/module/helpers/historyPreloadConfig.js +39 -0
  320. package/lib/module/helpers/historyPreloadConfig.js.map +1 -0
  321. package/lib/module/helpers/historyPreloadScheduler.js +368 -134
  322. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  323. package/lib/module/helpers/initRoomsPresence.js +18 -5
  324. package/lib/module/helpers/initRoomsPresence.js.map +1 -1
  325. package/lib/module/helpers/insertMessageWithDelimiter.js +5 -0
  326. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  327. package/lib/module/helpers/isLikelyMucJid.js +60 -0
  328. package/lib/module/helpers/isLikelyMucJid.js.map +1 -0
  329. package/lib/module/helpers/isMessageSearchEnabled.js +13 -0
  330. package/lib/module/helpers/isMessageSearchEnabled.js.map +1 -0
  331. package/lib/module/helpers/joiningRoom.js +9 -0
  332. package/lib/module/helpers/joiningRoom.js.map +1 -0
  333. package/lib/module/helpers/jumpThread.js +83 -0
  334. package/lib/module/helpers/jumpThread.js.map +1 -0
  335. package/lib/module/helpers/jumpToMessage.js +52 -0
  336. package/lib/module/helpers/jumpToMessage.js.map +1 -0
  337. package/lib/module/helpers/jumpWindow.js +177 -0
  338. package/lib/module/helpers/jumpWindow.js.map +1 -0
  339. package/lib/module/helpers/loadRoomHistory.js +69 -0
  340. package/lib/module/helpers/loadRoomHistory.js.map +1 -0
  341. package/lib/module/helpers/notificationPolicy.js +70 -0
  342. package/lib/module/helpers/notificationPolicy.js.map +1 -0
  343. package/lib/module/helpers/openRoomAtMessage.js +41 -0
  344. package/lib/module/helpers/openRoomAtMessage.js.map +1 -0
  345. package/lib/module/helpers/openThreadForJump.js +68 -0
  346. package/lib/module/helpers/openThreadForJump.js.map +1 -0
  347. package/lib/module/helpers/parseMessageReference.js +26 -6
  348. package/lib/module/helpers/parseMessageReference.js.map +1 -1
  349. package/lib/module/helpers/publicChatsEntry.js +12 -0
  350. package/lib/module/helpers/publicChatsEntry.js.map +1 -0
  351. package/lib/module/helpers/roomActivityScore.js +30 -0
  352. package/lib/module/helpers/roomActivityScore.js.map +1 -0
  353. package/lib/module/helpers/roomUserCount.js +29 -0
  354. package/lib/module/helpers/roomUserCount.js.map +1 -0
  355. package/lib/module/helpers/runConfiguredHistoryPreload.js +63 -0
  356. package/lib/module/helpers/runConfiguredHistoryPreload.js.map +1 -0
  357. package/lib/module/helpers/sessionAppId.js +20 -0
  358. package/lib/module/helpers/sessionAppId.js.map +1 -0
  359. package/lib/module/helpers/timestamp.js +37 -0
  360. package/lib/module/helpers/timestamp.js.map +1 -0
  361. package/lib/module/helpers/userResolver.js +503 -0
  362. package/lib/module/helpers/userResolver.js.map +1 -0
  363. package/lib/module/helpers/xmppIdShape.js +46 -0
  364. package/lib/module/helpers/xmppIdShape.js.map +1 -0
  365. package/lib/module/hooks/useChatWrapperInit.js +16 -5
  366. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  367. package/lib/module/hooks/useHeapSender.js +54 -3
  368. package/lib/module/hooks/useHeapSender.js.map +1 -1
  369. package/lib/module/hooks/useJumpToMessage.js +389 -0
  370. package/lib/module/hooks/useJumpToMessage.js.map +1 -0
  371. package/lib/module/hooks/useMessageLoaderQueue.js +32 -5
  372. package/lib/module/hooks/useMessageLoaderQueue.js.map +1 -1
  373. package/lib/module/hooks/useMessageQueue.js +13 -5
  374. package/lib/module/hooks/useMessageQueue.js.map +1 -1
  375. package/lib/module/hooks/useRoomDirectory.js +24 -0
  376. package/lib/module/hooks/useRoomDirectory.js.map +1 -0
  377. package/lib/module/hooks/useRoomInitialization.js +29 -7
  378. package/lib/module/hooks/useRoomInitialization.js.map +1 -1
  379. package/lib/module/hooks/useRoomMute.js +58 -0
  380. package/lib/module/hooks/useRoomMute.js.map +1 -0
  381. package/lib/module/hooks/useRoomState.js +3 -1
  382. package/lib/module/hooks/useRoomState.js.map +1 -1
  383. package/lib/module/hooks/useSendMessage.js +13 -3
  384. package/lib/module/hooks/useSendMessage.js.map +1 -1
  385. package/lib/module/i18n/strings.js +318 -6
  386. package/lib/module/i18n/strings.js.map +1 -1
  387. package/lib/module/networking/api-requests/messageSearch.api.js +81 -0
  388. package/lib/module/networking/api-requests/messageSearch.api.js.map +1 -0
  389. package/lib/module/networking/api-requests/publicChats.api.js +43 -0
  390. package/lib/module/networking/api-requests/publicChats.api.js.map +1 -0
  391. package/lib/module/networking/api-requests/roomMembers.api.js +248 -4
  392. package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
  393. package/lib/module/networking/api-requests/rooms.api.js +48 -12
  394. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  395. package/lib/module/networking/api-requests/xmppToken.api.js +66 -0
  396. package/lib/module/networking/api-requests/xmppToken.api.js.map +1 -0
  397. package/lib/module/networking/ethoraEvents.js +220 -0
  398. package/lib/module/networking/ethoraEvents.js.map +1 -0
  399. package/lib/module/networking/stanzaHandlers.js +155 -18
  400. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  401. package/lib/module/networking/xmpp/allRoomPresences.xmpp.js +125 -3
  402. package/lib/module/networking/xmpp/allRoomPresences.xmpp.js.map +1 -1
  403. package/lib/module/networking/xmpp/getHistory.xmpp.js +318 -35
  404. package/lib/module/networking/xmpp/getHistory.xmpp.js.map +1 -1
  405. package/lib/module/networking/xmpp/handleStanzas.xmpp.js +7 -0
  406. package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  407. package/lib/module/networking/xmpp/historyCursor.js +95 -0
  408. package/lib/module/networking/xmpp/historyCursor.js.map +1 -0
  409. package/lib/module/networking/xmpp/mamQueryIds.js +12 -0
  410. package/lib/module/networking/xmpp/mamQueryIds.js.map +1 -0
  411. package/lib/module/networking/xmpp/mamRouter.js +22 -8
  412. package/lib/module/networking/xmpp/mamRouter.js.map +1 -1
  413. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +68 -62
  414. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  415. package/lib/module/networking/xmpp/roomJoinSweep.js +385 -0
  416. package/lib/module/networking/xmpp/roomJoinSweep.js.map +1 -0
  417. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js +0 -1
  418. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  419. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +0 -1
  420. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  421. package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +0 -1
  422. package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
  423. package/lib/module/networking/xmppClient.js +269 -41
  424. package/lib/module/networking/xmppClient.js.map +1 -1
  425. package/lib/module/networking/xmppCredentials.js +76 -0
  426. package/lib/module/networking/xmppCredentials.js.map +1 -0
  427. package/lib/module/roomStore/Middleware/jumpThreadMiddleware.js +153 -0
  428. package/lib/module/roomStore/Middleware/jumpThreadMiddleware.js.map +1 -0
  429. package/lib/module/roomStore/Middleware/reactionsMiddleware.js +6 -0
  430. package/lib/module/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
  431. package/lib/module/roomStore/Middleware/unreadMidlleware.js +46 -7
  432. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  433. package/lib/module/roomStore/chatSettingsSlice.js +13 -0
  434. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  435. package/lib/module/roomStore/index.js +7 -3
  436. package/lib/module/roomStore/index.js.map +1 -1
  437. package/lib/module/roomStore/persistence.js +46 -1
  438. package/lib/module/roomStore/persistence.js.map +1 -1
  439. package/lib/module/roomStore/roomsSlice.js +459 -58
  440. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  441. package/lib/module/roomStore/safeKey.js +37 -0
  442. package/lib/module/roomStore/safeKey.js.map +1 -0
  443. package/lib/module/roomStore/usersSetCap.js +32 -0
  444. package/lib/module/roomStore/usersSetCap.js.map +1 -0
  445. package/lib/module/version.js +1 -1
  446. package/lib/module/version.js.map +1 -1
  447. package/lib/typescript/assets/icons.d.ts +4 -0
  448. package/lib/typescript/assets/icons.d.ts.map +1 -1
  449. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  450. package/lib/typescript/components/InputComponents/Search.d.ts.map +1 -1
  451. package/lib/typescript/components/MainComponents/ArchivedMessageCard.d.ts +12 -0
  452. package/lib/typescript/components/MainComponents/ArchivedMessageCard.d.ts.map +1 -0
  453. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  454. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  455. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  456. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  457. package/lib/typescript/components/MainComponents/MessageList.d.ts +22 -1
  458. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  459. package/lib/typescript/components/MainComponents/MessageSearchButton.d.ts +7 -0
  460. package/lib/typescript/components/MainComponents/MessageSearchButton.d.ts.map +1 -0
  461. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  462. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  463. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  464. package/lib/typescript/components/MessageBubble/BubbleHighlight.d.ts +12 -0
  465. package/lib/typescript/components/MessageBubble/BubbleHighlight.d.ts.map +1 -0
  466. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  467. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +5 -0
  468. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  469. package/lib/typescript/components/MessageBubble/messageMenuLayout.d.ts +29 -0
  470. package/lib/typescript/components/MessageBubble/messageMenuLayout.d.ts.map +1 -0
  471. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +2 -0
  472. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  473. package/lib/typescript/components/Modals/MessageSearchModal/MessageHitResults.d.ts +44 -0
  474. package/lib/typescript/components/Modals/MessageSearchModal/MessageHitResults.d.ts.map +1 -0
  475. package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts +12 -0
  476. package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts.map +1 -0
  477. package/lib/typescript/components/Modals/MessageSearchModal/openHit.d.ts +15 -0
  478. package/lib/typescript/components/Modals/MessageSearchModal/openHit.d.ts.map +1 -0
  479. package/lib/typescript/components/Modals/MessageSearchModal/resolveSender.d.ts +34 -0
  480. package/lib/typescript/components/Modals/MessageSearchModal/resolveSender.d.ts.map +1 -0
  481. package/lib/typescript/components/Modals/MessageSearchModal/searchFilters.d.ts +41 -0
  482. package/lib/typescript/components/Modals/MessageSearchModal/searchFilters.d.ts.map +1 -0
  483. package/lib/typescript/components/Modals/MessageSearchModal/snippet.d.ts +15 -0
  484. package/lib/typescript/components/Modals/MessageSearchModal/snippet.d.ts.map +1 -0
  485. package/lib/typescript/components/Modals/MessageSearchModal/useMessageSearch.d.ts +23 -0
  486. package/lib/typescript/components/Modals/MessageSearchModal/useMessageSearch.d.ts.map +1 -0
  487. package/lib/typescript/components/Modals/PublicChatsModal/PublicChatsModal.d.ts +16 -0
  488. package/lib/typescript/components/Modals/PublicChatsModal/PublicChatsModal.d.ts.map +1 -0
  489. package/lib/typescript/components/Modals/PublicChatsModal/publicChatsLogic.d.ts +14 -0
  490. package/lib/typescript/components/Modals/PublicChatsModal/publicChatsLogic.d.ts.map +1 -0
  491. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  492. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  493. package/lib/typescript/components/RoomComponents/SwipeableRoomRow.d.ts +5 -1
  494. package/lib/typescript/components/RoomComponents/SwipeableRoomRow.d.ts.map +1 -1
  495. package/lib/typescript/components/Thread/ThreadHeader.d.ts.map +1 -1
  496. package/lib/typescript/components/Thread/ThreadWrapper.d.ts +1 -0
  497. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  498. package/lib/typescript/components/styled/AudioDecoderHost.d.ts +39 -0
  499. package/lib/typescript/components/styled/AudioDecoderHost.d.ts.map +1 -0
  500. package/lib/typescript/components/styled/AudioMessage.d.ts +14 -1
  501. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  502. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  503. package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
  504. package/lib/typescript/context/xmppProvider.d.ts +2 -0
  505. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  506. package/lib/typescript/helpers/audioWaveform.d.ts +54 -0
  507. package/lib/typescript/helpers/audioWaveform.d.ts.map +1 -0
  508. package/lib/typescript/helpers/backgroundJoinSweep.d.ts +14 -0
  509. package/lib/typescript/helpers/backgroundJoinSweep.d.ts.map +1 -0
  510. package/lib/typescript/helpers/bubbleHighlight.d.ts +17 -0
  511. package/lib/typescript/helpers/bubbleHighlight.d.ts.map +1 -0
  512. package/lib/typescript/helpers/checkUniqueUsers.d.ts +2 -2
  513. package/lib/typescript/helpers/checkUniqueUsers.d.ts.map +1 -1
  514. package/lib/typescript/helpers/constants/MODAL_COMPONENTS.d.ts.map +1 -1
  515. package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts +2 -0
  516. package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts.map +1 -1
  517. package/lib/typescript/helpers/createRoomFromApi.d.ts +25 -0
  518. package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
  519. package/lib/typescript/helpers/dedupeMembers.d.ts +11 -0
  520. package/lib/typescript/helpers/dedupeMembers.d.ts.map +1 -0
  521. package/lib/typescript/helpers/ethoraLogger.d.ts +13 -0
  522. package/lib/typescript/helpers/ethoraLogger.d.ts.map +1 -0
  523. package/lib/typescript/helpers/getUnnamedUsers.d.ts.map +1 -1
  524. package/lib/typescript/helpers/historyPreloadConfig.d.ts +26 -0
  525. package/lib/typescript/helpers/historyPreloadConfig.d.ts.map +1 -0
  526. package/lib/typescript/helpers/historyPreloadScheduler.d.ts +8 -4
  527. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  528. package/lib/typescript/helpers/initRoomsPresence.d.ts +7 -0
  529. package/lib/typescript/helpers/initRoomsPresence.d.ts.map +1 -1
  530. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  531. package/lib/typescript/helpers/isLikelyMucJid.d.ts +19 -0
  532. package/lib/typescript/helpers/isLikelyMucJid.d.ts.map +1 -0
  533. package/lib/typescript/helpers/isMessageSearchEnabled.d.ts +12 -0
  534. package/lib/typescript/helpers/isMessageSearchEnabled.d.ts.map +1 -0
  535. package/lib/typescript/helpers/joiningRoom.d.ts +7 -0
  536. package/lib/typescript/helpers/joiningRoom.d.ts.map +1 -0
  537. package/lib/typescript/helpers/jumpThread.d.ts +48 -0
  538. package/lib/typescript/helpers/jumpThread.d.ts.map +1 -0
  539. package/lib/typescript/helpers/jumpToMessage.d.ts +26 -0
  540. package/lib/typescript/helpers/jumpToMessage.d.ts.map +1 -0
  541. package/lib/typescript/helpers/jumpWindow.d.ts +74 -0
  542. package/lib/typescript/helpers/jumpWindow.d.ts.map +1 -0
  543. package/lib/typescript/helpers/loadRoomHistory.d.ts +34 -0
  544. package/lib/typescript/helpers/loadRoomHistory.d.ts.map +1 -0
  545. package/lib/typescript/helpers/notificationPolicy.d.ts +42 -0
  546. package/lib/typescript/helpers/notificationPolicy.d.ts.map +1 -0
  547. package/lib/typescript/helpers/openRoomAtMessage.d.ts +17 -0
  548. package/lib/typescript/helpers/openRoomAtMessage.d.ts.map +1 -0
  549. package/lib/typescript/helpers/openThreadForJump.d.ts +27 -0
  550. package/lib/typescript/helpers/openThreadForJump.d.ts.map +1 -0
  551. package/lib/typescript/helpers/parseMessageReference.d.ts +18 -5
  552. package/lib/typescript/helpers/parseMessageReference.d.ts.map +1 -1
  553. package/lib/typescript/helpers/publicChatsEntry.d.ts +11 -0
  554. package/lib/typescript/helpers/publicChatsEntry.d.ts.map +1 -0
  555. package/lib/typescript/helpers/roomActivityScore.d.ts +5 -0
  556. package/lib/typescript/helpers/roomActivityScore.d.ts.map +1 -0
  557. package/lib/typescript/helpers/roomUserCount.d.ts +20 -0
  558. package/lib/typescript/helpers/roomUserCount.d.ts.map +1 -0
  559. package/lib/typescript/helpers/runConfiguredHistoryPreload.d.ts +21 -0
  560. package/lib/typescript/helpers/runConfiguredHistoryPreload.d.ts.map +1 -0
  561. package/lib/typescript/helpers/sessionAppId.d.ts +8 -0
  562. package/lib/typescript/helpers/sessionAppId.d.ts.map +1 -0
  563. package/lib/typescript/helpers/timestamp.d.ts +3 -0
  564. package/lib/typescript/helpers/timestamp.d.ts.map +1 -0
  565. package/lib/typescript/helpers/userResolver.d.ts +58 -0
  566. package/lib/typescript/helpers/userResolver.d.ts.map +1 -0
  567. package/lib/typescript/helpers/xmppIdShape.d.ts +10 -0
  568. package/lib/typescript/helpers/xmppIdShape.d.ts.map +1 -0
  569. package/lib/typescript/hooks/useChatWrapperInit.d.ts +2 -0
  570. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  571. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  572. package/lib/typescript/hooks/useJumpToMessage.d.ts +116 -0
  573. package/lib/typescript/hooks/useJumpToMessage.d.ts.map +1 -0
  574. package/lib/typescript/hooks/useMessageLoaderQueue.d.ts.map +1 -1
  575. package/lib/typescript/hooks/useMessageQueue.d.ts.map +1 -1
  576. package/lib/typescript/hooks/useRoomDirectory.d.ts +12 -0
  577. package/lib/typescript/hooks/useRoomDirectory.d.ts.map +1 -0
  578. package/lib/typescript/hooks/useRoomInitialization.d.ts.map +1 -1
  579. package/lib/typescript/hooks/useRoomMute.d.ts +8 -0
  580. package/lib/typescript/hooks/useRoomMute.d.ts.map +1 -0
  581. package/lib/typescript/hooks/useRoomState.d.ts +1 -0
  582. package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
  583. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  584. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  585. package/lib/typescript/networking/api-requests/messageSearch.api.d.ts +57 -0
  586. package/lib/typescript/networking/api-requests/messageSearch.api.d.ts.map +1 -0
  587. package/lib/typescript/networking/api-requests/publicChats.api.d.ts +24 -0
  588. package/lib/typescript/networking/api-requests/publicChats.api.d.ts.map +1 -0
  589. package/lib/typescript/networking/api-requests/roomMembers.api.d.ts +19 -1
  590. package/lib/typescript/networking/api-requests/roomMembers.api.d.ts.map +1 -1
  591. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  592. package/lib/typescript/networking/api-requests/xmppToken.api.d.ts +2 -0
  593. package/lib/typescript/networking/api-requests/xmppToken.api.d.ts.map +1 -0
  594. package/lib/typescript/networking/ethoraEvents.d.ts +45 -0
  595. package/lib/typescript/networking/ethoraEvents.d.ts.map +1 -0
  596. package/lib/typescript/networking/stanzaHandlers.d.ts +1 -1
  597. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  598. package/lib/typescript/networking/xmpp/allRoomPresences.xmpp.d.ts +32 -1
  599. package/lib/typescript/networking/xmpp/allRoomPresences.xmpp.d.ts.map +1 -1
  600. package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts +64 -0
  601. package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts.map +1 -1
  602. package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
  603. package/lib/typescript/networking/xmpp/historyCursor.d.ts +35 -0
  604. package/lib/typescript/networking/xmpp/historyCursor.d.ts.map +1 -0
  605. package/lib/typescript/networking/xmpp/mamQueryIds.d.ts +10 -0
  606. package/lib/typescript/networking/xmpp/mamQueryIds.d.ts.map +1 -0
  607. package/lib/typescript/networking/xmpp/mamRouter.d.ts +7 -0
  608. package/lib/typescript/networking/xmpp/mamRouter.d.ts.map +1 -1
  609. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts +13 -2
  610. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  611. package/lib/typescript/networking/xmpp/roomJoinSweep.d.ts +82 -0
  612. package/lib/typescript/networking/xmpp/roomJoinSweep.d.ts.map +1 -0
  613. package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts.map +1 -1
  614. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  615. package/lib/typescript/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.d.ts.map +1 -1
  616. package/lib/typescript/networking/xmppClient.d.ts +90 -4
  617. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  618. package/lib/typescript/networking/xmppCredentials.d.ts +12 -0
  619. package/lib/typescript/networking/xmppCredentials.d.ts.map +1 -0
  620. package/lib/typescript/roomStore/Middleware/jumpThreadMiddleware.d.ts +3 -0
  621. package/lib/typescript/roomStore/Middleware/jumpThreadMiddleware.d.ts.map +1 -0
  622. package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts.map +1 -1
  623. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  624. package/lib/typescript/roomStore/chatSettingsSlice.d.ts +8 -1
  625. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  626. package/lib/typescript/roomStore/index.d.ts +2 -1
  627. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  628. package/lib/typescript/roomStore/persistence.d.ts +8 -0
  629. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  630. package/lib/typescript/roomStore/roomsSlice.d.ts +138 -2
  631. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  632. package/lib/typescript/roomStore/safeKey.d.ts +13 -0
  633. package/lib/typescript/roomStore/safeKey.d.ts.map +1 -0
  634. package/lib/typescript/roomStore/usersSetCap.d.ts +16 -0
  635. package/lib/typescript/roomStore/usersSetCap.d.ts.map +1 -0
  636. package/lib/typescript/types/models/media.model.d.ts +2 -0
  637. package/lib/typescript/types/models/media.model.d.ts.map +1 -1
  638. package/lib/typescript/types/models/room.model.d.ts +18 -5
  639. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  640. package/lib/typescript/types/models/xmpp.model.d.ts +8 -1
  641. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  642. package/lib/typescript/types/types.d.ts +90 -5
  643. package/lib/typescript/types/types.d.ts.map +1 -1
  644. package/lib/typescript/version.d.ts +1 -1
  645. package/lib/typescript/version.d.ts.map +1 -1
  646. package/package.json +1 -1
  647. package/src/assets/icons.tsx +13 -0
  648. package/src/components/Header/HeaderRoomList.tsx +21 -4
  649. package/src/components/InputComponents/Search.tsx +33 -0
  650. package/src/components/MainComponents/ArchivedMessageCard.tsx +139 -0
  651. package/src/components/MainComponents/ChatHeader.tsx +19 -3
  652. package/src/components/MainComponents/ChatRoom.tsx +60 -23
  653. package/src/components/MainComponents/ChatWrapper.tsx +50 -9
  654. package/src/components/MainComponents/MediaMessage.tsx +17 -0
  655. package/src/components/MainComponents/MessageList.tsx +823 -84
  656. package/src/components/MainComponents/MessageSearchButton.tsx +48 -0
  657. package/src/components/MainComponents/ReduxWrapper.tsx +16 -5
  658. package/src/components/MainComponents/RoomList.tsx +125 -0
  659. package/src/components/Menu/HeaderRoomListMenu.tsx +26 -2
  660. package/src/components/MessageBubble/BubbleHighlight.tsx +106 -0
  661. package/src/components/MessageBubble/Message.tsx +265 -177
  662. package/src/components/MessageBubble/MessageInteractions.tsx +109 -86
  663. package/src/components/MessageBubble/messageMenuLayout.ts +59 -0
  664. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +92 -21
  665. package/src/components/Modals/MessageSearchModal/MessageHitResults.tsx +271 -0
  666. package/src/components/Modals/MessageSearchModal/MessageSearchModal.tsx +487 -0
  667. package/src/components/Modals/MessageSearchModal/openHit.ts +50 -0
  668. package/src/components/Modals/MessageSearchModal/resolveSender.ts +57 -0
  669. package/src/components/Modals/MessageSearchModal/searchFilters.ts +109 -0
  670. package/src/components/Modals/MessageSearchModal/snippet.ts +58 -0
  671. package/src/components/Modals/MessageSearchModal/useMessageSearch.ts +151 -0
  672. package/src/components/Modals/PublicChatsModal/PublicChatsModal.tsx +288 -0
  673. package/src/components/Modals/PublicChatsModal/publicChatsLogic.ts +36 -0
  674. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +8 -1
  675. package/src/components/RoomComponents/ChatRoomItem.tsx +16 -3
  676. package/src/components/RoomComponents/SwipeableRoomRow.tsx +39 -6
  677. package/src/components/Thread/ThreadHeader.tsx +3 -1
  678. package/src/components/Thread/ThreadWrapper.tsx +96 -10
  679. package/src/components/styled/AudioDecoderHost.tsx +351 -0
  680. package/src/components/styled/AudioMessage.tsx +482 -425
  681. package/src/components/styled/SendInput.tsx +42 -4
  682. package/src/context/MessageNotificationContext.tsx +19 -5
  683. package/src/context/xmppProvider.tsx +56 -91
  684. package/src/helpers/audioWaveform.ts +142 -0
  685. package/src/helpers/backgroundJoinSweep.ts +35 -0
  686. package/src/helpers/bubbleHighlight.ts +47 -0
  687. package/src/helpers/checkUniqueUsers.tsx +15 -17
  688. package/src/helpers/constants/MODAL_COMPONENTS.tsx +4 -0
  689. package/src/helpers/constants/MODAL_TYPES.ts +3 -0
  690. package/src/helpers/createRoomFromApi.tsx +45 -4
  691. package/src/helpers/dedupeMembers.ts +29 -0
  692. package/src/helpers/ethoraLogger.ts +50 -0
  693. package/src/helpers/getUnnamedUsers.ts +7 -4
  694. package/src/helpers/historyPreloadConfig.ts +68 -0
  695. package/src/helpers/historyPreloadScheduler.ts +437 -199
  696. package/src/helpers/initRoomsPresence.ts +20 -7
  697. package/src/helpers/insertMessageWithDelimiter.ts +3 -0
  698. package/src/helpers/isLikelyMucJid.ts +72 -0
  699. package/src/helpers/isMessageSearchEnabled.ts +18 -0
  700. package/src/helpers/joiningRoom.ts +13 -0
  701. package/src/helpers/jumpThread.ts +102 -0
  702. package/src/helpers/jumpToMessage.ts +57 -0
  703. package/src/helpers/jumpWindow.ts +212 -0
  704. package/src/helpers/loadRoomHistory.ts +83 -0
  705. package/src/helpers/notificationPolicy.ts +82 -0
  706. package/src/helpers/openRoomAtMessage.ts +38 -0
  707. package/src/helpers/openThreadForJump.ts +96 -0
  708. package/src/helpers/parseMessageReference.ts +37 -8
  709. package/src/helpers/publicChatsEntry.ts +15 -0
  710. package/src/helpers/roomActivityScore.ts +45 -0
  711. package/src/helpers/roomUserCount.ts +44 -0
  712. package/src/helpers/runConfiguredHistoryPreload.ts +76 -0
  713. package/src/helpers/sessionAppId.ts +17 -0
  714. package/src/helpers/timestamp.ts +44 -0
  715. package/src/helpers/userResolver.ts +542 -0
  716. package/src/helpers/xmppIdShape.ts +46 -0
  717. package/src/hooks/useChatWrapperInit.ts +22 -4
  718. package/src/hooks/useHeapSender.tsx +54 -3
  719. package/src/hooks/useJumpToMessage.ts +538 -0
  720. package/src/hooks/useMessageLoaderQueue.tsx +40 -4
  721. package/src/hooks/useMessageQueue.ts +9 -5
  722. package/src/hooks/useRoomDirectory.ts +39 -0
  723. package/src/hooks/useRoomInitialization.tsx +33 -7
  724. package/src/hooks/useRoomMute.ts +42 -0
  725. package/src/hooks/useRoomState.tsx +6 -0
  726. package/src/hooks/useSendMessage.tsx +14 -2
  727. package/src/i18n/strings.ts +312 -0
  728. package/src/networking/api-requests/messageSearch.api.ts +130 -0
  729. package/src/networking/api-requests/publicChats.api.ts +71 -0
  730. package/src/networking/api-requests/roomMembers.api.ts +263 -11
  731. package/src/networking/api-requests/rooms.api.ts +52 -12
  732. package/src/networking/api-requests/xmppToken.api.ts +62 -0
  733. package/src/networking/ethoraEvents.ts +262 -0
  734. package/src/networking/stanzaHandlers.ts +145 -19
  735. package/src/networking/xmpp/allRoomPresences.xmpp.ts +155 -5
  736. package/src/networking/xmpp/getHistory.xmpp.ts +433 -47
  737. package/src/networking/xmpp/handleStanzas.xmpp.ts +8 -0
  738. package/src/networking/xmpp/historyCursor.ts +124 -0
  739. package/src/networking/xmpp/mamQueryIds.ts +11 -0
  740. package/src/networking/xmpp/mamRouter.ts +24 -10
  741. package/src/networking/xmpp/presenceInRoom.xmpp.ts +91 -68
  742. package/src/networking/xmpp/roomJoinSweep.ts +412 -0
  743. package/src/networking/xmpp/sendMediaMessage.xmpp.ts +0 -1
  744. package/src/networking/xmpp/sendTextMessage.xmpp.ts +0 -1
  745. package/src/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.ts +0 -1
  746. package/src/networking/xmppClient.ts +323 -47
  747. package/src/networking/xmppCredentials.ts +87 -0
  748. package/src/roomStore/Middleware/jumpThreadMiddleware.ts +163 -0
  749. package/src/roomStore/Middleware/reactionsMiddleware.tsx +4 -0
  750. package/src/roomStore/Middleware/unreadMidlleware.tsx +59 -11
  751. package/src/roomStore/chatSettingsSlice.ts +11 -0
  752. package/src/roomStore/index.ts +10 -3
  753. package/src/roomStore/persistence.ts +54 -0
  754. package/src/roomStore/roomsSlice.ts +547 -65
  755. package/src/roomStore/safeKey.ts +49 -0
  756. package/src/roomStore/usersSetCap.ts +37 -0
  757. package/src/types/models/media.model.ts +4 -0
  758. package/src/types/models/room.model.ts +18 -5
  759. package/src/types/models/xmpp.model.ts +15 -1
  760. package/src/types/types.ts +95 -5
  761. package/src/version.ts +1 -1
@@ -1,15 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  import { store } from '../roomStore';
4
- import { claimMamResult, collectMamMessage, collectMamReaction } from './xmpp/mamRouter';
4
+ import { claimMamResult, collectMamMessage, collectMamReaction, replayArchivedReaction } from './xmpp/mamRouter';
5
5
  import { extractReaction } from '../helpers/mamReactions';
6
- import { addRooms, addRoomMessage, deleteRoomMessage, editRoomMessage, setComposing, setCurrentRoom, setRoomRole, setReactions } from '../roomStore/roomsSlice';
6
+ import { addRooms, addRoomMessage, deleteRoomMessage, editRoomMessage, setComposing, setCurrentRoom, setRoomRole, setReactions, updateRoom } from '../roomStore/roomsSlice';
7
+ import { adjustUsersCnt, isRoomMembersTruncated } from '../helpers/roomUserCount';
8
+ import { requestSendersOf } from '../helpers/userResolver';
7
9
  import { createMessageFromXml } from '../helpers/createMessageFromXml';
8
10
  import { getDataFromXml } from '../helpers/getDataFromXml';
9
11
  import { setDeleteModal } from '../roomStore/chatSettingsSlice';
10
12
  import { messageNotificationManager } from '../utils/messageNotificationManager';
13
+ import { isOwnIncomingMessage } from '../helpers/notificationPolicy';
11
14
  import { transformCallLogMessage } from '../helpers/callLogMessage';
12
15
  import { translateKey } from '../i18n/strings';
16
+ import { isWindowQueryId } from './xmpp/mamQueryIds';
13
17
  import { loadRoomMembers } from './api-requests/rooms.api';
14
18
  import { subscribeRoomForPush } from '../services/pushSubscriptionService';
15
19
 
@@ -89,15 +93,26 @@ const onRealtimeMessage = async stanza => {
89
93
  roomJID,
90
94
  message
91
95
  }));
96
+ // A sender missing from usersSet (a big room only carries 30 members)
97
+ // is resolved lazily; known and recently failed ids are dropped inside.
98
+ try {
99
+ requestSendersOf([message]);
100
+ } catch {
101
+ // name resolution must never break message delivery
102
+ }
92
103
 
93
- // Trigger in-app notification (manager dedupes + drops own messages
94
- // for empty bodies). Self-messages are filtered by sender check.
104
+ // Trigger in-app notification (the manager dedupes and drops empty
105
+ // bodies; the provider drops the open chat, muted chats and a
106
+ // backgrounded app). The reader's own messages never toast.
95
107
  try {
96
108
  const state = store.getState();
97
- const currentUserWallet = (state.chatSettingStore.user?.walletAddress || '').toLowerCase();
98
- const senderJIDLower = String(senderJID || '').toLowerCase();
99
- if (currentUserWallet && senderJIDLower.includes(currentUserWallet)) {
100
- return message; // own message, skip toast
109
+ if (isOwnIncomingMessage({
110
+ message,
111
+ stanzaFrom: stanza.attrs.from,
112
+ senderJID,
113
+ user: state.chatSettingStore.user
114
+ })) {
115
+ return message;
101
116
  }
102
117
  const room = state.rooms.rooms[roomJID];
103
118
  const roomName = room?.title || room?.name || '';
@@ -148,21 +163,16 @@ const onEditMessage = async stanza => {
148
163
  }));
149
164
  }
150
165
  };
151
- const isMamResult = stanza => !!stanza?.is?.('message') && stanza.children?.[0]?.attrs?.xmlns === 'urn:xmpp:mam:2';
166
+ const isMamResult = stanza => !!stanza?.is?.('message') && stanza.getChild?.('result')?.attrs?.xmlns === 'urn:xmpp:mam:2';
152
167
  const parseMamResult = async stanza => {
153
168
  {
154
169
  const forwardedMsg = stanza.getChild('result')?.getChild('forwarded')?.getChild('message');
155
170
  if (forwardedMsg?.getChild?.('reactions')) {
156
171
  const reaction = extractReaction(forwardedMsg, stanza.attrs?.from, stanza.getChild('result')?.attrs?.id);
157
172
  if (reaction && !collectMamReaction(stanza, reaction)) {
158
- store.dispatch(setReactions({
159
- roomJID: reaction.roomJID,
160
- messageId: reaction.messageId,
161
- from: reaction.from,
162
- reactions: reaction.emoji,
163
- data: reaction.data,
164
- latestReactionTimestamp: reaction.ts
165
- }));
173
+ // No page is waiting for it: replay it by hand. Flagged fromHistory
174
+ // so the room preview is not turned into an emoji.
175
+ replayArchivedReaction(reaction);
166
176
  }
167
177
  return undefined;
168
178
  }
@@ -253,6 +263,12 @@ const onMessageHistory = async stanza => {
253
263
  if (!isMamResult(stanza)) {
254
264
  return;
255
265
  }
266
+ // A windowed query (a jump target's neighbourhood, a time lookup) belongs
267
+ // to the caller that asked: its rows are collected and returned there and
268
+ // must never be claimed by the router or merged into the live list.
269
+ if (isWindowQueryId(stanza.getChild('result')?.attrs?.queryid)) {
270
+ return;
271
+ }
256
272
  const claimed = claimMamResult(stanza);
257
273
  let message;
258
274
  try {
@@ -302,7 +318,76 @@ const handleComposing = async (stanza, currentUser) => {
302
318
  }
303
319
  }
304
320
  };
321
+
322
+ // Server-driven membership change: when someone is added to or removed from
323
+ // a MUC the room broadcasts <message><x xmlns="muc#user"><item jid=...
324
+ // affiliation="member|none|outcast"/></x></message> to the occupants. It is
325
+ // the ONLY thing that counts as a join or leave: usersCnt is adjusted by
326
+ // +1/-1 from its CURRENT value, because a big room carries a truncated
327
+ // members[] (the real total is usersCnt) and recomputing from its length
328
+ // would collapse the count to the page size.
329
+ const MUC_USER_NS = 'http://jabber.org/protocol/muc#user';
330
+ const onRoomMembershipChange = stanza => {
331
+ if (typeof stanza?.is !== 'function' || !stanza.is('message')) {
332
+ return;
333
+ }
334
+ const roomJid = String(stanza.attrs?.from || '').split('/')[0];
335
+ const room = roomJid ? store.getState().rooms.rooms[roomJid] : undefined;
336
+ if (!room) {
337
+ return;
338
+ }
339
+ const x = (stanza.getChildren?.('x') || []).find(e => e?.attrs?.xmlns === MUC_USER_NS);
340
+ if (!x || x.getChild('invite')) {
341
+ return;
342
+ }
343
+ const item = x.getChild('item');
344
+ const memberJid = String(item?.attrs?.jid || '');
345
+ if (!memberJid) {
346
+ return;
347
+ }
348
+ const xmppUsername = memberJid.split('@')[0];
349
+ const affiliation = String(item?.attrs?.affiliation || '');
350
+ const leaving = affiliation === 'none' || affiliation === 'outcast';
351
+ const members = Array.isArray(room.members) ? room.members : [];
352
+ const idx = members.findIndex(m => m.xmppUsername === xmppUsername);
353
+ let next;
354
+ if (leaving) {
355
+ if (idx < 0) {
356
+ // The leaver may exist only in the directory of a truncated room.
357
+ if (!isRoomMembersTruncated(room)) {
358
+ return;
359
+ }
360
+ store.dispatch(updateRoom({
361
+ jid: roomJid,
362
+ updates: {
363
+ usersCnt: adjustUsersCnt(room, -1, members.length)
364
+ }
365
+ }));
366
+ return;
367
+ }
368
+ next = members.filter((_, i) => i !== idx);
369
+ } else {
370
+ if (idx >= 0) {
371
+ return;
372
+ }
373
+ next = [...members, {
374
+ _id: '',
375
+ firstName: '',
376
+ lastName: '',
377
+ xmppUsername,
378
+ jid: memberJid
379
+ }];
380
+ }
381
+ store.dispatch(updateRoom({
382
+ jid: roomJid,
383
+ updates: {
384
+ members: next,
385
+ usersCnt: adjustUsersCnt(room, leaving ? -1 : 1, next.length)
386
+ }
387
+ }));
388
+ };
305
389
  const onPresenceInRoom = stanza => {
390
+ onRoomMembershipChange(stanza);
306
391
  if (typeof stanza.attrs.id === 'string' && stanza.attrs.id.startsWith('presenceInRoom') && !stanza.getChild('error')) {
307
392
  const roomJID = stanza.attrs.from.split('/')[0];
308
393
  const role = stanza?.children[1]?.children[0]?.attrs.role;
@@ -447,6 +532,58 @@ const onReactionMessage = stanza => {
447
532
  };
448
533
  // Archived reactions are handled by parseMamResult + the MAM router.
449
534
  const onReactionHistory = _stanza => {};
450
- const onRoomKicked = _stanza => {};
535
+ // Presence that removes a member: unavailable + affiliation none/outcast.
536
+ // A presence is never a join (an unlisted occupant of a truncated big room
537
+ // is indistinguishable from a new member), so it only ever adjusts -1; the
538
+ // affiliation message (onRoomMembershipChange) is what counts joins.
539
+ const onRoomKicked = stanza => {
540
+ try {
541
+ if (stanza?.attrs?.type !== 'unavailable') {
542
+ return;
543
+ }
544
+ const from = String(stanza.attrs?.from || '');
545
+ const slash = from.indexOf('/');
546
+ const roomJID = slash >= 0 ? from.slice(0, slash) : from;
547
+ const nickname = slash >= 0 ? from.slice(slash + 1) : '';
548
+ const state = store.getState();
549
+ const room = roomJID ? state.rooms.rooms[roomJID] : undefined;
550
+ if (!room || !nickname) {
551
+ return;
552
+ }
553
+ if (nickname === (state.chatSettingStore.user?.xmppUsername || '')) {
554
+ return;
555
+ }
556
+ const x = (stanza.getChildren?.('x') || []).find(e => e?.attrs?.xmlns === MUC_USER_NS);
557
+ const item = x?.getChild?.('item');
558
+ const affiliation = String(item?.attrs?.affiliation || '');
559
+ if (!item || affiliation !== 'none' && affiliation !== 'outcast') {
560
+ return;
561
+ }
562
+ const members = Array.isArray(room.members) ? room.members : [];
563
+ const idx = members.findIndex(m => m.xmppUsername === nickname);
564
+ if (idx < 0) {
565
+ if (!isRoomMembersTruncated(room)) {
566
+ return;
567
+ }
568
+ store.dispatch(updateRoom({
569
+ jid: roomJID,
570
+ updates: {
571
+ usersCnt: adjustUsersCnt(room, -1, members.length)
572
+ }
573
+ }));
574
+ return;
575
+ }
576
+ const next = members.filter((_, i) => i !== idx);
577
+ store.dispatch(updateRoom({
578
+ jid: roomJID,
579
+ updates: {
580
+ members: next,
581
+ usersCnt: adjustUsersCnt(room, -1, next.length)
582
+ }
583
+ }));
584
+ } catch (error) {
585
+ console.warn('onRoomKicked failed', error);
586
+ }
587
+ };
451
588
  export { onRealtimeMessage, onMessageHistory, onPresenceInRoom, onGetLastMessageArchive, handleComposing, onGetChatRooms, onNewRoomCreated, onGetMembers, onGetRoomInfo, onDeleteMessage, onEditMessage, onChatInvite, onMessageError, onReactionMessage, onReactionHistory, onRoomKicked };
452
589
  //# sourceMappingURL=stanzaHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["store","claimMamResult","collectMamMessage","collectMamReaction","extractReaction","addRooms","addRoomMessage","deleteRoomMessage","editRoomMessage","setComposing","setCurrentRoom","setRoomRole","setReactions","createMessageFromXml","getDataFromXml","setDeleteModal","messageNotificationManager","transformCallLogMessage","translateKey","loadRoomMembers","subscribeRoomForPush","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","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","locale","uiLocale","config","i18n","langSource","overrides","strings","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","showNotification","err","console","warn","onDeleteMessage","stanzaId","by","messageId","isDeleteModal","onEditMessage","replace","text","isMamResult","children","xmlns","parseMamResult","forwardedMsg","reaction","reactions","emoji","latestReactionTimestamp","ts","undefined","delay","forwardedMessage","innerFrom","mergedAttrs","xmppId","positionalMessage","parsedFull","catch","translations","onMessageHistory","claimed","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","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","onGetChatRooms","Array","isArray","known","fresh","jids","result","jid","usersCnt","Number","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","length","activeRoomJID","force","e","onMessageError","_stanza","onReactionMessage","onReactionHistory","onRoomKicked"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["store","claimMamResult","collectMamMessage","collectMamReaction","replayArchivedReaction","extractReaction","addRooms","addRoomMessage","deleteRoomMessage","editRoomMessage","setComposing","setCurrentRoom","setRoomRole","setReactions","updateRoom","adjustUsersCnt","isRoomMembersTruncated","requestSendersOf","createMessageFromXml","getDataFromXml","setDeleteModal","messageNotificationManager","isOwnIncomingMessage","transformCallLogMessage","translateKey","isWindowQueryId","loadRoomMembers","subscribeRoomForPush","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","senderJID","from","parsed","pData","pId","pBody","pRest","mergedData","rawMessage","isDeleted","message","getState","chatSettingStore","user","xmppUsername","roomJID","split","dispatch","state","stanzaFrom","room","rooms","roomName","title","name","locale","uiLocale","config","i18n","langSource","overrides","strings","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","showNotification","err","console","warn","onDeleteMessage","stanzaId","by","messageId","isDeleteModal","onEditMessage","includes","replace","text","isMamResult","xmlns","parseMamResult","forwardedMsg","reaction","undefined","delay","forwardedMessage","innerFrom","mergedAttrs","xmppId","positionalMessage","parsedFull","catch","translations","onMessageHistory","queryid","claimed","handleComposing","currentUser","composingUser","norm","s","toLowerCase","senderLocal","selfUser","selfXmppUsername","selfWallet","walletAddress","isSelf","chatJID","composingList","push","fullName","pop","composing","MUC_USER_NS","onRoomMembershipChange","roomJid","String","x","getChildren","find","e","item","memberJid","jid","affiliation","leaving","members","Array","isArray","idx","findIndex","m","next","updates","usersCnt","length","_","i","_id","firstName","lastName","onPresenceInRoom","startsWith","role","children","onChatInvite","client","type","chatId","xEls","el","child","chat","presenceInRoomStanza","getRoomsStanza","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","onGetChatRooms","known","fresh","jids","result","Number","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","activeRoomJID","force","onMessageError","_stanza","onReactionMessage","latestReactionTimestamp","ts","reactions","emoji","onReactionHistory","onRoomKicked","slash","indexOf","slice","nickname","error"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}
@@ -2,8 +2,130 @@
2
2
 
3
3
  import { store } from '../../roomStore';
4
4
  import { presenceInRoom } from './presenceInRoom.xmpp';
5
- export async function allRoomPresences(client) {
6
- const rooms = store.getState().rooms.rooms;
7
- await Promise.all(Object.keys(rooms).map(roomJid => presenceInRoom(client, roomJid)));
5
+ import { isLikelyMucJid } from '../../helpers/isLikelyMucJid';
6
+
7
+ // `join` lets the owner route each room through its dedup layer
8
+ // (RoomJoinManager.ensureRoomPresence) so the sweep shares an in-flight join
9
+ // with other callers instead of sending a second <presence> for the same
10
+ // room: the server answers a duplicate join once, one waiter would time out
11
+ // and the room got a failure backoff while actually being joined.
12
+
13
+ // Joins every room in the store in the background. Order: the active room
14
+ // first (re-read before every pick, so a room the user opens while it is
15
+ // still queued jumps the queue), then by recent activity. Rooms discovered
16
+ // while the sweep runs are picked up before it ends.
17
+ export async function allRoomPresences(client, join, options = {}) {
18
+ const concurrency = Math.max(1, Math.floor(options.concurrency || 5));
19
+ const pacingMs = options.pacingMs ?? 30;
20
+ const isJoined = options.isJoined || (() => false);
21
+ const rank = options.rank || (() => 0);
22
+ const isRoomJid = options.isRoomJid || isLikelyMucJid;
23
+ const seen = new Set();
24
+ const queue = [];
25
+ const collect = () => {
26
+ const rooms = store.getState().rooms.rooms;
27
+ const keys = rooms && typeof rooms === 'object' ? Object.keys(rooms) : [];
28
+ const fresh = keys.filter(jid => isRoomJid(jid) && !seen.has(jid) && !isJoined(jid));
29
+ fresh.forEach(jid => seen.add(jid));
30
+ // Stable sort: equal scores keep store order.
31
+ fresh.sort((a, b) => rank(b) - rank(a));
32
+ queue.push(...fresh);
33
+ };
34
+ collect();
35
+ const sweptRooms = [];
36
+ const settledByJid = new Map();
37
+ const firstWave = Math.min(concurrency, queue.length);
38
+ let started = 0;
39
+ let waveSettled = 0;
40
+ let priorityFired = false;
41
+ const firePriority = () => {
42
+ if (priorityFired) {
43
+ return;
44
+ }
45
+ priorityFired = true;
46
+ options.onPriorityDone?.();
47
+ };
48
+ if (firstWave === 0) {
49
+ firePriority();
50
+ }
51
+ const pickNext = () => {
52
+ const active = options.getActiveRoomJid?.();
53
+ if (active) {
54
+ const at = queue.indexOf(active);
55
+ if (at >= 0) {
56
+ return queue.splice(at, 1)[0];
57
+ }
58
+ }
59
+ return queue.shift();
60
+ };
61
+ const worker = async () => {
62
+ while (!options.isCancelled?.()) {
63
+ if (queue.length === 0) {
64
+ collect();
65
+ }
66
+ const roomJid = pickNext();
67
+ if (!roomJid) {
68
+ return;
69
+ }
70
+ // Opened (and joined) by someone else while this one waited.
71
+ if (isJoined(roomJid)) {
72
+ continue;
73
+ }
74
+ const inFirstWave = started < firstWave;
75
+ started += 1;
76
+ sweptRooms.push(roomJid);
77
+ const result = await Promise.allSettled([join ? join(roomJid).then(joined => {
78
+ if (!joined) {
79
+ throw new Error(`presence_failed:${roomJid}`);
80
+ }
81
+ return joined;
82
+ }) : presenceInRoom(client, roomJid, 0, 5000)]);
83
+ settledByJid.set(roomJid, result[0]);
84
+ if (inFirstWave) {
85
+ waveSettled += 1;
86
+ if (waveSettled >= firstWave) {
87
+ firePriority();
88
+ }
89
+ }
90
+ if (pacingMs > 0) {
91
+ await new Promise(resolve => setTimeout(resolve, pacingMs));
92
+ }
93
+ }
94
+ };
95
+ await Promise.all(Array.from({
96
+ length: concurrency
97
+ }, () => worker()));
98
+ firePriority();
99
+ const roomJids = sweptRooms;
100
+ const settled = roomJids.map(jid => settledByJid.get(jid) || {
101
+ status: 'rejected',
102
+ reason: 'cancelled'
103
+ });
104
+ const failedRooms = [];
105
+ const failures = [];
106
+ let success = 0;
107
+ settled.forEach((result, index) => {
108
+ if (result.status === 'fulfilled') {
109
+ success += 1;
110
+ return;
111
+ }
112
+ const roomJid = roomJids[index];
113
+ failedRooms.push(roomJid);
114
+ const reason = result.reason instanceof Error ? result.reason.message : typeof result.reason === 'string' ? result.reason : JSON.stringify(result.reason ?? {
115
+ error: 'unknown'
116
+ });
117
+ failures.push({
118
+ roomJid,
119
+ reason
120
+ });
121
+ });
122
+ return {
123
+ total: roomJids.length,
124
+ success,
125
+ failed: failedRooms.length,
126
+ failedRooms,
127
+ sweptRooms: roomJids,
128
+ failures
129
+ };
8
130
  }
9
131
  //# sourceMappingURL=allRoomPresences.xmpp.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["store","presenceInRoom","allRoomPresences","client","rooms","getState","Promise","all","Object","keys","map","roomJid"],"sourceRoot":"../../../../src","sources":["networking/xmpp/allRoomPresences.xmpp.ts"],"mappings":";;AACA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,OAAO,eAAeC,gBAAgBA,CAACC,MAAc,EAAE;EACrD,MAAMC,KAAK,GAAGJ,KAAK,CAACK,QAAQ,CAAC,CAAC,CAACD,KAAK,CAACA,KAAK;EAC1C,MAAME,OAAO,CAACC,GAAG,CACfC,MAAM,CAACC,IAAI,CAACL,KAAK,CAAC,CAACM,GAAG,CAAEC,OAAO,IAAKV,cAAc,CAACE,MAAM,EAAEQ,OAAO,CAAC,CACrE,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["store","presenceInRoom","isLikelyMucJid","allRoomPresences","client","join","options","concurrency","Math","max","floor","pacingMs","isJoined","rank","isRoomJid","seen","Set","queue","collect","rooms","getState","keys","Object","fresh","filter","jid","has","forEach","add","sort","a","b","push","sweptRooms","settledByJid","Map","firstWave","min","length","started","waveSettled","priorityFired","firePriority","onPriorityDone","pickNext","active","getActiveRoomJid","at","indexOf","splice","shift","worker","isCancelled","roomJid","inFirstWave","result","Promise","allSettled","then","joined","Error","set","resolve","setTimeout","all","Array","from","roomJids","settled","map","get","status","reason","failedRooms","failures","success","index","message","JSON","stringify","error","total","failed"],"sourceRoot":"../../../../src","sources":["networking/xmpp/allRoomPresences.xmpp.ts"],"mappings":"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","ignoreList":[]}