@ethora/chat-component-rn 26.10.4 → 26.10.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 (451) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +15 -0
  3. package/app.plugin.js +2 -0
  4. package/lib/commonjs/assets/icons.js +2 -2
  5. package/lib/commonjs/assets/icons.js.map +1 -1
  6. package/lib/commonjs/components/MainComponents/AlbumGrid.js +152 -0
  7. package/lib/commonjs/components/MainComponents/AlbumGrid.js.map +1 -0
  8. package/lib/commonjs/components/MainComponents/ChatRoom.js +2 -2
  9. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/MediaMessage.js +199 -123
  11. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/MediaUploadOverlay.js +109 -0
  13. package/lib/commonjs/components/MainComponents/MediaUploadOverlay.js.map +1 -0
  14. package/lib/commonjs/components/MessageBubble/MediaCaption.js +51 -0
  15. package/lib/commonjs/components/MessageBubble/MediaCaption.js.map +1 -0
  16. package/lib/commonjs/components/MessageBubble/Message.js +40 -1
  17. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  18. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +2 -1
  19. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  20. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +75 -0
  21. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  22. package/lib/commonjs/components/RoomComponents/LastMessageItem.js +20 -4
  23. package/lib/commonjs/components/RoomComponents/LastMessageItem.js.map +1 -1
  24. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +3 -2
  25. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  26. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +3 -2
  27. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  28. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +3 -2
  29. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  30. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +3 -2
  31. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  32. package/lib/commonjs/components/Thread/ThreadWrapper.js +3 -2
  33. package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
  34. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js +61 -16
  35. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js.map +1 -1
  36. package/lib/commonjs/components/VideoCalls/CallIcons.js +41 -16
  37. package/lib/commonjs/components/VideoCalls/CallIcons.js.map +1 -1
  38. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +183 -9
  39. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  40. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +40 -15
  41. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  42. package/lib/commonjs/components/VideoCalls/callSessionController.js +49 -26
  43. package/lib/commonjs/components/VideoCalls/callSessionController.js.map +1 -1
  44. package/lib/commonjs/components/VideoCalls/callUiStore.js +33 -4
  45. package/lib/commonjs/components/VideoCalls/callUiStore.js.map +1 -1
  46. package/lib/commonjs/components/VideoCalls/livekitRuntime.js +9 -1
  47. package/lib/commonjs/components/VideoCalls/livekitRuntime.js.map +1 -1
  48. package/lib/commonjs/components/VideoCalls/useCallKeep.js +197 -28
  49. package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -1
  50. package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js +88 -0
  51. package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js.map +1 -0
  52. package/lib/commonjs/components/VideoCalls/usePipTile.js +232 -0
  53. package/lib/commonjs/components/VideoCalls/usePipTile.js.map +1 -0
  54. package/lib/commonjs/components/styled/MediaFilePreview.js +60 -47
  55. package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
  56. package/lib/commonjs/components/styled/MessageImage.js +16 -6
  57. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  58. package/lib/commonjs/components/styled/SendInput.js +99 -68
  59. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  60. package/lib/commonjs/components/styled/VideoMessage.js +24 -10
  61. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  62. package/lib/commonjs/context/xmppProvider.js +46 -0
  63. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  64. package/lib/commonjs/e2ee/fileEnvelope.js +6 -0
  65. package/lib/commonjs/e2ee/fileEnvelope.js.map +1 -1
  66. package/lib/commonjs/e2ee/sealedBody.js +32 -2
  67. package/lib/commonjs/e2ee/sealedBody.js.map +1 -1
  68. package/lib/commonjs/helpers/albumLayout.js +150 -0
  69. package/lib/commonjs/helpers/albumLayout.js.map +1 -0
  70. package/lib/commonjs/helpers/attachments.js +255 -0
  71. package/lib/commonjs/helpers/attachments.js.map +1 -0
  72. package/lib/commonjs/helpers/caption.js +214 -0
  73. package/lib/commonjs/helpers/caption.js.map +1 -0
  74. package/lib/commonjs/helpers/createMainMessageForThread.js +5 -1
  75. package/lib/commonjs/helpers/createMainMessageForThread.js.map +1 -1
  76. package/lib/commonjs/helpers/createMessageFromXml.js +19 -5
  77. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  78. package/lib/commonjs/helpers/fileKind.js +40 -0
  79. package/lib/commonjs/helpers/fileKind.js.map +1 -0
  80. package/lib/commonjs/helpers/getDataFromXml.js +6 -1
  81. package/lib/commonjs/helpers/getDataFromXml.js.map +1 -1
  82. package/lib/commonjs/helpers/mapWithConcurrency.js +41 -0
  83. package/lib/commonjs/helpers/mapWithConcurrency.js.map +1 -0
  84. package/lib/commonjs/helpers/mediaLimits.js +33 -0
  85. package/lib/commonjs/helpers/mediaLimits.js.map +1 -0
  86. package/lib/commonjs/helpers/mediaSendRetry.js +64 -0
  87. package/lib/commonjs/helpers/mediaSendRetry.js.map +1 -0
  88. package/lib/commonjs/helpers/mediaWireData.js +62 -0
  89. package/lib/commonjs/helpers/mediaWireData.js.map +1 -0
  90. package/lib/commonjs/helpers/mentionSpans.js +19 -0
  91. package/lib/commonjs/helpers/mentionSpans.js.map +1 -0
  92. package/lib/commonjs/helpers/mimeToExtension.js +45 -0
  93. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  94. package/lib/commonjs/helpers/readReceipts.js +173 -0
  95. package/lib/commonjs/helpers/readReceipts.js.map +1 -0
  96. package/lib/commonjs/helpers/repairFilenameEncoding.js +79 -0
  97. package/lib/commonjs/helpers/repairFilenameEncoding.js.map +1 -0
  98. package/lib/commonjs/helpers/safeJson.js +18 -0
  99. package/lib/commonjs/helpers/safeJson.js.map +1 -0
  100. package/lib/commonjs/helpers/updateMessagesTillLast.js +3 -1
  101. package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
  102. package/lib/commonjs/hooks/useSendMessage.js +384 -193
  103. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  104. package/lib/commonjs/i18n/strings.js +144 -0
  105. package/lib/commonjs/i18n/strings.js.map +1 -1
  106. package/lib/commonjs/main.js.map +1 -1
  107. package/lib/commonjs/networking/api-requests/auth.api.js +62 -3
  108. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  109. package/lib/commonjs/networking/stanzaHandlers.js +100 -3
  110. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  111. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +4 -2
  112. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  113. package/lib/commonjs/networking/xmpp/sendDisplayedMarker.xmpp.js +28 -0
  114. package/lib/commonjs/networking/xmpp/sendDisplayedMarker.xmpp.js.map +1 -0
  115. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js +53 -2
  116. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  117. package/lib/commonjs/networking/xmpp/sendReceivedReceipt.xmpp.js +28 -0
  118. package/lib/commonjs/networking/xmpp/sendReceivedReceipt.xmpp.js.map +1 -0
  119. package/lib/commonjs/networking/xmppClient.js +64 -0
  120. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  121. package/lib/commonjs/roomStore/persistence.js +78 -5
  122. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  123. package/lib/commonjs/roomStore/roomHeapSlice.js +4 -0
  124. package/lib/commonjs/roomStore/roomHeapSlice.js.map +1 -1
  125. package/lib/commonjs/roomStore/roomsSlice.js +114 -1
  126. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  127. package/lib/commonjs/types/models/attachment.model.js +2 -0
  128. package/lib/commonjs/types/models/attachment.model.js.map +1 -0
  129. package/lib/commonjs/version.js +1 -1
  130. package/lib/module/assets/icons.js +1 -1
  131. package/lib/module/assets/icons.js.map +1 -1
  132. package/lib/module/components/MainComponents/AlbumGrid.js +146 -0
  133. package/lib/module/components/MainComponents/AlbumGrid.js.map +1 -0
  134. package/lib/module/components/MainComponents/ChatRoom.js +2 -2
  135. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  136. package/lib/module/components/MainComponents/MediaMessage.js +200 -124
  137. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  138. package/lib/module/components/MainComponents/MediaUploadOverlay.js +104 -0
  139. package/lib/module/components/MainComponents/MediaUploadOverlay.js.map +1 -0
  140. package/lib/module/components/MessageBubble/MediaCaption.js +46 -0
  141. package/lib/module/components/MessageBubble/MediaCaption.js.map +1 -0
  142. package/lib/module/components/MessageBubble/Message.js +44 -5
  143. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  144. package/lib/module/components/MessageBubble/MessageInteractions.js +2 -1
  145. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  146. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +75 -0
  147. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  148. package/lib/module/components/RoomComponents/LastMessageItem.js +20 -4
  149. package/lib/module/components/RoomComponents/LastMessageItem.js.map +1 -1
  150. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +3 -2
  151. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  152. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +3 -2
  153. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  154. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +3 -2
  155. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  156. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +3 -2
  157. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  158. package/lib/module/components/Thread/ThreadWrapper.js +3 -2
  159. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  160. package/lib/module/components/VideoCalls/ActiveCallBar.js +63 -18
  161. package/lib/module/components/VideoCalls/ActiveCallBar.js.map +1 -1
  162. package/lib/module/components/VideoCalls/CallIcons.js +38 -15
  163. package/lib/module/components/VideoCalls/CallIcons.js.map +1 -1
  164. package/lib/module/components/VideoCalls/VideoCallOverlay.js +185 -11
  165. package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  166. package/lib/module/components/VideoCalls/VideoCallSession.js +41 -16
  167. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  168. package/lib/module/components/VideoCalls/callSessionController.js +46 -24
  169. package/lib/module/components/VideoCalls/callSessionController.js.map +1 -1
  170. package/lib/module/components/VideoCalls/callUiStore.js +30 -3
  171. package/lib/module/components/VideoCalls/callUiStore.js.map +1 -1
  172. package/lib/module/components/VideoCalls/livekitRuntime.js +9 -1
  173. package/lib/module/components/VideoCalls/livekitRuntime.js.map +1 -1
  174. package/lib/module/components/VideoCalls/useCallKeep.js +198 -29
  175. package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -1
  176. package/lib/module/components/VideoCalls/useOngoingCallNotification.js +84 -0
  177. package/lib/module/components/VideoCalls/useOngoingCallNotification.js.map +1 -0
  178. package/lib/module/components/VideoCalls/usePipTile.js +228 -0
  179. package/lib/module/components/VideoCalls/usePipTile.js.map +1 -0
  180. package/lib/module/components/styled/MediaFilePreview.js +61 -48
  181. package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
  182. package/lib/module/components/styled/MessageImage.js +16 -6
  183. package/lib/module/components/styled/MessageImage.js.map +1 -1
  184. package/lib/module/components/styled/SendInput.js +99 -68
  185. package/lib/module/components/styled/SendInput.js.map +1 -1
  186. package/lib/module/components/styled/VideoMessage.js +24 -10
  187. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  188. package/lib/module/context/xmppProvider.js +46 -0
  189. package/lib/module/context/xmppProvider.js.map +1 -1
  190. package/lib/module/e2ee/fileEnvelope.js +1 -1
  191. package/lib/module/e2ee/fileEnvelope.js.map +1 -1
  192. package/lib/module/e2ee/sealedBody.js +32 -2
  193. package/lib/module/e2ee/sealedBody.js.map +1 -1
  194. package/lib/module/helpers/albumLayout.js +143 -0
  195. package/lib/module/helpers/albumLayout.js.map +1 -0
  196. package/lib/module/helpers/attachments.js +245 -0
  197. package/lib/module/helpers/attachments.js.map +1 -0
  198. package/lib/module/helpers/caption.js +207 -0
  199. package/lib/module/helpers/caption.js.map +1 -0
  200. package/lib/module/helpers/createMainMessageForThread.js +5 -1
  201. package/lib/module/helpers/createMainMessageForThread.js.map +1 -1
  202. package/lib/module/helpers/createMessageFromXml.js +20 -6
  203. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  204. package/lib/module/helpers/fileKind.js +34 -0
  205. package/lib/module/helpers/fileKind.js.map +1 -0
  206. package/lib/module/helpers/getDataFromXml.js +6 -1
  207. package/lib/module/helpers/getDataFromXml.js.map +1 -1
  208. package/lib/module/helpers/mapWithConcurrency.js +37 -0
  209. package/lib/module/helpers/mapWithConcurrency.js.map +1 -0
  210. package/lib/module/helpers/mediaLimits.js +27 -0
  211. package/lib/module/helpers/mediaLimits.js.map +1 -0
  212. package/lib/module/helpers/mediaSendRetry.js +55 -0
  213. package/lib/module/helpers/mediaSendRetry.js.map +1 -0
  214. package/lib/module/helpers/mediaWireData.js +58 -0
  215. package/lib/module/helpers/mediaWireData.js.map +1 -0
  216. package/lib/module/helpers/mentionSpans.js +14 -0
  217. package/lib/module/helpers/mentionSpans.js.map +1 -0
  218. package/lib/module/helpers/mimeToExtension.js +43 -0
  219. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  220. package/lib/module/helpers/readReceipts.js +160 -0
  221. package/lib/module/helpers/readReceipts.js.map +1 -0
  222. package/lib/module/helpers/repairFilenameEncoding.js +74 -0
  223. package/lib/module/helpers/repairFilenameEncoding.js.map +1 -0
  224. package/lib/module/helpers/safeJson.js +13 -0
  225. package/lib/module/helpers/safeJson.js.map +1 -0
  226. package/lib/module/helpers/updateMessagesTillLast.js +3 -1
  227. package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
  228. package/lib/module/hooks/useSendMessage.js +387 -195
  229. package/lib/module/hooks/useSendMessage.js.map +1 -1
  230. package/lib/module/i18n/strings.js +144 -0
  231. package/lib/module/i18n/strings.js.map +1 -1
  232. package/lib/module/main.js.map +1 -1
  233. package/lib/module/networking/api-requests/auth.api.js +62 -3
  234. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  235. package/lib/module/networking/stanzaHandlers.js +97 -4
  236. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  237. package/lib/module/networking/xmpp/handleStanzas.xmpp.js +5 -3
  238. package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  239. package/lib/module/networking/xmpp/sendDisplayedMarker.xmpp.js +25 -0
  240. package/lib/module/networking/xmpp/sendDisplayedMarker.xmpp.js.map +1 -0
  241. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js +53 -2
  242. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  243. package/lib/module/networking/xmpp/sendReceivedReceipt.xmpp.js +25 -0
  244. package/lib/module/networking/xmpp/sendReceivedReceipt.xmpp.js.map +1 -0
  245. package/lib/module/networking/xmppClient.js +64 -0
  246. package/lib/module/networking/xmppClient.js.map +1 -1
  247. package/lib/module/roomStore/persistence.js +78 -5
  248. package/lib/module/roomStore/persistence.js.map +1 -1
  249. package/lib/module/roomStore/roomHeapSlice.js +4 -0
  250. package/lib/module/roomStore/roomHeapSlice.js.map +1 -1
  251. package/lib/module/roomStore/roomsSlice.js +109 -0
  252. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  253. package/lib/module/types/models/attachment.model.js +2 -0
  254. package/lib/module/types/models/attachment.model.js.map +1 -0
  255. package/lib/module/version.js +1 -1
  256. package/lib/typescript/assets/icons.d.ts +6 -1
  257. package/lib/typescript/assets/icons.d.ts.map +1 -1
  258. package/lib/typescript/components/MainComponents/AlbumGrid.d.ts +21 -0
  259. package/lib/typescript/components/MainComponents/AlbumGrid.d.ts.map +1 -0
  260. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  261. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  262. package/lib/typescript/components/MainComponents/MediaUploadOverlay.d.ts +17 -0
  263. package/lib/typescript/components/MainComponents/MediaUploadOverlay.d.ts.map +1 -0
  264. package/lib/typescript/components/MessageBubble/MediaCaption.d.ts +12 -0
  265. package/lib/typescript/components/MessageBubble/MediaCaption.d.ts.map +1 -0
  266. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  267. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  268. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  269. package/lib/typescript/components/RoomComponents/LastMessageItem.d.ts.map +1 -1
  270. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts +2 -0
  271. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
  272. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +2 -0
  273. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  274. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +2 -0
  275. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  276. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +2 -0
  277. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  278. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  279. package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts +9 -3
  280. package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts.map +1 -1
  281. package/lib/typescript/components/VideoCalls/CallIcons.d.ts +9 -0
  282. package/lib/typescript/components/VideoCalls/CallIcons.d.ts.map +1 -1
  283. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
  284. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  285. package/lib/typescript/components/VideoCalls/callSessionController.d.ts +7 -0
  286. package/lib/typescript/components/VideoCalls/callSessionController.d.ts.map +1 -1
  287. package/lib/typescript/components/VideoCalls/callUiStore.d.ts +13 -0
  288. package/lib/typescript/components/VideoCalls/callUiStore.d.ts.map +1 -1
  289. package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts +5 -0
  290. package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts.map +1 -1
  291. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts +12 -0
  292. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -1
  293. package/lib/typescript/components/VideoCalls/useOngoingCallNotification.d.ts +10 -0
  294. package/lib/typescript/components/VideoCalls/useOngoingCallNotification.d.ts.map +1 -0
  295. package/lib/typescript/components/VideoCalls/usePipTile.d.ts +46 -0
  296. package/lib/typescript/components/VideoCalls/usePipTile.d.ts.map +1 -0
  297. package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
  298. package/lib/typescript/components/styled/MessageImage.d.ts +10 -0
  299. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  300. package/lib/typescript/components/styled/SendInput.d.ts +7 -1
  301. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  302. package/lib/typescript/components/styled/VideoMessage.d.ts +7 -0
  303. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  304. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  305. package/lib/typescript/e2ee/fileEnvelope.d.ts +1 -1
  306. package/lib/typescript/e2ee/fileEnvelope.d.ts.map +1 -1
  307. package/lib/typescript/e2ee/sealedBody.d.ts +16 -0
  308. package/lib/typescript/e2ee/sealedBody.d.ts.map +1 -1
  309. package/lib/typescript/helpers/albumLayout.d.ts +66 -0
  310. package/lib/typescript/helpers/albumLayout.d.ts.map +1 -0
  311. package/lib/typescript/helpers/attachments.d.ts +55 -0
  312. package/lib/typescript/helpers/attachments.d.ts.map +1 -0
  313. package/lib/typescript/helpers/caption.d.ts +64 -0
  314. package/lib/typescript/helpers/caption.d.ts.map +1 -0
  315. package/lib/typescript/helpers/createMainMessageForThread.d.ts.map +1 -1
  316. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  317. package/lib/typescript/helpers/fileKind.d.ts +20 -0
  318. package/lib/typescript/helpers/fileKind.d.ts.map +1 -0
  319. package/lib/typescript/helpers/getDataFromXml.d.ts.map +1 -1
  320. package/lib/typescript/helpers/mapWithConcurrency.d.ts +9 -0
  321. package/lib/typescript/helpers/mapWithConcurrency.d.ts.map +1 -0
  322. package/lib/typescript/helpers/mediaLimits.d.ts +13 -0
  323. package/lib/typescript/helpers/mediaLimits.d.ts.map +1 -0
  324. package/lib/typescript/helpers/mediaSendRetry.d.ts +26 -0
  325. package/lib/typescript/helpers/mediaSendRetry.d.ts.map +1 -0
  326. package/lib/typescript/helpers/mediaWireData.d.ts +16 -0
  327. package/lib/typescript/helpers/mediaWireData.d.ts.map +1 -0
  328. package/lib/typescript/helpers/mentionSpans.d.ts +8 -0
  329. package/lib/typescript/helpers/mentionSpans.d.ts.map +1 -0
  330. package/lib/typescript/helpers/mimeToExtension.d.ts +7 -0
  331. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  332. package/lib/typescript/helpers/readReceipts.d.ts +82 -0
  333. package/lib/typescript/helpers/readReceipts.d.ts.map +1 -0
  334. package/lib/typescript/helpers/repairFilenameEncoding.d.ts +12 -0
  335. package/lib/typescript/helpers/repairFilenameEncoding.d.ts.map +1 -0
  336. package/lib/typescript/helpers/safeJson.d.ts +2 -0
  337. package/lib/typescript/helpers/safeJson.d.ts.map +1 -0
  338. package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
  339. package/lib/typescript/hooks/useSendMessage.d.ts +2 -1
  340. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  341. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  342. package/lib/typescript/main.d.ts +1 -1
  343. package/lib/typescript/main.d.ts.map +1 -1
  344. package/lib/typescript/networking/api-requests/auth.api.d.ts +2 -0
  345. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  346. package/lib/typescript/networking/stanzaHandlers.d.ts +7 -3
  347. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  348. package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
  349. package/lib/typescript/networking/xmpp/sendDisplayedMarker.xmpp.d.ts +3 -0
  350. package/lib/typescript/networking/xmpp/sendDisplayedMarker.xmpp.d.ts.map +1 -0
  351. package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts +12 -0
  352. package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts.map +1 -1
  353. package/lib/typescript/networking/xmpp/sendReceivedReceipt.xmpp.d.ts +3 -0
  354. package/lib/typescript/networking/xmpp/sendReceivedReceipt.xmpp.d.ts.map +1 -0
  355. package/lib/typescript/networking/xmppClient.d.ts +15 -0
  356. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  357. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  358. package/lib/typescript/roomStore/roomHeapSlice.d.ts +22 -1
  359. package/lib/typescript/roomStore/roomHeapSlice.d.ts.map +1 -1
  360. package/lib/typescript/roomStore/roomsSlice.d.ts +67 -3
  361. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  362. package/lib/typescript/types/models/attachment.model.d.ts +52 -0
  363. package/lib/typescript/types/models/attachment.model.d.ts.map +1 -0
  364. package/lib/typescript/types/models/message.model.d.ts +26 -0
  365. package/lib/typescript/types/models/message.model.d.ts.map +1 -1
  366. package/lib/typescript/types/models/modal.model.d.ts +7 -0
  367. package/lib/typescript/types/models/modal.model.d.ts.map +1 -1
  368. package/lib/typescript/types/models/room.model.d.ts +2 -0
  369. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  370. package/lib/typescript/types/types.d.ts +69 -1
  371. package/lib/typescript/types/types.d.ts.map +1 -1
  372. package/lib/typescript/version.d.ts +1 -1
  373. package/package.json +4 -1
  374. package/plugins/notification-service/Info.plist +31 -0
  375. package/plugins/notification-service/NotificationService.swift +82 -0
  376. package/plugins/withNotificationServiceExtension.js +137 -0
  377. package/src/assets/icons.tsx +20 -2
  378. package/src/components/MainComponents/AlbumGrid.tsx +183 -0
  379. package/src/components/MainComponents/ChatRoom.tsx +4 -2
  380. package/src/components/MainComponents/MediaMessage.tsx +246 -130
  381. package/src/components/MainComponents/MediaUploadOverlay.tsx +102 -0
  382. package/src/components/MessageBubble/MediaCaption.tsx +45 -0
  383. package/src/components/MessageBubble/Message.tsx +71 -3
  384. package/src/components/MessageBubble/MessageInteractions.tsx +2 -1
  385. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +64 -0
  386. package/src/components/RoomComponents/LastMessageItem.tsx +15 -4
  387. package/src/components/RoomComponents/styled/LastAudioMessage.tsx +6 -3
  388. package/src/components/RoomComponents/styled/LastMessageFile.tsx +6 -2
  389. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +6 -2
  390. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +6 -2
  391. package/src/components/Thread/ThreadWrapper.tsx +5 -9
  392. package/src/components/VideoCalls/ActiveCallBar.tsx +56 -10
  393. package/src/components/VideoCalls/CallIcons.tsx +36 -12
  394. package/src/components/VideoCalls/VideoCallOverlay.tsx +205 -8
  395. package/src/components/VideoCalls/VideoCallSession.tsx +45 -13
  396. package/src/components/VideoCalls/callSessionController.ts +51 -20
  397. package/src/components/VideoCalls/callUiStore.ts +33 -3
  398. package/src/components/VideoCalls/livekitRuntime.ts +13 -0
  399. package/src/components/VideoCalls/useCallKeep.ts +204 -33
  400. package/src/components/VideoCalls/useOngoingCallNotification.ts +113 -0
  401. package/src/components/VideoCalls/usePipTile.ts +214 -0
  402. package/src/components/styled/MediaFilePreview.tsx +49 -34
  403. package/src/components/styled/MessageImage.tsx +21 -5
  404. package/src/components/styled/SendInput.tsx +101 -87
  405. package/src/components/styled/VideoMessage.tsx +34 -9
  406. package/src/context/xmppProvider.tsx +32 -0
  407. package/src/e2ee/fileEnvelope.ts +1 -1
  408. package/src/e2ee/sealedBody.ts +44 -5
  409. package/src/helpers/albumLayout.ts +207 -0
  410. package/src/helpers/attachments.ts +316 -0
  411. package/src/helpers/caption.ts +283 -0
  412. package/src/helpers/createMainMessageForThread.ts +6 -1
  413. package/src/helpers/createMessageFromXml.ts +21 -5
  414. package/src/helpers/fileKind.ts +38 -0
  415. package/src/helpers/getDataFromXml.ts +5 -1
  416. package/src/helpers/mapWithConcurrency.ts +32 -0
  417. package/src/helpers/mediaLimits.ts +27 -0
  418. package/src/helpers/mediaSendRetry.ts +59 -0
  419. package/src/helpers/mediaWireData.ts +57 -0
  420. package/src/helpers/mentionSpans.ts +17 -0
  421. package/src/helpers/mimeToExtension.ts +51 -0
  422. package/src/helpers/readReceipts.ts +219 -0
  423. package/src/helpers/repairFilenameEncoding.ts +82 -0
  424. package/src/helpers/safeJson.ts +11 -0
  425. package/src/helpers/updateMessagesTillLast.tsx +2 -1
  426. package/src/hooks/useSendMessage.tsx +448 -249
  427. package/src/i18n/strings.ts +144 -0
  428. package/src/main.ts +3 -0
  429. package/src/networking/api-requests/auth.api.ts +60 -3
  430. package/src/networking/stanzaHandlers.ts +91 -2
  431. package/src/networking/xmpp/handleStanzas.xmpp.ts +6 -2
  432. package/src/networking/xmpp/sendDisplayedMarker.xmpp.ts +31 -0
  433. package/src/networking/xmpp/sendMediaMessage.xmpp.ts +60 -3
  434. package/src/networking/xmpp/sendReceivedReceipt.xmpp.ts +31 -0
  435. package/src/networking/xmppClient.ts +48 -0
  436. package/src/roomStore/persistence.ts +94 -3
  437. package/src/roomStore/roomHeapSlice.ts +23 -1
  438. package/src/roomStore/roomsSlice.ts +112 -1
  439. package/src/types/models/attachment.model.ts +51 -0
  440. package/src/types/models/message.model.ts +29 -0
  441. package/src/types/models/modal.model.ts +7 -0
  442. package/src/types/models/room.model.ts +2 -0
  443. package/src/types/types.ts +83 -1
  444. package/src/version.ts +1 -1
  445. package/lib/commonjs/components/VideoCalls/useDraggable.js +0 -59
  446. package/lib/commonjs/components/VideoCalls/useDraggable.js.map +0 -1
  447. package/lib/module/components/VideoCalls/useDraggable.js +0 -55
  448. package/lib/module/components/VideoCalls/useDraggable.js.map +0 -1
  449. package/lib/typescript/components/VideoCalls/useDraggable.d.ts +0 -19
  450. package/lib/typescript/components/VideoCalls/useDraggable.d.ts.map +0 -1
  451. package/src/components/VideoCalls/useDraggable.ts +0 -46
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["store","claimMamResult","collectMamMessage","collectMamReaction","replayArchivedReaction","extractReaction","addRooms","addRoomMessage","deleteRoomMessage","editRoomMessage","setComposing","setCurrentRoom","setDisplayedMarker","setReceivedReceipt","setRoomRole","setReactions","updateRoom","adjustUsersCnt","isRoomMembersTruncated","requestSendersOf","createMessageFromXml","getDataFromXml","setDeleteModal","messageNotificationManager","isOwnIncomingMessage","transformCallLogMessage","translateKey","isWindowQueryId","loadRoomMembers","subscribeRoomForPush","isReceiptMarkerId","RECEIPTS_NS","CHAT_MARKERS_NS","isReceiptMarkerStanza","stanza","attrs","id","getChild","ackReceivedMessage","message","roomJID","stanzaFrom","senderJID","xmppWs","sendReceivedReceiptStanza","isSystemMessage","String","startsWith","user","getState","chatSettingStore","onRealtimeMessage","is","body","archived","data","deleted","from","parsed","pData","pId","pBody","pRest","mergedData","rawMessage","isDeleted","xmppUsername","split","dispatch","state","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","onReceivedReceipt","received","fromXmppUsername","timestamp","Date","now","onDisplayedMarker","displayed","onEditMessage","includes","replace","text","isMamResult","xmlns","parseMamResult","forwardedMsg","undefined","reaction","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","x","getChildren","find","e","item","memberJid","jid","affiliation","leaving","members","Array","isArray","idx","findIndex","m","next","updates","usersCnt","length","_","i","_id","firstName","lastName","onPresenceInRoom","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":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { routeMamIq } from './mamRouter';
4
- import { onDeleteMessage, onEditMessage, onRealtimeMessage, onMessageHistory, onGetLastMessageArchive, handleComposing, onChatInvite, onPresenceInRoom, onGetChatRooms, onGetMembers, onGetRoomInfo, onNewRoomCreated, onReactionMessage, onReactionHistory, onRoomKicked, onMessageError } from '../stanzaHandlers';
4
+ import { onDeleteMessage, onEditMessage, onRealtimeMessage, onMessageHistory, onReceivedReceipt, onDisplayedMarker, onGetLastMessageArchive, handleComposing, onChatInvite, onPresenceInRoom, onGetChatRooms, onGetMembers, onGetRoomInfo, onNewRoomCreated, onReactionMessage, onReactionHistory, onRoomKicked, onMessageError } from '../stanzaHandlers';
5
5
  import { onCallTokenMessage } from '../callTokenStanza';
6
6
  import { onEthoraEvent } from '../ethoraEvents';
7
7
  import { accountDomain, isE2eeEnabled } from '../../e2ee';
@@ -95,8 +95,10 @@ function dispatchStanza(stanza, xmppWs) {
95
95
  onDeleteMessage(unwrapped);
96
96
  onEditMessage(unwrapped);
97
97
  onChatInvite(unwrapped, xmppWs);
98
- onRealtimeMessage(unwrapped);
99
- onMessageHistory(unwrapped);
98
+ onReceivedReceipt(unwrapped);
99
+ onDisplayedMarker(unwrapped);
100
+ onRealtimeMessage(unwrapped, xmppWs);
101
+ onMessageHistory(unwrapped, xmppWs);
100
102
  handleComposing(unwrapped, xmppWs.username);
101
103
  onPresenceInRoom(unwrapped);
102
104
  break;
@@ -1 +1 @@
1
- {"version":3,"names":["routeMamIq","onDeleteMessage","onEditMessage","onRealtimeMessage","onMessageHistory","onGetLastMessageArchive","handleComposing","onChatInvite","onPresenceInRoom","onGetChatRooms","onGetMembers","onGetRoomInfo","onNewRoomCreated","onReactionMessage","onReactionHistory","onRoomKicked","onMessageError","onCallTokenMessage","onEthoraEvent","accountDomain","isE2eeEnabled","decryptStanzaInPlace","encryptedCarrier","rewriteEncryptedStanza","unwrapMucsubMessage","stanza","inner","getChild","held","queue","Promise","resolve","handleStanza","xmppWs","dispatchStanza","carrier","name","undefined","then","outcome","client","err","console","warn","__resetStanzaQueueForTests","attrs","type","unwrapped","username","log"],"sourceRoot":"../../../../src","sources":["networking/xmpp/handleStanzas.xmpp.ts"],"mappings":";;AACA,SAASA,UAAU,QAAQ,aAAa;AACxC,SACEC,eAAe,EACfC,aAAa,EACbC,iBAAiB,EACjBC,gBAAgB,EAChBC,uBAAuB,EACvBC,eAAe,EACfC,YAAY,EACZC,gBAAgB,EAChBC,cAAc,EACdC,YAAY,EACZC,aAAa,EACbC,gBAAgB,EAChBC,iBAAiB,EACjBC,iBAAiB,EACjBC,YAAY,EACZC,cAAc,QACT,mBAAmB;AAE1B,SAASC,kBAAkB,QAAQ,oBAAoB;AACvD,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,aAAa,EAAEC,aAAa,QAAQ,YAAY;AACzD,SACEC,oBAAoB,EACpBC,gBAAgB,EAChBC,sBAAsB,QACjB,mBAAmB;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,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;AAED,IAAIG,IAAI,GAAG,CAAC;AACZ,IAAIC,KAAoB,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;AAE5C,OAAO,SAASC,YAAYA,CAACP,MAAe,EAAEQ,MAAkB,EAAE;EAChE,IAAI,CAACb,aAAa,CAAC,CAAC,EAAE;IACpBc,cAAc,CAACT,MAAM,EAAEQ,MAAM,CAAC;IAC9B;EACF;EACA,MAAME,OAAO,GACXV,MAAM,EAAEW,IAAI,KAAK,SAAS,GAAGd,gBAAgB,CAACG,MAAM,CAAC,GAAGY,SAAS;EACnE,IAAI,CAACF,OAAO,IAAIP,IAAI,KAAK,CAAC,EAAE;IAC1BM,cAAc,CAACT,MAAM,EAAEQ,MAAM,CAAC;IAC9B;EACF;EAEAL,IAAI,EAAE;EACNC,KAAK,GAAGA,KAAK,CAACS,IAAI,CAAC,YAAY;IAC7B,IAAI;MACF,IAAIH,OAAO,EAAE;QACX,MAAMI,OAAO,GAAG,MAAMlB,oBAAoB,CACxCI,MAAM,EACNN,aAAa,CAACc,MAAM,CAACO,MAAM,CAC7B,CAAC;QACD,IAAID,OAAO,KAAK,MAAM,EAAE;UAAC;QAAO;MAClC;MACAL,cAAc,CAACT,MAAM,EAAEQ,MAAM,CAAC;IAChC,CAAC,CAAC,OAAOQ,GAAG,EAAE;MACZC,OAAO,CAACC,IAAI,CAAC,gCAAgC,EAAEF,GAAG,CAAC;IACrD,CAAC,SAAS;MACRb,IAAI,EAAE;IACR;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMgB,0BAA0B,GAAGA,CAAA,KAAY;EACpDhB,IAAI,GAAG,CAAC;EACRC,KAAK,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,SAASG,cAAcA,CAACT,MAAe,EAAEQ,MAAkB,EAAE;EAC3D;EACA;EACA;EACA,IAAIR,MAAM,EAAEW,IAAI,KAAK,SAAS,EAAE;IAC9BlB,aAAa,CAACO,MAAM,EAAEQ,MAAa,CAAC;EACtC;EAEA,IAAIR,MAAM,EAAEoB,KAAK,EAAEC,IAAI,KAAK,UAAU,EAAE;IAAC;EAAO;;EAEhD;EACA;EACA;EACA;EACA;EACA,IAAIrB,MAAM,EAAEW,IAAI,KAAK,SAAS,IAAInB,kBAAkB,CAACQ,MAAM,CAAC,EAAE;IAC5D;EACF;EAEA,IAAIA,MAAM,EAAEW,IAAI,KAAK,SAAS,IAAIb,sBAAsB,CAACE,MAAM,CAAC,KAAK,MAAM,EAAE;IAC3E;EACF;EAEA,QAAQA,MAAM,CAACW,IAAI;IACjB,KAAK,SAAS;MAAE;QACd,MAAMW,SAAS,GAAGvB,mBAAmB,CAACC,MAAM,CAAC;QAC7CT,cAAc,CAAC+B,SAAS,EAAEd,MAAM,CAAC;QACjCpB,iBAAiB,CAACkC,SAAS,CAAC;QAC5BjC,iBAAiB,CAACiC,SAAS,CAAC;QAC5B9C,eAAe,CAAC8C,SAAS,CAAC;QAC1B7C,aAAa,CAAC6C,SAAS,CAAC;QACxBxC,YAAY,CAACwC,SAAS,EAAEd,MAAM,CAAC;QAC/B9B,iBAAiB,CAAC4C,SAAS,CAAC;QAC5B3C,gBAAgB,CAAC2C,SAAS,CAAC;QAC3BzC,eAAe,CAACyC,SAAS,EAAEd,MAAM,CAACe,QAAQ,CAAC;QAC3CxC,gBAAgB,CAACuC,SAAS,CAAC;QAC3B;MACF;IACA,KAAK,UAAU;MACbhC,YAAY,CAACU,MAAM,CAAC;MACpBjB,gBAAgB,CAACiB,MAAM,CAAC;MACxB;IACF,KAAK,IAAI;MACP,IAAIzB,UAAU,CAACyB,MAAM,CAAC,EAAE;QAAC;MAAM;MAC/BhB,cAAc,CAACgB,MAAM,EAAEQ,MAAM,CAAC;MAC9B9B,iBAAiB,CAACsB,MAAM,CAAC;MACzBjB,gBAAgB,CAACiB,MAAM,CAAC;MACxBf,YAAY,CAACe,MAAM,CAAC;MACpBd,aAAa,CAACc,MAAM,CAAC;MACrBpB,uBAAuB,CAACoB,MAAM,EAAEQ,MAAM,CAAC;MACvC;IACF,KAAK,aAAa;MAChBrB,gBAAgB,CAACa,MAAM,EAAEQ,MAAM,CAAC;MAChC;IACF;MACES,OAAO,CAACO,GAAG,CAAC,wBAAwB,EAAExB,MAAM,CAACW,IAAI,CAAC;EACtD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["routeMamIq","onDeleteMessage","onEditMessage","onRealtimeMessage","onMessageHistory","onReceivedReceipt","onDisplayedMarker","onGetLastMessageArchive","handleComposing","onChatInvite","onPresenceInRoom","onGetChatRooms","onGetMembers","onGetRoomInfo","onNewRoomCreated","onReactionMessage","onReactionHistory","onRoomKicked","onMessageError","onCallTokenMessage","onEthoraEvent","accountDomain","isE2eeEnabled","decryptStanzaInPlace","encryptedCarrier","rewriteEncryptedStanza","unwrapMucsubMessage","stanza","inner","getChild","held","queue","Promise","resolve","handleStanza","xmppWs","dispatchStanza","carrier","name","undefined","then","outcome","client","err","console","warn","__resetStanzaQueueForTests","attrs","type","unwrapped","username","log"],"sourceRoot":"../../../../src","sources":["networking/xmpp/handleStanzas.xmpp.ts"],"mappings":";;AACA,SAASA,UAAU,QAAQ,aAAa;AACxC,SACEC,eAAe,EACfC,aAAa,EACbC,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,EACjBC,iBAAiB,EACjBC,uBAAuB,EACvBC,eAAe,EACfC,YAAY,EACZC,gBAAgB,EAChBC,cAAc,EACdC,YAAY,EACZC,aAAa,EACbC,gBAAgB,EAChBC,iBAAiB,EACjBC,iBAAiB,EACjBC,YAAY,EACZC,cAAc,QACT,mBAAmB;AAE1B,SAASC,kBAAkB,QAAQ,oBAAoB;AACvD,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,aAAa,EAAEC,aAAa,QAAQ,YAAY;AACzD,SACEC,oBAAoB,EACpBC,gBAAgB,EAChBC,sBAAsB,QACjB,mBAAmB;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,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;AAED,IAAIG,IAAI,GAAG,CAAC;AACZ,IAAIC,KAAoB,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;AAE5C,OAAO,SAASC,YAAYA,CAACP,MAAe,EAAEQ,MAAkB,EAAE;EAChE,IAAI,CAACb,aAAa,CAAC,CAAC,EAAE;IACpBc,cAAc,CAACT,MAAM,EAAEQ,MAAM,CAAC;IAC9B;EACF;EACA,MAAME,OAAO,GACXV,MAAM,EAAEW,IAAI,KAAK,SAAS,GAAGd,gBAAgB,CAACG,MAAM,CAAC,GAAGY,SAAS;EACnE,IAAI,CAACF,OAAO,IAAIP,IAAI,KAAK,CAAC,EAAE;IAC1BM,cAAc,CAACT,MAAM,EAAEQ,MAAM,CAAC;IAC9B;EACF;EAEAL,IAAI,EAAE;EACNC,KAAK,GAAGA,KAAK,CAACS,IAAI,CAAC,YAAY;IAC7B,IAAI;MACF,IAAIH,OAAO,EAAE;QACX,MAAMI,OAAO,GAAG,MAAMlB,oBAAoB,CACxCI,MAAM,EACNN,aAAa,CAACc,MAAM,CAACO,MAAM,CAC7B,CAAC;QACD,IAAID,OAAO,KAAK,MAAM,EAAE;UAAC;QAAO;MAClC;MACAL,cAAc,CAACT,MAAM,EAAEQ,MAAM,CAAC;IAChC,CAAC,CAAC,OAAOQ,GAAG,EAAE;MACZC,OAAO,CAACC,IAAI,CAAC,gCAAgC,EAAEF,GAAG,CAAC;IACrD,CAAC,SAAS;MACRb,IAAI,EAAE;IACR;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMgB,0BAA0B,GAAGA,CAAA,KAAY;EACpDhB,IAAI,GAAG,CAAC;EACRC,KAAK,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,SAASG,cAAcA,CAACT,MAAe,EAAEQ,MAAkB,EAAE;EAC3D;EACA;EACA;EACA,IAAIR,MAAM,EAAEW,IAAI,KAAK,SAAS,EAAE;IAC9BlB,aAAa,CAACO,MAAM,EAAEQ,MAAa,CAAC;EACtC;EAEA,IAAIR,MAAM,EAAEoB,KAAK,EAAEC,IAAI,KAAK,UAAU,EAAE;IAAC;EAAO;;EAEhD;EACA;EACA;EACA;EACA;EACA,IAAIrB,MAAM,EAAEW,IAAI,KAAK,SAAS,IAAInB,kBAAkB,CAACQ,MAAM,CAAC,EAAE;IAC5D;EACF;EAEA,IAAIA,MAAM,EAAEW,IAAI,KAAK,SAAS,IAAIb,sBAAsB,CAACE,MAAM,CAAC,KAAK,MAAM,EAAE;IAC3E;EACF;EAEA,QAAQA,MAAM,CAACW,IAAI;IACjB,KAAK,SAAS;MAAE;QACd,MAAMW,SAAS,GAAGvB,mBAAmB,CAACC,MAAM,CAAC;QAC7CT,cAAc,CAAC+B,SAAS,EAAEd,MAAM,CAAC;QACjCpB,iBAAiB,CAACkC,SAAS,CAAC;QAC5BjC,iBAAiB,CAACiC,SAAS,CAAC;QAC5BhD,eAAe,CAACgD,SAAS,CAAC;QAC1B/C,aAAa,CAAC+C,SAAS,CAAC;QACxBxC,YAAY,CAACwC,SAAS,EAAEd,MAAM,CAAC;QAC/B9B,iBAAiB,CAAC4C,SAAS,CAAC;QAC5B3C,iBAAiB,CAAC2C,SAAS,CAAC;QAC5B9C,iBAAiB,CAAC8C,SAAS,EAAEd,MAAM,CAAC;QACpC/B,gBAAgB,CAAC6C,SAAS,EAAEd,MAAM,CAAC;QACnC3B,eAAe,CAACyC,SAAS,EAAEd,MAAM,CAACe,QAAQ,CAAC;QAC3CxC,gBAAgB,CAACuC,SAAS,CAAC;QAC3B;MACF;IACA,KAAK,UAAU;MACbhC,YAAY,CAACU,MAAM,CAAC;MACpBjB,gBAAgB,CAACiB,MAAM,CAAC;MACxB;IACF,KAAK,IAAI;MACP,IAAI3B,UAAU,CAAC2B,MAAM,CAAC,EAAE;QAAC;MAAM;MAC/BhB,cAAc,CAACgB,MAAM,EAAEQ,MAAM,CAAC;MAC9BhC,iBAAiB,CAACwB,MAAM,CAAC;MACzBjB,gBAAgB,CAACiB,MAAM,CAAC;MACxBf,YAAY,CAACe,MAAM,CAAC;MACpBd,aAAa,CAACc,MAAM,CAAC;MACrBpB,uBAAuB,CAACoB,MAAM,EAAEQ,MAAM,CAAC;MACvC;IACF,KAAK,aAAa;MAChBrB,gBAAgB,CAACa,MAAM,EAAEQ,MAAM,CAAC;MAChC;IACF;MACES,OAAO,CAACO,GAAG,CAAC,wBAAwB,EAAExB,MAAM,CAACW,IAAI,CAAC;EACtD;AACF","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ import { xml } from '@xmpp/client';
4
+
5
+ // XEP-0333 read marker, broadcast to the room (same convention as
6
+ // sendReceivedReceipt.xmpp.ts / sendMessageReaction.xmpp.ts). `messageId` is
7
+ // the id of the newest message the user has displayed - a single watermark
8
+ // per room, not one marker per message.
9
+ export function sendDisplayedMarker(client, messageId, roomJid) {
10
+ const id = `message-displayed:${Date.now().toString()}`;
11
+ const message = xml('message', {
12
+ id,
13
+ type: 'groupchat',
14
+ from: client.jid?.toString(),
15
+ to: roomJid
16
+ }, xml('displayed', {
17
+ xmlns: 'urn:xmpp:chat-markers:0',
18
+ id: messageId,
19
+ from: client.jid?.toString()
20
+ }), xml('store', {
21
+ xmlns: 'urn:xmpp:hints'
22
+ }));
23
+ client.send(message);
24
+ }
25
+ //# sourceMappingURL=sendDisplayedMarker.xmpp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["xml","sendDisplayedMarker","client","messageId","roomJid","id","Date","now","toString","message","type","from","jid","to","xmlns","send"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendDisplayedMarker.xmpp.ts"],"mappings":";;AAAA,SAAiBA,GAAG,QAAQ,cAAc;;AAE1C;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CACjCC,MAAc,EACdC,SAAiB,EACjBC,OAAe,EACf;EACA,MAAMC,EAAE,GAAG,qBAAqBC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE;EAEvD,MAAMC,OAAO,GAAGT,GAAG,CACjB,SAAS,EACT;IACEK,EAAE;IACFK,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAET,MAAM,CAACU,GAAG,EAAEJ,QAAQ,CAAC,CAAC;IAC5BK,EAAE,EAAET;EACN,CAAC,EACDJ,GAAG,CAAC,WAAW,EAAE;IACfc,KAAK,EAAE,yBAAyB;IAChCT,EAAE,EAAEF,SAAS;IACbQ,IAAI,EAAET,MAAM,CAACU,GAAG,EAAEJ,QAAQ,CAAC;EAC7B,CAAC,CAAC,EACFR,GAAG,CAAC,OAAO,EAAE;IAAEc,KAAK,EAAE;EAAiB,CAAC,CAC1C,CAAC;EAEDZ,MAAM,CAACa,IAAI,CAACN,OAAO,CAAC;AACtB","ignoreList":[]}
@@ -2,6 +2,8 @@
2
2
 
3
3
  import { xml } from '@xmpp/client';
4
4
  import { sendSealedMedia, shouldEncrypt } from '../../e2ee/send';
5
+ import { serializeAttachments } from '../../helpers/attachments';
6
+ import { normalizeCaptionInput } from '../../helpers/caption';
5
7
 
6
8
  // Monotonic counter — see sendTextMessage for the rationale (avoids
7
9
  // Date.now() id collisions on <1ms-apart sends).
@@ -29,6 +31,19 @@ const toServiceXmlns = (devServer, client) => {
29
31
  }
30
32
  return `wss://${ds.replace(/^\/+|\/+$/g, '')}/ws`;
31
33
  };
34
+
35
+ /**
36
+ * One media stanza for one or more files.
37
+ *
38
+ * `data` carries the flat fields that describe attachment #0, so a client
39
+ * that predates multi-attach still shows the first file. With more than one
40
+ * file the whole list rides on `<data attachments='JSON'>` (selection order).
41
+ *
42
+ * A typed caption rides on the message too: as `caption` / `captionMentions`
43
+ * attributes in a plain room, and inside the sealed <body> in an e2ee room
44
+ * (never as an attribute there). A message with one file and no caption is
45
+ * byte-identical to what this function produced before multi-attach.
46
+ */
32
47
  export function sendMediaMessage(client, roomJID, data, customId, devServer) {
33
48
  const id = customId || `send-media-message-${Date.now()}-${_sendMediaSeq = _sendMediaSeq + 1 >>> 0}`;
34
49
  const dataToSend = {
@@ -63,20 +78,56 @@ export function sendMediaMessage(client, roomJID, data, customId, devServer) {
63
78
  roomJid: data?.roomJid,
64
79
  push: 'true'
65
80
  };
81
+
82
+ // Only stamped when there is more than one file, so a single-file stanza
83
+ // keeps exactly the attributes it always had.
84
+ const files = Array.isArray(data?.attachments) ? data.attachments : [];
85
+ if (files.length > 1) {
86
+ // The flat fields describe attachment #0, whatever the caller passed, so
87
+ // an older client shows the first file of the message.
88
+ const head = files[0];
89
+ const flat = ['attachmentId', 'location', 'locationPreview', 'mimetype', 'originalName', 'fileName', 'size', 'duration'];
90
+ for (const key of flat) {
91
+ const value = head[key];
92
+ if (value !== undefined && value !== null && value !== '') {
93
+ dataToSend[key] = value;
94
+ }
95
+ }
96
+ dataToSend.attachments = serializeAttachments(files);
97
+ }
66
98
  const keys = data?.e2eeKeys;
67
99
  if (keys?.length) {
68
100
  dataToSend.clientEncrypted = 'true';
69
101
  }
102
+ const caption = normalizeCaptionInput({
103
+ text: typeof data?.caption === 'string' ? data.caption : '',
104
+ mentions: data?.captionMentions
105
+ });
70
106
  const hints = xml('store', {
71
107
  xmlns: 'urn:xmpp:hints'
72
108
  });
73
109
  if (keys?.length && shouldEncrypt(roomJID)) {
74
- sendSealedMedia(client, roomJID, id, xml('body', {}, JSON.stringify({
110
+ // The caption is sealed with the keys. It is never copied onto <data>.
111
+ const sealedBody = caption ? {
112
+ v: 1,
113
+ keys,
114
+ caption: caption.caption,
115
+ ...(caption.mentions ? {
116
+ captionMentions: caption.mentions
117
+ } : {})
118
+ } : {
75
119
  v: 1,
76
120
  keys
77
- })), [xml('data', dataToSend), hints]);
121
+ };
122
+ sendSealedMedia(client, roomJID, id, xml('body', {}, JSON.stringify(sealedBody)), [xml('data', dataToSend), hints]);
78
123
  return id;
79
124
  }
125
+ if (caption) {
126
+ dataToSend.caption = caption.caption;
127
+ if (caption.mentions) {
128
+ dataToSend.captionMentions = JSON.stringify(caption.mentions);
129
+ }
130
+ }
80
131
  const message = xml('message', {
81
132
  id: id,
82
133
  type: 'groupchat',
@@ -1 +1 @@
1
- {"version":3,"names":["xml","sendSealedMedia","shouldEncrypt","_sendMediaSeq","toServiceXmlns","devServer","client","clientService","options","service","test","ds","trim","includes","replace","sendMediaMessage","roomJID","data","customId","id","Date","now","dataToSend","xmlns","senderJID","jid","toString","senderFirstName","firstName","senderLastName","lastName","senderWalletAddress","walletAddress","tokenAmount","receiverMessageId","mucname","chatName","photoURL","userAvatar","isMediafile","createdAt","expiresAt","fileName","isVisible","location","locationPreview","mimetype","originalName","ownerKey","size","duration","updatedAt","userId","waveForm","attachmentId","isReply","showInChannel","mainMessage","roomJid","push","keys","e2eeKeys","length","clientEncrypted","hints","JSON","stringify","v","message","type","from","to","sendResult","send","then","console","log","catch","err","error"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendMediaMessage.xmpp.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["xml","sendSealedMedia","shouldEncrypt","serializeAttachments","normalizeCaptionInput","_sendMediaSeq","toServiceXmlns","devServer","client","clientService","options","service","test","ds","trim","includes","replace","sendMediaMessage","roomJID","data","customId","id","Date","now","dataToSend","xmlns","senderJID","jid","toString","senderFirstName","firstName","senderLastName","lastName","senderWalletAddress","walletAddress","tokenAmount","receiverMessageId","mucname","chatName","photoURL","userAvatar","isMediafile","createdAt","expiresAt","fileName","isVisible","location","locationPreview","mimetype","originalName","ownerKey","size","duration","updatedAt","userId","waveForm","attachmentId","isReply","showInChannel","mainMessage","roomJid","push","files","Array","isArray","attachments","length","head","flat","key","value","undefined","keys","e2eeKeys","clientEncrypted","caption","text","mentions","captionMentions","hints","sealedBody","v","JSON","stringify","message","type","from","to","sendResult","send","then","console","log","catch","err","error"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendMediaMessage.xmpp.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ import { xml } from '@xmpp/client';
4
+
5
+ // XEP-0184 delivery receipt, broadcast to the room (mirrors
6
+ // sendMessageReaction.xmpp.ts) so every occupant can render tick state.
7
+ // The top-level stanza `from` gets rewritten to the room/nick by the MUC
8
+ // server, so the real xmppUsername travels in the <received> `from` attr.
9
+ export function sendReceivedReceipt(client, messageId, roomJid) {
10
+ const id = `message-received:${Date.now().toString()}`;
11
+ const message = xml('message', {
12
+ id,
13
+ type: 'groupchat',
14
+ from: client.jid?.toString(),
15
+ to: roomJid
16
+ }, xml('received', {
17
+ xmlns: 'urn:xmpp:receipts',
18
+ id: messageId,
19
+ from: client.jid?.toString()
20
+ }), xml('store', {
21
+ xmlns: 'urn:xmpp:hints'
22
+ }));
23
+ client.send(message);
24
+ }
25
+ //# sourceMappingURL=sendReceivedReceipt.xmpp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["xml","sendReceivedReceipt","client","messageId","roomJid","id","Date","now","toString","message","type","from","jid","to","xmlns","send"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendReceivedReceipt.xmpp.ts"],"mappings":";;AAAA,SAAiBA,GAAG,QAAQ,cAAc;;AAE1C;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CACjCC,MAAc,EACdC,SAAiB,EACjBC,OAAe,EACf;EACA,MAAMC,EAAE,GAAG,oBAAoBC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE;EAEtD,MAAMC,OAAO,GAAGT,GAAG,CACjB,SAAS,EACT;IACEK,EAAE;IACFK,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAET,MAAM,CAACU,GAAG,EAAEJ,QAAQ,CAAC,CAAC;IAC5BK,EAAE,EAAET;EACN,CAAC,EACDJ,GAAG,CAAC,UAAU,EAAE;IACdc,KAAK,EAAE,mBAAmB;IAC1BT,EAAE,EAAEF,SAAS;IACbQ,IAAI,EAAET,MAAM,CAACU,GAAG,EAAEJ,QAAQ,CAAC;EAC7B,CAAC,CAAC,EACFR,GAAG,CAAC,OAAO,EAAE;IAAEc,KAAK,EAAE;EAAiB,CAAC,CAC1C,CAAC;EAEDZ,MAAM,CAACa,IAAI,CAACN,OAAO,CAAC;AACtB","ignoreList":[]}
@@ -11,6 +11,8 @@ import { sendPing } from './xmpp/sendPing.xmpp';
11
11
  import { fetchHistoryPage, getHistory, getHistoryPage } from './xmpp/getHistory.xmpp';
12
12
  import { sendTextMessage } from './xmpp/sendTextMessage.xmpp';
13
13
  import { sendMessageReaction } from './xmpp/sendMessageReaction.xmpp';
14
+ import { sendReceivedReceipt } from './xmpp/sendReceivedReceipt.xmpp';
15
+ import { sendDisplayedMarker } from './xmpp/sendDisplayedMarker.xmpp';
14
16
  import { sendTextMessageWithTranslateTag } from './xmpp/sendTextMessageWithTranslateTag.xmpp';
15
17
  import { deleteMessage } from './xmpp/deleteMessage.xmpp';
16
18
  import { RoomJoinManager } from './xmpp/roomJoinSweep';
@@ -35,6 +37,8 @@ import { getServerReadTimestamp, isCorruptFutureReadMarker } from '../helpers/ge
35
37
 
36
38
  // Canonical production XMPP WSS endpoint (standard wss/443, no port suffix).
37
39
  const DEFAULT_DEV_SERVER = 'xmpp.chat.ethora.com';
40
+ // Upper bound on remembered XEP-0184 acks (oldest forgotten first).
41
+ const RECEIPT_ACKED_CAP = 2000;
38
42
 
39
43
  // How long to wait for the old client's stop() during a reconnect before
40
44
  // giving up on it. Short on purpose: we are already tearing this client
@@ -208,6 +212,13 @@ export class XmppClient {
208
212
  }
209
213
  disableLastRead = false;
210
214
  activeRoomJID = null;
215
+ // XEP-0184 acks already sent, as `room:messageId`. A message is acked once,
216
+ // whether it arrived live or again inside a MAM page. Oldest entries drop
217
+ // first once the set passes the cap.
218
+ receiptAckedIds = new Set();
219
+ // XEP-0333: the last read watermark sent per room. A repeat flush for the
220
+ // same newest message sends nothing.
221
+ lastWatermarkSentByRoom = new Map();
211
222
  activeRoomBoostUntil = 0;
212
223
  softPauseUntil = 0;
213
224
  mamInFlightByRoom = new Map();
@@ -1391,6 +1402,59 @@ export class XmppClient {
1391
1402
  const result = await this.createRoomStanza(title, description, to);
1392
1403
  return typeof result === 'string' ? result : '';
1393
1404
  }
1405
+
1406
+ /**
1407
+ * XEP-0184 delivery receipt for a message from someone else. Sent for live
1408
+ * messages and for messages a MAM page brings in; a message already acked
1409
+ * is skipped. When the stream is down (or `config.disableReadReceipts` is
1410
+ * on) nothing is recorded, so a later page can still ack it.
1411
+ */
1412
+ sendReceivedReceiptStanza(messageId, roomJid) {
1413
+ // Privacy switch: with read receipts off this client stays silent, so
1414
+ // nobody learns that (or when) it received their message.
1415
+ if (store.getState().chatSettingStore.config?.disableReadReceipts) {
1416
+ return;
1417
+ }
1418
+ if (!messageId || !roomJid || !this.isStreamReady()) {
1419
+ return;
1420
+ }
1421
+ const jid = normalizeRoomJid(roomJid, this.conference);
1422
+ const key = `${jid}:${messageId}`;
1423
+ if (this.receiptAckedIds.has(key)) {
1424
+ return;
1425
+ }
1426
+ this.receiptAckedIds.add(key);
1427
+ if (this.receiptAckedIds.size > RECEIPT_ACKED_CAP) {
1428
+ const oldest = this.receiptAckedIds.values().next().value;
1429
+ if (oldest !== undefined) {
1430
+ this.receiptAckedIds.delete(oldest);
1431
+ }
1432
+ }
1433
+ sendReceivedReceipt(this.client, messageId, jid);
1434
+ }
1435
+
1436
+ /**
1437
+ * XEP-0333 read watermark for a room: the newest message the user has
1438
+ * displayed. Off with `disableLastRead` or `config.disableReadReceipts`.
1439
+ * The caller decides when the room counts as read (see computeReadWatermark).
1440
+ */
1441
+ sendDisplayedMarkerStanza(messageId, roomJid) {
1442
+ if (this.disableLastRead) {
1443
+ return;
1444
+ }
1445
+ if (store.getState().chatSettingStore.config?.disableReadReceipts) {
1446
+ return;
1447
+ }
1448
+ if (!messageId || !roomJid || !this.isStreamReady()) {
1449
+ return;
1450
+ }
1451
+ const jid = normalizeRoomJid(roomJid, this.conference);
1452
+ if (this.lastWatermarkSentByRoom.get(jid) === messageId) {
1453
+ return;
1454
+ }
1455
+ this.lastWatermarkSentByRoom.set(jid, messageId);
1456
+ sendDisplayedMarker(this.client, messageId, jid);
1457
+ }
1394
1458
  sendMessageReactionStanza(messageId, roomJid, reactionsList, data) {
1395
1459
  sendMessageReaction(this.client, messageId, normalizeRoomJid(roomJid, this.conference), reactionsList, data || {});
1396
1460
  }