@ethora/chat-component-rn 26.8.4 → 26.8.6

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 (417) hide show
  1. package/README.md +55 -0
  2. package/lib/commonjs/assets/emojiData.js +40 -0
  3. package/lib/commonjs/assets/emojiData.js.map +1 -0
  4. package/lib/commonjs/assets/icons.js +1 -1
  5. package/lib/commonjs/assets/icons.js.map +1 -1
  6. package/lib/commonjs/components/Header/HeaderRoomList.js +12 -7
  7. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  8. package/lib/commonjs/components/MainComponents/ChatHeader.js +7 -9
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js +47 -26
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js +58 -21
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  14. package/lib/commonjs/components/MainComponents/KeyboardInputDock.js +40 -0
  15. package/lib/commonjs/components/MainComponents/KeyboardInputDock.js.map +1 -0
  16. package/lib/commonjs/components/MainComponents/MessageContainer.js +4 -12
  17. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  18. package/lib/commonjs/components/MainComponents/MessageList.js +110 -35
  19. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  20. package/lib/commonjs/components/MainComponents/RoomList.js +32 -29
  21. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  22. package/lib/commonjs/components/MainComponents/RoomStack.js +270 -0
  23. package/lib/commonjs/components/MainComponents/RoomStack.js.map +1 -0
  24. package/lib/commonjs/components/MainComponents/SystemMessage.js +6 -2
  25. package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
  26. package/lib/commonjs/components/MessageBubble/Avatar.js +5 -1
  27. package/lib/commonjs/components/MessageBubble/Avatar.js.map +1 -1
  28. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js +17 -21
  29. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  30. package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js +447 -0
  31. package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
  32. package/lib/commonjs/components/MessageBubble/Message.js +200 -132
  33. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  34. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +213 -12
  35. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  36. package/lib/commonjs/components/MessageBubble/MessageReaction.js +113 -94
  37. package/lib/commonjs/components/MessageBubble/MessageReaction.js.map +1 -1
  38. package/lib/commonjs/components/MessageBubble/MessageReply.js +66 -24
  39. package/lib/commonjs/components/MessageBubble/MessageReply.js.map +1 -1
  40. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +6 -1
  41. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  42. package/lib/commonjs/components/Modals/Modal/Modal.js +24 -0
  43. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  44. package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js +178 -0
  45. package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js.map +1 -0
  46. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +28 -10
  47. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -1
  48. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +9 -3
  49. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  50. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +5 -4
  51. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  52. package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
  53. package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
  54. package/lib/commonjs/components/Thread/ThreadWrapper.js +265 -152
  55. package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
  56. package/lib/commonjs/components/styled/DateLabel.js +6 -3
  57. package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
  58. package/lib/commonjs/context/MessageNotificationContext.js +188 -9
  59. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  60. package/lib/commonjs/context/xmppProvider.js +22 -7
  61. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  62. package/lib/commonjs/helpers/createRoomFromApi.js +36 -2
  63. package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
  64. package/lib/commonjs/helpers/emoji.js +51 -0
  65. package/lib/commonjs/helpers/emoji.js.map +1 -0
  66. package/lib/commonjs/helpers/haptics.js +29 -0
  67. package/lib/commonjs/helpers/haptics.js.map +1 -0
  68. package/lib/commonjs/helpers/historyPreloadScheduler.js +32 -66
  69. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  70. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +21 -12
  71. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  72. package/lib/commonjs/helpers/keyboardLayout.js +23 -1
  73. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
  74. package/lib/commonjs/helpers/mamReactions.js +57 -0
  75. package/lib/commonjs/helpers/mamReactions.js.map +1 -0
  76. package/lib/commonjs/helpers/parseMessageReference.js +42 -0
  77. package/lib/commonjs/helpers/parseMessageReference.js.map +1 -0
  78. package/lib/commonjs/helpers/reactionsConfig.js +17 -0
  79. package/lib/commonjs/helpers/reactionsConfig.js.map +1 -0
  80. package/lib/commonjs/helpers/updateMessagesTillLast.js +17 -2
  81. package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
  82. package/lib/commonjs/hooks/useHeapSender.js +3 -1
  83. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  84. package/lib/commonjs/hooks/useMessageHeapState.js +3 -2
  85. package/lib/commonjs/hooks/useMessageHeapState.js.map +1 -1
  86. package/lib/commonjs/hooks/useRoomInitialization.js +16 -7
  87. package/lib/commonjs/hooks/useRoomInitialization.js.map +1 -1
  88. package/lib/commonjs/hooks/useSendMessage.js +14 -8
  89. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  90. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -1
  91. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  92. package/lib/commonjs/networking/stanzaHandlers.js +106 -50
  93. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  94. package/lib/commonjs/networking/xmpp/getHistory.xmpp.js +29 -74
  95. package/lib/commonjs/networking/xmpp/getHistory.xmpp.js.map +1 -1
  96. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +4 -0
  97. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  98. package/lib/commonjs/networking/xmpp/mamRouter.js +186 -0
  99. package/lib/commonjs/networking/xmpp/mamRouter.js.map +1 -0
  100. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +41 -4
  101. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  102. package/lib/commonjs/networking/xmppClient.js +98 -23
  103. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  104. package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js +29 -34
  105. package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
  106. package/lib/commonjs/roomStore/Middleware/perfMiddleware.js +51 -0
  107. package/lib/commonjs/roomStore/Middleware/perfMiddleware.js.map +1 -0
  108. package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js +66 -43
  109. package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
  110. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +88 -68
  111. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  112. package/lib/commonjs/roomStore/index.js +18 -14
  113. package/lib/commonjs/roomStore/index.js.map +1 -1
  114. package/lib/commonjs/roomStore/persistBackend.js +96 -0
  115. package/lib/commonjs/roomStore/persistBackend.js.map +1 -0
  116. package/lib/commonjs/roomStore/persistence.js +245 -50
  117. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  118. package/lib/commonjs/roomStore/roomsSlice.js +282 -136
  119. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  120. package/lib/commonjs/theme/theme.js +3 -0
  121. package/lib/commonjs/theme/theme.js.map +1 -1
  122. package/lib/commonjs/utils/devLogger.js +14 -0
  123. package/lib/commonjs/utils/devLogger.js.map +1 -1
  124. package/lib/commonjs/version.js +1 -1
  125. package/lib/module/assets/emojiData.js +36 -0
  126. package/lib/module/assets/emojiData.js.map +1 -0
  127. package/lib/module/assets/icons.js +1 -1
  128. package/lib/module/assets/icons.js.map +1 -1
  129. package/lib/module/components/Header/HeaderRoomList.js +12 -7
  130. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  131. package/lib/module/components/MainComponents/ChatHeader.js +8 -10
  132. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  133. package/lib/module/components/MainComponents/ChatRoom.js +49 -28
  134. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  135. package/lib/module/components/MainComponents/ChatWrapper.js +60 -23
  136. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  137. package/lib/module/components/MainComponents/KeyboardInputDock.js +33 -0
  138. package/lib/module/components/MainComponents/KeyboardInputDock.js.map +1 -0
  139. package/lib/module/components/MainComponents/MessageContainer.js +7 -14
  140. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  141. package/lib/module/components/MainComponents/MessageList.js +110 -35
  142. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  143. package/lib/module/components/MainComponents/RoomList.js +32 -29
  144. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  145. package/lib/module/components/MainComponents/RoomStack.js +266 -0
  146. package/lib/module/components/MainComponents/RoomStack.js.map +1 -0
  147. package/lib/module/components/MainComponents/SystemMessage.js +6 -2
  148. package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
  149. package/lib/module/components/MessageBubble/Avatar.js +5 -1
  150. package/lib/module/components/MessageBubble/Avatar.js.map +1 -1
  151. package/lib/module/components/MessageBubble/BottomReplyContainer.js +18 -22
  152. package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  153. package/lib/module/components/MessageBubble/EmojiPickerSheet.js +438 -0
  154. package/lib/module/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
  155. package/lib/module/components/MessageBubble/Message.js +203 -134
  156. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  157. package/lib/module/components/MessageBubble/MessageInteractions.js +215 -14
  158. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  159. package/lib/module/components/MessageBubble/MessageReaction.js +115 -94
  160. package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
  161. package/lib/module/components/MessageBubble/MessageReply.js +65 -24
  162. package/lib/module/components/MessageBubble/MessageReply.js.map +1 -1
  163. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +6 -1
  164. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  165. package/lib/module/components/Modals/Modal/Modal.js +25 -1
  166. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  167. package/lib/module/components/Modals/Modal/SwipeBackLayer.js +172 -0
  168. package/lib/module/components/Modals/Modal/SwipeBackLayer.js.map +1 -0
  169. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +29 -11
  170. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -1
  171. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +10 -4
  172. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  173. package/lib/module/components/RoomComponents/ChatRoomItem.js +5 -4
  174. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  175. package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
  176. package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
  177. package/lib/module/components/Thread/ThreadWrapper.js +264 -152
  178. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  179. package/lib/module/components/styled/DateLabel.js +6 -3
  180. package/lib/module/components/styled/DateLabel.js.map +1 -1
  181. package/lib/module/context/MessageNotificationContext.js +190 -11
  182. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  183. package/lib/module/context/xmppProvider.js +22 -7
  184. package/lib/module/context/xmppProvider.js.map +1 -1
  185. package/lib/module/helpers/createRoomFromApi.js +36 -2
  186. package/lib/module/helpers/createRoomFromApi.js.map +1 -1
  187. package/lib/module/helpers/emoji.js +44 -0
  188. package/lib/module/helpers/emoji.js.map +1 -0
  189. package/lib/module/helpers/haptics.js +24 -0
  190. package/lib/module/helpers/haptics.js.map +1 -0
  191. package/lib/module/helpers/historyPreloadScheduler.js +32 -66
  192. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  193. package/lib/module/helpers/insertMessageWithDelimiter.js +21 -12
  194. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  195. package/lib/module/helpers/keyboardLayout.js +20 -0
  196. package/lib/module/helpers/keyboardLayout.js.map +1 -1
  197. package/lib/module/helpers/mamReactions.js +51 -0
  198. package/lib/module/helpers/mamReactions.js.map +1 -0
  199. package/lib/module/helpers/parseMessageReference.js +37 -0
  200. package/lib/module/helpers/parseMessageReference.js.map +1 -0
  201. package/lib/module/helpers/reactionsConfig.js +10 -0
  202. package/lib/module/helpers/reactionsConfig.js.map +1 -0
  203. package/lib/module/helpers/updateMessagesTillLast.js +17 -2
  204. package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
  205. package/lib/module/hooks/useHeapSender.js +3 -1
  206. package/lib/module/hooks/useHeapSender.js.map +1 -1
  207. package/lib/module/hooks/useMessageHeapState.js +3 -2
  208. package/lib/module/hooks/useMessageHeapState.js.map +1 -1
  209. package/lib/module/hooks/useRoomInitialization.js +17 -8
  210. package/lib/module/hooks/useRoomInitialization.js.map +1 -1
  211. package/lib/module/hooks/useSendMessage.js +14 -8
  212. package/lib/module/hooks/useSendMessage.js.map +1 -1
  213. package/lib/module/hooks/useUnreadMessagesCounter.js +1 -1
  214. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  215. package/lib/module/networking/stanzaHandlers.js +107 -51
  216. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  217. package/lib/module/networking/xmpp/getHistory.xmpp.js +29 -74
  218. package/lib/module/networking/xmpp/getHistory.xmpp.js.map +1 -1
  219. package/lib/module/networking/xmpp/handleStanzas.xmpp.js +4 -0
  220. package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  221. package/lib/module/networking/xmpp/mamRouter.js +175 -0
  222. package/lib/module/networking/xmpp/mamRouter.js.map +1 -0
  223. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +38 -2
  224. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  225. package/lib/module/networking/xmppClient.js +99 -24
  226. package/lib/module/networking/xmppClient.js.map +1 -1
  227. package/lib/module/roomStore/Middleware/newMessageMidlleware.js +29 -34
  228. package/lib/module/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
  229. package/lib/module/roomStore/Middleware/perfMiddleware.js +45 -0
  230. package/lib/module/roomStore/Middleware/perfMiddleware.js.map +1 -0
  231. package/lib/module/roomStore/Middleware/reactionsMiddleware.js +66 -43
  232. package/lib/module/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
  233. package/lib/module/roomStore/Middleware/unreadMidlleware.js +89 -69
  234. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  235. package/lib/module/roomStore/index.js +19 -15
  236. package/lib/module/roomStore/index.js.map +1 -1
  237. package/lib/module/roomStore/persistBackend.js +89 -0
  238. package/lib/module/roomStore/persistBackend.js.map +1 -0
  239. package/lib/module/roomStore/persistence.js +245 -48
  240. package/lib/module/roomStore/persistence.js.map +1 -1
  241. package/lib/module/roomStore/roomsSlice.js +275 -134
  242. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  243. package/lib/module/theme/theme.js +3 -0
  244. package/lib/module/theme/theme.js.map +1 -1
  245. package/lib/module/utils/devLogger.js +13 -0
  246. package/lib/module/utils/devLogger.js.map +1 -1
  247. package/lib/module/version.js +1 -1
  248. package/lib/typescript/assets/emojiData.d.ts +8 -0
  249. package/lib/typescript/assets/emojiData.d.ts.map +1 -0
  250. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  251. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  252. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  253. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  254. package/lib/typescript/components/MainComponents/KeyboardInputDock.d.ts +16 -0
  255. package/lib/typescript/components/MainComponents/KeyboardInputDock.d.ts.map +1 -0
  256. package/lib/typescript/components/MainComponents/MessageContainer.d.ts +2 -2
  257. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  258. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  259. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  260. package/lib/typescript/components/MainComponents/RoomStack.d.ts +42 -0
  261. package/lib/typescript/components/MainComponents/RoomStack.d.ts.map +1 -0
  262. package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
  263. package/lib/typescript/components/MessageBubble/Avatar.d.ts +2 -0
  264. package/lib/typescript/components/MessageBubble/Avatar.d.ts.map +1 -1
  265. package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
  266. package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts +11 -0
  267. package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts.map +1 -0
  268. package/lib/typescript/components/MessageBubble/Message.d.ts +2 -2
  269. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  270. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +2 -0
  271. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  272. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts +1 -0
  273. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
  274. package/lib/typescript/components/MessageBubble/MessageReply.d.ts +7 -7
  275. package/lib/typescript/components/MessageBubble/MessageReply.d.ts.map +1 -1
  276. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  277. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  278. package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts +16 -0
  279. package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts.map +1 -0
  280. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -1
  281. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  282. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts +2 -2
  283. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  284. package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts +3 -6
  285. package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts.map +1 -1
  286. package/lib/typescript/components/Thread/ThreadWrapper.d.ts +7 -1
  287. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  288. package/lib/typescript/components/styled/DateLabel.d.ts +1 -0
  289. package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
  290. package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
  291. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  292. package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
  293. package/lib/typescript/helpers/emoji.d.ts +6 -0
  294. package/lib/typescript/helpers/emoji.d.ts.map +1 -0
  295. package/lib/typescript/helpers/haptics.d.ts +3 -0
  296. package/lib/typescript/helpers/haptics.d.ts.map +1 -0
  297. package/lib/typescript/helpers/historyPreloadScheduler.d.ts +1 -0
  298. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  299. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  300. package/lib/typescript/helpers/keyboardLayout.d.ts +6 -0
  301. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
  302. package/lib/typescript/helpers/mamReactions.d.ts +13 -0
  303. package/lib/typescript/helpers/mamReactions.d.ts.map +1 -0
  304. package/lib/typescript/helpers/parseMessageReference.d.ts +16 -0
  305. package/lib/typescript/helpers/parseMessageReference.d.ts.map +1 -0
  306. package/lib/typescript/helpers/reactionsConfig.d.ts +5 -0
  307. package/lib/typescript/helpers/reactionsConfig.d.ts.map +1 -0
  308. package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
  309. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  310. package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
  311. package/lib/typescript/hooks/useRoomInitialization.d.ts +2 -2
  312. package/lib/typescript/hooks/useRoomInitialization.d.ts.map +1 -1
  313. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  314. package/lib/typescript/networking/stanzaHandlers.d.ts +4 -2
  315. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  316. package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts +3 -1
  317. package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts.map +1 -1
  318. package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
  319. package/lib/typescript/networking/xmpp/mamRouter.d.ts +23 -0
  320. package/lib/typescript/networking/xmpp/mamRouter.d.ts.map +1 -0
  321. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts +1 -0
  322. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  323. package/lib/typescript/networking/xmppClient.d.ts +22 -1
  324. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  325. package/lib/typescript/roomStore/Middleware/newMessageMidlleware.d.ts.map +1 -1
  326. package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts +4 -0
  327. package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts.map +1 -0
  328. package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts +9 -0
  329. package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts.map +1 -1
  330. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  331. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  332. package/lib/typescript/roomStore/persistBackend.d.ts +11 -0
  333. package/lib/typescript/roomStore/persistBackend.d.ts.map +1 -0
  334. package/lib/typescript/roomStore/persistence.d.ts +5 -6
  335. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  336. package/lib/typescript/roomStore/roomsSlice.d.ts +41 -1
  337. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  338. package/lib/typescript/theme/theme.d.ts +4 -1
  339. package/lib/typescript/theme/theme.d.ts.map +1 -1
  340. package/lib/typescript/types/models/message.model.d.ts +4 -0
  341. package/lib/typescript/types/models/message.model.d.ts.map +1 -1
  342. package/lib/typescript/types/models/room.model.d.ts +16 -0
  343. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  344. package/lib/typescript/types/models/xmpp.model.d.ts +6 -1
  345. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  346. package/lib/typescript/types/types.d.ts +15 -3
  347. package/lib/typescript/types/types.d.ts.map +1 -1
  348. package/lib/typescript/utils/devLogger.d.ts +8 -0
  349. package/lib/typescript/utils/devLogger.d.ts.map +1 -1
  350. package/lib/typescript/version.d.ts +1 -1
  351. package/package.json +10 -1
  352. package/src/assets/emojiData.ts +2146 -0
  353. package/src/assets/icons.tsx +5 -5
  354. package/src/components/Header/HeaderRoomList.tsx +7 -5
  355. package/src/components/MainComponents/ChatHeader.tsx +16 -7
  356. package/src/components/MainComponents/ChatRoom.tsx +64 -32
  357. package/src/components/MainComponents/ChatWrapper.tsx +73 -21
  358. package/src/components/MainComponents/KeyboardInputDock.tsx +47 -0
  359. package/src/components/MainComponents/MessageContainer.tsx +7 -15
  360. package/src/components/MainComponents/MessageList.tsx +96 -43
  361. package/src/components/MainComponents/RoomList.tsx +28 -29
  362. package/src/components/MainComponents/RoomStack.tsx +309 -0
  363. package/src/components/MainComponents/SystemMessage.tsx +6 -2
  364. package/src/components/MessageBubble/Avatar.tsx +7 -1
  365. package/src/components/MessageBubble/BottomReplyContainer.tsx +19 -21
  366. package/src/components/MessageBubble/EmojiPickerSheet.tsx +468 -0
  367. package/src/components/MessageBubble/Message.tsx +146 -87
  368. package/src/components/MessageBubble/MessageInteractions.tsx +213 -12
  369. package/src/components/MessageBubble/MessageReaction.tsx +120 -96
  370. package/src/components/MessageBubble/MessageReply.tsx +65 -32
  371. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +4 -0
  372. package/src/components/Modals/Modal/Modal.tsx +32 -1
  373. package/src/components/Modals/Modal/SwipeBackLayer.tsx +221 -0
  374. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +29 -8
  375. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +6 -3
  376. package/src/components/RoomComponents/ChatRoomItem.tsx +11 -4
  377. package/src/components/RoomComponents/styled/LastMessageEmoji.tsx +7 -8
  378. package/src/components/Thread/ThreadWrapper.tsx +274 -198
  379. package/src/components/styled/DateLabel.tsx +7 -3
  380. package/src/context/MessageNotificationContext.tsx +205 -7
  381. package/src/context/xmppProvider.tsx +29 -9
  382. package/src/helpers/createRoomFromApi.tsx +37 -1
  383. package/src/helpers/emoji.ts +39 -0
  384. package/src/helpers/haptics.ts +19 -0
  385. package/src/helpers/historyPreloadScheduler.ts +37 -69
  386. package/src/helpers/insertMessageWithDelimiter.ts +23 -16
  387. package/src/helpers/keyboardLayout.ts +26 -0
  388. package/src/helpers/mamReactions.ts +59 -0
  389. package/src/helpers/parseMessageReference.ts +38 -0
  390. package/src/helpers/reactionsConfig.ts +13 -0
  391. package/src/helpers/updateMessagesTillLast.tsx +14 -2
  392. package/src/hooks/useHeapSender.tsx +3 -2
  393. package/src/hooks/useMessageHeapState.tsx +6 -2
  394. package/src/hooks/useRoomInitialization.tsx +32 -15
  395. package/src/hooks/useSendMessage.tsx +18 -11
  396. package/src/hooks/useUnreadMessagesCounter.ts +1 -1
  397. package/src/networking/stanzaHandlers.ts +116 -60
  398. package/src/networking/xmpp/getHistory.xmpp.ts +44 -106
  399. package/src/networking/xmpp/handleStanzas.xmpp.ts +2 -0
  400. package/src/networking/xmpp/mamRouter.ts +176 -0
  401. package/src/networking/xmpp/presenceInRoom.xmpp.ts +46 -3
  402. package/src/networking/xmppClient.ts +105 -20
  403. package/src/roomStore/Middleware/newMessageMidlleware.tsx +35 -38
  404. package/src/roomStore/Middleware/perfMiddleware.ts +50 -0
  405. package/src/roomStore/Middleware/reactionsMiddleware.tsx +53 -52
  406. package/src/roomStore/Middleware/unreadMidlleware.tsx +92 -80
  407. package/src/roomStore/index.ts +28 -27
  408. package/src/roomStore/persistBackend.ts +96 -0
  409. package/src/roomStore/persistence.ts +280 -73
  410. package/src/roomStore/roomsSlice.ts +304 -155
  411. package/src/theme/theme.ts +10 -1
  412. package/src/types/models/message.model.ts +4 -0
  413. package/src/types/models/room.model.ts +17 -0
  414. package/src/types/models/xmpp.model.ts +4 -2
  415. package/src/types/types.ts +15 -3
  416. package/src/utils/devLogger.ts +16 -0
  417. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_roomStore","require","_roomsSlice","_createMessageFromXml","_getDataFromXml","_chatSettingsSlice","_messageNotificationManager","_callLogMessage","_strings","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","console","log","toString","senderJID","from","parsed","getDataFromXml","pData","pId","pBody","pRest","mergedData","rawMessage","createMessageFromXml","isDeleted","message","transformCallLogMessage","store","getState","chatSettingStore","user","xmppUsername","roomJID","split","dispatch","addRoomMessage","state","currentUserWallet","walletAddress","toLowerCase","senderJIDLower","String","includes","room","rooms","roomName","title","name","locale","config","i18n","langSource","overrides","strings","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","translateKey","messageNotificationManager","showNotification","err","warn","exports","onDeleteMessage","stanzaId","deleteRoomMessage","by","messageId","setDeleteModal","isDeleteModal","onEditMessage","replace","editRoomMessage","text","onMessageHistory","children","xmlns","delay","forwardedMessage","innerFrom","mergedAttrs","xmppId","positionalMessage","parsedFull","catch","undefined","translations","handleComposing","currentUser","composingUser","norm","s","senderLocal","selfUser","selfXmppUsername","selfWallet","isSelf","chatJID","composingList","push","fullName","pop","setComposing","composing","onPresenceInRoom","startsWith","role","setRoomRole","onChatInvite","client","type","chatId","xEls","getChildren","el","child","chat","presenceInRoomStanza","getRoomsStanza","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","setCurrentRoom","onGetChatRooms","Array","isArray","forEach","result","currentChatRooms","isRoomAlreadyAdded","Object","values","some","element","jid","roomData","usersCnt","Number","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","addRoom","activeRoomJID","error","e","onMessageError","_stanza","onReactionMessage","onReactionHistory","onRoomKicked"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_roomStore","require","_mamRouter","_mamReactions","_roomsSlice","_createMessageFromXml","_getDataFromXml","_chatSettingsSlice","_messageNotificationManager","_callLogMessage","_strings","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","senderJID","from","parsed","getDataFromXml","pData","pId","pBody","pRest","mergedData","rawMessage","createMessageFromXml","isDeleted","message","transformCallLogMessage","store","getState","chatSettingStore","user","xmppUsername","roomJID","split","dispatch","addRoomMessage","state","currentUserWallet","walletAddress","toLowerCase","senderJIDLower","String","includes","room","rooms","roomName","title","name","locale","config","i18n","langSource","overrides","strings","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","translateKey","messageNotificationManager","showNotification","err","console","warn","exports","onDeleteMessage","stanzaId","deleteRoomMessage","by","messageId","setDeleteModal","isDeleteModal","onEditMessage","replace","editRoomMessage","text","isMamResult","children","xmlns","parseMamResult","forwardedMsg","reaction","extractReaction","collectMamReaction","setReactions","reactions","emoji","latestReactionTimestamp","ts","undefined","delay","forwardedMessage","innerFrom","mergedAttrs","xmppId","positionalMessage","parsedFull","catch","translations","onMessageHistory","claimed","claimMamResult","collectMamMessage","handleComposing","currentUser","composingUser","norm","s","senderLocal","selfUser","selfXmppUsername","selfWallet","isSelf","chatJID","composingList","push","fullName","pop","setComposing","composing","onPresenceInRoom","startsWith","role","setRoomRole","onChatInvite","client","type","chatId","xEls","getChildren","el","child","chat","presenceInRoomStanza","getRoomsStanza","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","setCurrentRoom","onGetChatRooms","Array","isArray","known","fresh","jids","result","jid","usersCnt","Number","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","length","addRooms","activeRoomJID","e","onMessageError","_stanza","onReactionMessage","onReactionHistory","onRoomKicked"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getHistory = void 0;
7
7
  var _client = require("@xmpp/client");
8
8
  var _createTimeoutPromise = require("./createTimeoutPromise.xmpp");
9
- var _getDataFromXml = require("../../helpers/getDataFromXml");
10
- var _createMessageFromXml = require("../../helpers/createMessageFromXml");
11
- const getHistory = async (client, chatJID, max, before, otherId) => {
9
+ var _mamRouter = require("./mamRouter");
10
+ let historyIdCounter = 0;
11
+ const getHistory = async (client, chatJID, max, before, otherId, options) => {
12
12
  if (typeof chatJID !== 'string') {
13
13
  return;
14
14
  }
@@ -20,81 +20,36 @@ const getHistory = async (client, chatJID, max, before, otherId) => {
20
20
  const host = service.match(/wss?:\/\/([^:/]+)/)?.[1] || 'xmpp.chat.ethora.com';
21
21
  return `${chatJID}@conference.${host}`;
22
22
  })();
23
- const id = otherId ?? `get-history:${Date.now().toString()}`;
24
- let stanzaHdlrPointer;
25
- const unsubscribe = () => {
26
- client.off('stanza', stanzaHdlrPointer);
27
- };
28
- const responsePromise = new Promise((resolve, reject) => {
29
- let messages = [];
30
- stanzaHdlrPointer = async stanza => {
31
- const result = stanza.getChild('result');
32
- if (stanza.is('message') && stanza.attrs.from && stanza.attrs.from.startsWith(fixedChatJid) && result) {
33
- const messageEl = result.getChild('forwarded')?.getChild('message');
34
- messages.push(messageEl);
35
- }
36
- if (stanza.is('iq') && stanza.attrs.id === id && stanza.attrs.type === 'result') {
37
- let mainMessages = [];
38
- for (const msg of messages) {
39
- const reactions = msg?.getChild('reactions');
40
- const text = msg.getChild('body')?.getText();
41
- if (text || reactions) {
42
- const result = await (0, _getDataFromXml.getDataFromXml)(msg);
43
- if (!result) {
44
- return;
45
- }
46
- const {
47
- data,
48
- id,
49
- body,
50
- ...rest
51
- } = result;
52
- if (!data) {
53
- console.log('No data in stanza');
54
- return;
55
- }
56
- const message = await (0, _createMessageFromXml.createMessageFromXml)({
57
- data,
58
- id,
59
- body: body || '',
60
- ...rest
61
- });
62
- mainMessages.push(message);
63
- }
64
- }
65
- resolve(mainMessages);
66
- }
67
- if (stanza.is('iq') && stanza.attrs.id === id && stanza.attrs.type === 'error') {
68
- reject();
69
- }
70
- };
71
- client?.on('stanza', stanzaHdlrPointer);
72
- const message = (0, _client.xml)('iq', {
73
- type: 'set',
74
- to: fixedChatJid,
75
- id: id
76
- }, (0, _client.xml)('query', {
77
- xmlns: 'urn:xmpp:mam:2'
78
- }, (0, _client.xml)('set', {
79
- xmlns: 'http://jabber.org/protocol/rsm'
80
- }, (0, _client.xml)('max', {}, max.toString()), before ? (0, _client.xml)('before', {}, before.toString()) : (0, _client.xml)('before'))));
81
- client?.send(message).catch(err => console.log('err on load', err));
82
- });
23
+ const id = otherId ?? `get-history:${Date.now().toString(36)}-${(++historyIdCounter).toString(36)}`;
24
+ const page = (0, _mamRouter.beginMamQuery)(id, fixedChatJid, !options?.selfApplied);
25
+ const message = (0, _client.xml)('iq', {
26
+ type: 'set',
27
+ to: fixedChatJid,
28
+ id: id
29
+ }, (0, _client.xml)('query', {
30
+ xmlns: 'urn:xmpp:mam:2',
31
+ queryid: id
32
+ }, (0, _client.xml)('set', {
33
+ xmlns: 'http://jabber.org/protocol/rsm'
34
+ }, (0, _client.xml)('max', {}, max.toString()), before ? (0, _client.xml)('before', {}, before.toString()) : (0, _client.xml)('before'))));
35
+ client?.send(message).catch(err => console.log('err on load', err));
83
36
  const timeoutPromise = (0, _createTimeoutPromise.createTimeoutPromise)(10000);
84
37
  try {
85
- // @ts-ignore
86
- const res = await Promise.race([responsePromise, timeoutPromise]);
87
- return res === null ? [] : res;
38
+ const res = await Promise.race([page, timeoutPromise]);
39
+ if (res === null) {
40
+ const partial = (0, _mamRouter.cancelMamQuery)(id);
41
+ if (typeof __DEV__ !== 'undefined' && __DEV__) {
42
+ console.log(`[mam] history request for ${fixedChatJid} timed out after 10s (${partial.length} results arrived)`);
43
+ }
44
+ return partial;
45
+ }
46
+ return res;
88
47
  } catch (e) {
89
- // MAM rejects with no value when an iq error returns; the timeout
90
- // path resolves with null instead of throwing. Either is expected
91
- // for a room with no history yet — only log if `e` is meaningful.
92
- if (e !== undefined) {
93
- console.log('=-> error in', fixedChatJid, e);
48
+ const partial = (0, _mamRouter.cancelMamQuery)(id);
49
+ if (typeof __DEV__ !== 'undefined' && __DEV__ && e === undefined) {
50
+ console.log(`[mam] history request for ${fixedChatJid} got no closing iq within 10s (${partial.length} results arrived)`);
94
51
  }
95
- return [];
96
- } finally {
97
- unsubscribe();
52
+ return partial;
98
53
  }
99
54
  };
100
55
  exports.getHistory = getHistory;
@@ -1 +1 @@
1
- {"version":3,"names":["_client","require","_createTimeoutPromise","_getDataFromXml","_createMessageFromXml","getHistory","client","chatJID","max","before","otherId","fixedChatJid","includes","service","options","host","match","id","Date","now","toString","stanzaHdlrPointer","unsubscribe","off","responsePromise","Promise","resolve","reject","messages","stanza","result","getChild","is","attrs","from","startsWith","messageEl","push","type","mainMessages","msg","reactions","text","getText","getDataFromXml","data","body","rest","console","log","message","createMessageFromXml","on","xml","to","xmlns","send","catch","err","timeoutPromise","createTimeoutPromise","res","race","e","undefined","exports"],"sourceRoot":"../../../../src","sources":["networking/xmpp/getHistory.xmpp.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_client","require","_createTimeoutPromise","_mamRouter","historyIdCounter","getHistory","client","chatJID","max","before","otherId","options","fixedChatJid","includes","service","host","match","id","Date","now","toString","page","beginMamQuery","selfApplied","message","xml","type","to","xmlns","queryid","send","catch","err","console","log","timeoutPromise","createTimeoutPromise","res","Promise","race","partial","cancelMamQuery","__DEV__","length","e","undefined","exports"],"sourceRoot":"../../../../src","sources":["networking/xmpp/getHistory.xmpp.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.handleStanza = handleStanza;
7
+ var _mamRouter = require("./mamRouter");
7
8
  var _stanzaHandlers = require("../stanzaHandlers");
8
9
  var _callTokenStanza = require("../callTokenStanza");
9
10
  /**
@@ -63,6 +64,9 @@ function handleStanza(stanza, xmppWs) {
63
64
  (0, _stanzaHandlers.onPresenceInRoom)(stanza);
64
65
  break;
65
66
  case 'iq':
67
+ if ((0, _mamRouter.routeMamIq)(stanza)) {
68
+ break;
69
+ }
66
70
  (0, _stanzaHandlers.onGetChatRooms)(stanza, xmppWs);
67
71
  (0, _stanzaHandlers.onRealtimeMessage)(stanza);
68
72
  (0, _stanzaHandlers.onPresenceInRoom)(stanza);
@@ -1 +1 @@
1
- {"version":3,"names":["_stanzaHandlers","require","_callTokenStanza","unwrapMucsubMessage","stanza","inner","getChild","handleStanza","xmppWs","attrs","type","name","onCallTokenMessage","unwrapped","onMessageError","onReactionMessage","onReactionHistory","onDeleteMessage","onEditMessage","onChatInvite","onRealtimeMessage","onMessageHistory","handleComposing","username","onPresenceInRoom","onRoomKicked","onGetChatRooms","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","onNewRoomCreated","console","log"],"sourceRoot":"../../../../src","sources":["networking/xmpp/handleStanzas.xmpp.ts"],"mappings":";;;;;;AACA,IAAAA,eAAA,GAAAC,OAAA;AAmBA,IAAAC,gBAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,mBAAmB,GAAIC,MAAe,IAAc;EACxD,MAAMC,KAAK,GAAID,MAAM,EACjBE,QAAQ,GAAG,OAAO,EAAE,yCAAyC,CAAC,EAC9DA,QAAQ,GAAG,OAAO,CAAC,EACnBA,QAAQ,GAAG,MAAM,CAAC,EAClBA,QAAQ,GAAG,SAAS,CAAC;EACzB,OAAQD,KAAK,IAAgBD,MAAM;AACrC,CAAC;AAEM,SAASG,YAAYA,CAACH,MAAe,EAAEI,MAAkB,EAAE;EAChE,IAAIJ,MAAM,EAAEK,KAAK,EAAEC,IAAI,KAAK,UAAU,EAAE;IAAC;EAAO;;EAEhD;EACA;EACA;EACA;EACA;EACA,IAAIN,MAAM,EAAEO,IAAI,KAAK,SAAS,IAAI,IAAAC,mCAAkB,EAACR,MAAM,CAAC,EAAE;IAC5D;EACF;EAEA,QAAQA,MAAM,CAACO,IAAI;IACjB,KAAK,SAAS;MAAE;QACd,MAAME,SAAS,GAAGV,mBAAmB,CAACC,MAAM,CAAC;QAC7C,IAAAU,8BAAc,EAACD,SAAS,EAAEL,MAAM,CAAC;QACjC,IAAAO,iCAAiB,EAACF,SAAS,CAAC;QAC5B,IAAAG,iCAAiB,EAACH,SAAS,CAAC;QAC5B,IAAAI,+BAAe,EAACJ,SAAS,CAAC;QAC1B,IAAAK,6BAAa,EAACL,SAAS,CAAC;QACxB,IAAAM,4BAAY,EAACN,SAAS,EAAEL,MAAM,CAAC;QAC/B,IAAAY,iCAAiB,EAACP,SAAS,CAAC;QAC5B,IAAAQ,gCAAgB,EAACR,SAAS,CAAC;QAC3B,IAAAS,+BAAe,EAACT,SAAS,EAAEL,MAAM,CAACe,QAAQ,CAAC;QAC3C,IAAAC,gCAAgB,EAACX,SAAS,CAAC;QAC3B;MACF;IACA,KAAK,UAAU;MACb,IAAAY,4BAAY,EAACrB,MAAM,CAAC;MACpB,IAAAoB,gCAAgB,EAACpB,MAAM,CAAC;MACxB;IACF,KAAK,IAAI;MACP,IAAAsB,8BAAc,EAACtB,MAAM,EAAEI,MAAM,CAAC;MAC9B,IAAAY,iCAAiB,EAAChB,MAAM,CAAC;MACzB,IAAAoB,gCAAgB,EAACpB,MAAM,CAAC;MACxB,IAAAuB,4BAAY,EAACvB,MAAM,CAAC;MACpB,IAAAwB,6BAAa,EAACxB,MAAM,CAAC;MACrB,IAAAyB,uCAAuB,EAACzB,MAAM,EAAEI,MAAM,CAAC;MACvC;IACF,KAAK,aAAa;MAChB,IAAAsB,gCAAgB,EAAC1B,MAAM,EAAEI,MAAM,CAAC;MAChC;IACF;MACEuB,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAE5B,MAAM,CAACO,IAAI,CAAC;EACtD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_mamRouter","require","_stanzaHandlers","_callTokenStanza","unwrapMucsubMessage","stanza","inner","getChild","handleStanza","xmppWs","attrs","type","name","onCallTokenMessage","unwrapped","onMessageError","onReactionMessage","onReactionHistory","onDeleteMessage","onEditMessage","onChatInvite","onRealtimeMessage","onMessageHistory","handleComposing","username","onPresenceInRoom","onRoomKicked","routeMamIq","onGetChatRooms","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","onNewRoomCreated","console","log"],"sourceRoot":"../../../../src","sources":["networking/xmpp/handleStanzas.xmpp.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAmBA,IAAAE,gBAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,mBAAmB,GAAIC,MAAe,IAAc;EACxD,MAAMC,KAAK,GAAID,MAAM,EACjBE,QAAQ,GAAG,OAAO,EAAE,yCAAyC,CAAC,EAC9DA,QAAQ,GAAG,OAAO,CAAC,EACnBA,QAAQ,GAAG,MAAM,CAAC,EAClBA,QAAQ,GAAG,SAAS,CAAC;EACzB,OAAQD,KAAK,IAAgBD,MAAM;AACrC,CAAC;AAEM,SAASG,YAAYA,CAACH,MAAe,EAAEI,MAAkB,EAAE;EAChE,IAAIJ,MAAM,EAAEK,KAAK,EAAEC,IAAI,KAAK,UAAU,EAAE;IAAC;EAAO;;EAEhD;EACA;EACA;EACA;EACA;EACA,IAAIN,MAAM,EAAEO,IAAI,KAAK,SAAS,IAAI,IAAAC,mCAAkB,EAACR,MAAM,CAAC,EAAE;IAC5D;EACF;EAEA,QAAQA,MAAM,CAACO,IAAI;IACjB,KAAK,SAAS;MAAE;QACd,MAAME,SAAS,GAAGV,mBAAmB,CAACC,MAAM,CAAC;QAC7C,IAAAU,8BAAc,EAACD,SAAS,EAAEL,MAAM,CAAC;QACjC,IAAAO,iCAAiB,EAACF,SAAS,CAAC;QAC5B,IAAAG,iCAAiB,EAACH,SAAS,CAAC;QAC5B,IAAAI,+BAAe,EAACJ,SAAS,CAAC;QAC1B,IAAAK,6BAAa,EAACL,SAAS,CAAC;QACxB,IAAAM,4BAAY,EAACN,SAAS,EAAEL,MAAM,CAAC;QAC/B,IAAAY,iCAAiB,EAACP,SAAS,CAAC;QAC5B,IAAAQ,gCAAgB,EAACR,SAAS,CAAC;QAC3B,IAAAS,+BAAe,EAACT,SAAS,EAAEL,MAAM,CAACe,QAAQ,CAAC;QAC3C,IAAAC,gCAAgB,EAACX,SAAS,CAAC;QAC3B;MACF;IACA,KAAK,UAAU;MACb,IAAAY,4BAAY,EAACrB,MAAM,CAAC;MACpB,IAAAoB,gCAAgB,EAACpB,MAAM,CAAC;MACxB;IACF,KAAK,IAAI;MACP,IAAI,IAAAsB,qBAAU,EAACtB,MAAM,CAAC,EAAE;QAAC;MAAM;MAC/B,IAAAuB,8BAAc,EAACvB,MAAM,EAAEI,MAAM,CAAC;MAC9B,IAAAY,iCAAiB,EAAChB,MAAM,CAAC;MACzB,IAAAoB,gCAAgB,EAACpB,MAAM,CAAC;MACxB,IAAAwB,4BAAY,EAACxB,MAAM,CAAC;MACpB,IAAAyB,6BAAa,EAACzB,MAAM,CAAC;MACrB,IAAA0B,uCAAuB,EAAC1B,MAAM,EAAEI,MAAM,CAAC;MACvC;IACF,KAAK,aAAa;MAChB,IAAAuB,gCAAgB,EAAC3B,MAAM,EAAEI,MAAM,CAAC;MAChC;IACF;MACEwB,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAE7B,MAAM,CAACO,IAAI,CAAC;EACtD;AACF","ignoreList":[]}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.routeMamIq = exports.collectMamReaction = exports.collectMamMessage = exports.claimMamResult = exports.cancelMamQuery = exports.beginMamQuery = exports.__resetMamRouter = void 0;
7
+ var _roomStore = require("../../roomStore");
8
+ var _roomsSlice = require("../../roomStore/roomsSlice");
9
+ var _mamReactions = require("../../helpers/mamReactions");
10
+ const pending = new Map();
11
+ const flush = query => {
12
+ // Every step is guarded: a failure in one (a middleware throwing on a
13
+ // reaction, say) used to escape `settle` before the waiting request was
14
+ // resolved — the page was lost and the room stayed empty until opened.
15
+ let deferred = [];
16
+ try {
17
+ // Reactions ride in the archive as their own entries: fold them onto
18
+ // the page's messages first, so they are stored together.
19
+ deferred = (0, _mamReactions.applyMamReactions)(query.messages, query.reactions);
20
+ } catch (e) {
21
+ console.warn('[mam] applying reactions to a page failed', e);
22
+ }
23
+ if (query.apply && query.messages.length > 0) {
24
+ try {
25
+ _roomStore.store.dispatch((0, _roomsSlice.addRoomMessages)({
26
+ roomJID: query.roomJID,
27
+ messages: query.messages
28
+ }));
29
+ } catch (e) {
30
+ console.warn('[mam] applying a history page failed', e);
31
+ }
32
+ }
33
+ for (const reaction of deferred) {
34
+ try {
35
+ _roomStore.store.dispatch((0, _roomsSlice.setReactions)({
36
+ roomJID: reaction.roomJID || query.roomJID,
37
+ messageId: reaction.messageId,
38
+ from: reaction.from,
39
+ reactions: reaction.emoji,
40
+ data: reaction.data,
41
+ latestReactionTimestamp: reaction.ts
42
+ }));
43
+ } catch (e) {
44
+ console.warn('[mam] applying a reaction failed', e);
45
+ }
46
+ }
47
+ };
48
+ const beginMamQuery = (queryId, roomJID, apply = true) => new Promise((resolve, reject) => {
49
+ pending.set(queryId, {
50
+ roomJID,
51
+ apply,
52
+ messages: [],
53
+ reactions: [],
54
+ inflight: 0,
55
+ closed: null,
56
+ resolve,
57
+ reject
58
+ });
59
+ });
60
+
61
+ /**
62
+ * Give up waiting (timeout). Whatever arrived is still applied — a late
63
+ * page is better than a lost one — and handed back.
64
+ */
65
+ exports.beginMamQuery = beginMamQuery;
66
+ const cancelMamQuery = queryId => {
67
+ const query = pending.get(queryId);
68
+ if (!query) {
69
+ return [];
70
+ }
71
+ pending.delete(queryId);
72
+ flush(query);
73
+ query.resolve(query.messages);
74
+ return query.messages;
75
+ };
76
+ exports.cancelMamQuery = cancelMamQuery;
77
+ const bareLower = jid => String(jid || '').split('/')[0].toLowerCase();
78
+
79
+ // By the echoed `queryid` when the server provides one; otherwise by the
80
+ // room the result came from — the oldest still-open query for that room.
81
+ // (Results are per room anyway: a query only ever asks one archive.)
82
+ const queryOf = stanza => {
83
+ const queryId = stanza?.getChild?.('result')?.attrs?.queryid;
84
+ const byId = queryId ? pending.get(queryId) : undefined;
85
+ if (byId) {
86
+ return byId;
87
+ }
88
+ const room = bareLower(stanza?.attrs?.from);
89
+ if (!room) {
90
+ return undefined;
91
+ }
92
+ for (const query of pending.values()) {
93
+ if (!query.closed && bareLower(query.roomJID) === room) {
94
+ return query;
95
+ }
96
+ }
97
+ return undefined;
98
+ };
99
+ const settle = (queryId, query) => {
100
+ if (pending.get(queryId) === query) {
101
+ pending.delete(queryId);
102
+ }
103
+ try {
104
+ flush(query);
105
+ } finally {
106
+ // The waiting request is always answered, whatever happened above.
107
+ if (query.closed?.error) {
108
+ query.reject(new Error('mam query error'));
109
+ } else {
110
+ query.resolve(query.messages);
111
+ }
112
+ }
113
+ };
114
+ const settleIfDone = query => {
115
+ if (!query.closed || query.inflight > 0) {
116
+ return;
117
+ }
118
+ const entry = [...pending.entries()].find(([, q]) => q === query);
119
+ settle(entry ? entry[0] : '', query);
120
+ };
121
+
122
+ /**
123
+ * Claim a result for its pending query — synchronously, the moment the
124
+ * stanza arrives — so the router knows a parse is outstanding. Returns
125
+ * true when a pending query owns it (the caller must then always follow
126
+ * up with `collectMamMessage`, even when the parse yields nothing).
127
+ */
128
+ const claimMamResult = stanza => {
129
+ const query = queryOf(stanza);
130
+ if (!query) {
131
+ return false;
132
+ }
133
+ query.inflight += 1;
134
+ return true;
135
+ };
136
+
137
+ /** The parsed result of a claimed stanza (undefined: dropped). */
138
+ exports.claimMamResult = claimMamResult;
139
+ const collectMamReaction = (stanza, reaction) => {
140
+ const query = queryOf(stanza);
141
+ if (!query) {
142
+ return false;
143
+ }
144
+ query.reactions.push(reaction);
145
+ return true;
146
+ };
147
+ exports.collectMamReaction = collectMamReaction;
148
+ const collectMamMessage = (stanza, message) => {
149
+ const query = queryOf(stanza);
150
+ if (!query) {
151
+ return false;
152
+ }
153
+ if (message) {
154
+ query.messages.push(message);
155
+ }
156
+ query.inflight = Math.max(0, query.inflight - 1);
157
+ settleIfDone(query);
158
+ return true;
159
+ };
160
+
161
+ /** The query's closing iq; true when it belonged to a pending query. */
162
+ exports.collectMamMessage = collectMamMessage;
163
+ const routeMamIq = stanza => {
164
+ if (!stanza?.is?.('iq')) {
165
+ return false;
166
+ }
167
+ const query = pending.get(stanza.attrs?.id);
168
+ if (!query) {
169
+ return false;
170
+ }
171
+ query.closed = {
172
+ error: stanza.attrs.type === 'error'
173
+ };
174
+ // Results that are still being parsed settle the page when they land;
175
+ // until then the query stays registered so they can find it.
176
+ if (query.inflight === 0) {
177
+ settle(stanza.attrs.id, query);
178
+ }
179
+ return true;
180
+ };
181
+
182
+ /** Test hook. */
183
+ exports.routeMamIq = routeMamIq;
184
+ const __resetMamRouter = () => pending.clear();
185
+ exports.__resetMamRouter = __resetMamRouter;
186
+ //# sourceMappingURL=mamRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_roomStore","require","_roomsSlice","_mamReactions","pending","Map","flush","query","deferred","applyMamReactions","messages","reactions","e","console","warn","apply","length","store","dispatch","addRoomMessages","roomJID","reaction","setReactions","messageId","from","emoji","data","latestReactionTimestamp","ts","beginMamQuery","queryId","Promise","resolve","reject","set","inflight","closed","exports","cancelMamQuery","get","delete","bareLower","jid","String","split","toLowerCase","queryOf","stanza","getChild","attrs","queryid","byId","undefined","room","values","settle","error","Error","settleIfDone","entry","entries","find","q","claimMamResult","collectMamReaction","push","collectMamMessage","message","Math","max","routeMamIq","is","id","type","__resetMamRouter","clear"],"sourceRoot":"../../../../src","sources":["networking/xmpp/mamRouter.ts"],"mappings":"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","ignoreList":[]}
@@ -3,12 +3,43 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.presenceInRoom = void 0;
6
+ exports.presenceInRoom = exports.__forgetJoinedRooms = void 0;
7
7
  var _client = require("@xmpp/client");
8
8
  var _createTimeoutPromise = require("./createTimeoutPromise.xmpp");
9
9
  let presenceIdCounter = 0;
10
10
  const nextPresenceId = () => `presenceInRoom-${Date.now().toString(36)}-${(++presenceIdCounter).toString(36)}`;
11
- const presenceInRoom = async (client, roomJID, delay = 2000) => {
11
+ const joinedByClient = new WeakMap();
12
+ const joinedRooms = client => {
13
+ let map = joinedByClient.get(client);
14
+ if (!map) {
15
+ map = new Map();
16
+ joinedByClient.set(client, map);
17
+ const forget = () => joinedByClient.get(client)?.clear();
18
+ client.on('disconnect', forget);
19
+ client.on('offline', forget);
20
+ }
21
+ return map;
22
+ };
23
+ const __forgetJoinedRooms = client => joinedByClient.get(client)?.clear();
24
+ exports.__forgetJoinedRooms = __forgetJoinedRooms;
25
+ const presenceInRoom = (client, roomJID, delay = 0) => {
26
+ const joined = joinedRooms(client);
27
+ const existing = joined.get(roomJID);
28
+ if (existing) {
29
+ return existing;
30
+ }
31
+ const join = joinRoom(client, roomJID, delay);
32
+ joined.set(roomJID, join);
33
+ // A failed join is not a join: let the next caller try again.
34
+ join.catch(() => {
35
+ if (joined.get(roomJID) === join) {
36
+ joined.delete(roomJID);
37
+ }
38
+ });
39
+ return join;
40
+ };
41
+ exports.presenceInRoom = presenceInRoom;
42
+ const joinRoom = async (client, roomJID, delay) => {
12
43
  let stanzaHandler;
13
44
  const unsubscribe = () => client.off('stanza', stanzaHandler);
14
45
  const stanzaId = nextPresenceId();
@@ -25,6 +56,11 @@ const presenceInRoom = async (client, roomJID, delay = 2000) => {
25
56
  return;
26
57
  }
27
58
  settled = true;
59
+ if (delay <= 0) {
60
+ unsubscribe();
61
+ cb(value);
62
+ return;
63
+ }
28
64
  setTimeout(() => {
29
65
  unsubscribe();
30
66
  cb(value);
@@ -42,7 +78,9 @@ const presenceInRoom = async (client, roomJID, delay = 2000) => {
42
78
  id: stanzaId
43
79
  }, (0, _client.xml)('x', {
44
80
  xmlns: 'http://jabber.org/protocol/muc'
45
- }));
81
+ }, (0, _client.xml)('history', {
82
+ maxstanzas: '0'
83
+ })));
46
84
 
47
85
  // Side-effects sequence: send the presence (handles its own
48
86
  // failure → reject), then wait the timeout (also handles its own
@@ -71,5 +109,4 @@ const presenceInRoom = async (client, roomJID, delay = 2000) => {
71
109
  })();
72
110
  });
73
111
  };
74
- exports.presenceInRoom = presenceInRoom;
75
112
  //# sourceMappingURL=presenceInRoom.xmpp.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_client","require","_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","xml","jid","to","getLocal","xmlns","send","err","createTimeoutPromise","exports"],"sourceRoot":"../../../../src","sources":["networking/xmpp/presenceInRoom.xmpp.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAGA,IAAIE,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;AAE5E,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,GAAG,IAAAC,WAAG,EAClB,UAAU,EACV;MACEJ,IAAI,EAAEnB,MAAM,CAACwB,GAAG,EAAE1B,QAAQ,CAAC,CAAC;MAC5B2B,EAAE,EAAE,GAAGxB,OAAO,IAAID,MAAM,CAACwB,GAAG,EAAEE,QAAQ,CAAC,CAAC,EAAE;MAC1CR,EAAE,EAAEZ;IACN,CAAC,EACD,IAAAiB,WAAG,EAAC,GAAG,EAAE;MAAEI,KAAK,EAAE;IAAiC,CAAC,CACtD,CAAC;;IAED;IACA;IACA;IACA;IACA,CAAC,YAAY;MACX,IAAI;QACF,MAAM3B,MAAM,CAAC4B,IAAI,CAACN,QAAQ,CAAC;MAC7B,CAAC,CAAC,OAAOO,GAAG,EAAE;QACZzB,WAAW,CAAC,CAAC;QACbK,MAAM,CAACoB,GAAG,CAAC;QACX;MACF;MACA,IAAI;QACF,MAAM,IAAAC,0CAAoB,EAAC,IAAI,EAAE1B,WAAW,CAAC;MAC/C,CAAC,CAAC,OAAOyB,GAAG,EAAE;QACZ;QACA;QACA;QACA;QACA;QACA,IAAI,CAACnB,OAAO,EAAE;UAACD,MAAM,CAACoB,GAAG,CAAC;QAAC;MAC7B;IACF,CAAC,EAAE,CAAC;EACN,CAAC,CAAC;AACJ,CAAC;AAACE,OAAA,CAAAhC,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"names":["_client","require","_createTimeoutPromise","presenceIdCounter","nextPresenceId","Date","now","toString","joinedByClient","WeakMap","joinedRooms","client","map","get","Map","set","forget","clear","on","__forgetJoinedRooms","exports","presenceInRoom","roomJID","delay","joined","existing","join","joinRoom","catch","delete","stanzaHandler","unsubscribe","off","stanzaId","Promise","resolve","reject","settled","finish","cb","value","setTimeout","stanza","is","attrs","id","from","startsWith","presence","xml","jid","to","getLocal","xmlns","maxstanzas","send","err","createTimeoutPromise"],"sourceRoot":"../../../../src","sources":["networking/xmpp/presenceInRoom.xmpp.ts"],"mappings":"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","ignoreList":[]}