@ethora/chat-component-rn 26.5.21 → 26.6.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +3 -3
  3. package/index.js +1 -1
  4. package/lib/commonjs/components/MainComponents/ChatHeader.js +20 -8
  5. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  6. package/lib/commonjs/components/MainComponents/ChatWrapper.js +17 -0
  7. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  8. package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js +62 -0
  9. package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js.map +1 -0
  10. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js +253 -0
  11. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js.map +1 -0
  12. package/lib/commonjs/components/MainComponents/RoomList.js +23 -9
  13. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  14. package/lib/commonjs/components/MessageBubble/Message.js +72 -11
  15. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  16. package/lib/commonjs/components/MessageBubble/MessageTranslate.js +160 -0
  17. package/lib/commonjs/components/MessageBubble/MessageTranslate.js.map +1 -0
  18. package/lib/commonjs/components/MessageBubble/TranslatedMessageBody.js +59 -0
  19. package/lib/commonjs/components/MessageBubble/TranslatedMessageBody.js.map +1 -0
  20. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +3 -3
  21. package/lib/commonjs/components/UsersList/UsersList.js +3 -1
  22. package/lib/commonjs/components/UsersList/UsersList.js.map +1 -1
  23. package/lib/commonjs/components/VideoCalls/CallButtons.js +159 -0
  24. package/lib/commonjs/components/VideoCalls/CallButtons.js.map +1 -0
  25. package/lib/commonjs/components/VideoCalls/CallIcons.js +328 -0
  26. package/lib/commonjs/components/VideoCalls/CallIcons.js.map +1 -0
  27. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +550 -0
  28. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -0
  29. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +636 -0
  30. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -0
  31. package/lib/commonjs/components/VideoCalls/livekitRuntime.js +91 -0
  32. package/lib/commonjs/components/VideoCalls/livekitRuntime.js.map +1 -0
  33. package/lib/commonjs/components/VideoCalls/useCallKeep.js +215 -0
  34. package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -0
  35. package/lib/commonjs/components/styled/AudioMessage.js +91 -33
  36. package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
  37. package/lib/commonjs/components/styled/RoomListComponents/index.js +13 -1
  38. package/lib/commonjs/components/styled/RoomListComponents/index.js.map +1 -1
  39. package/lib/commonjs/components/styled/SendInput.js +83 -49
  40. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  41. package/lib/commonjs/components/styled/StyledComponents.js +9 -4
  42. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  43. package/lib/commonjs/components/styled/StyledInputComponents/Composing.js +2 -0
  44. package/lib/commonjs/components/styled/StyledInputComponents/Composing.js.map +1 -1
  45. package/lib/commonjs/context/xmppProvider.js +10 -3
  46. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  47. package/lib/commonjs/helpers/callLogMessage.js +162 -0
  48. package/lib/commonjs/helpers/callLogMessage.js.map +1 -0
  49. package/lib/commonjs/helpers/callPush.js +61 -0
  50. package/lib/commonjs/helpers/callPush.js.map +1 -0
  51. package/lib/commonjs/helpers/constants/LANGUAGE_OPTIONS.js +24 -12
  52. package/lib/commonjs/helpers/constants/LANGUAGE_OPTIONS.js.map +1 -1
  53. package/lib/commonjs/helpers/createUserNameFromSetUser.js +51 -2
  54. package/lib/commonjs/helpers/createUserNameFromSetUser.js.map +1 -1
  55. package/lib/commonjs/helpers/getDataFromXml.js +19 -1
  56. package/lib/commonjs/helpers/getDataFromXml.js.map +1 -1
  57. package/lib/commonjs/helpers/incomingCallFromPush.js +74 -0
  58. package/lib/commonjs/helpers/incomingCallFromPush.js.map +1 -0
  59. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +13 -1
  60. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  61. package/lib/commonjs/helpers/isUnresolvedSenderId.js +32 -0
  62. package/lib/commonjs/helpers/isUnresolvedSenderId.js.map +1 -0
  63. package/lib/commonjs/hooks/useChatSettingState.js +2 -0
  64. package/lib/commonjs/hooks/useChatSettingState.js.map +1 -1
  65. package/lib/commonjs/hooks/useMessageTranslation.js +51 -0
  66. package/lib/commonjs/hooks/useMessageTranslation.js.map +1 -0
  67. package/lib/commonjs/hooks/usePushNotifications.js +13 -3
  68. package/lib/commonjs/hooks/usePushNotifications.js.map +1 -1
  69. package/lib/commonjs/hooks/useSendMessage.js +12 -2
  70. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  71. package/lib/commonjs/i18n/strings.js +1308 -0
  72. package/lib/commonjs/i18n/strings.js.map +1 -0
  73. package/lib/commonjs/i18n/useT.js +60 -0
  74. package/lib/commonjs/i18n/useT.js.map +1 -0
  75. package/lib/commonjs/main.js +44 -0
  76. package/lib/commonjs/main.js.map +1 -1
  77. package/lib/commonjs/networking/api-requests/push.api.js +34 -5
  78. package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
  79. package/lib/commonjs/networking/api-requests/rooms.api.js +108 -0
  80. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  81. package/lib/commonjs/networking/callTokenStanza.js +531 -0
  82. package/lib/commonjs/networking/callTokenStanza.js.map +1 -0
  83. package/lib/commonjs/networking/outboundQueue.js.map +1 -1
  84. package/lib/commonjs/networking/stanzaHandlers.js +75 -8
  85. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  86. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +47 -11
  87. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  88. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  89. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  90. package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +42 -5
  91. package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
  92. package/lib/commonjs/networking/xmppClient.js +78 -16
  93. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  94. package/lib/commonjs/roomStore/callSlice.js +144 -0
  95. package/lib/commonjs/roomStore/callSlice.js.map +1 -0
  96. package/lib/commonjs/roomStore/chatSettingsSlice.js +8 -2
  97. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  98. package/lib/commonjs/roomStore/index.js +7 -1
  99. package/lib/commonjs/roomStore/index.js.map +1 -1
  100. package/lib/commonjs/roomStore/persistence.js +69 -5
  101. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  102. package/lib/commonjs/roomStore/roomsSlice.js +136 -6
  103. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  104. package/lib/commonjs/utils/translateModePolicy.js +33 -0
  105. package/lib/commonjs/utils/translateModePolicy.js.map +1 -0
  106. package/lib/module/components/MainComponents/ChatHeader.js +20 -8
  107. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  108. package/lib/module/components/MainComponents/ChatWrapper.js +17 -0
  109. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  110. package/lib/module/components/MainComponents/LanguageSelectorButton.js +57 -0
  111. package/lib/module/components/MainComponents/LanguageSelectorButton.js.map +1 -0
  112. package/lib/module/components/MainComponents/LanguageSelectorModal.js +246 -0
  113. package/lib/module/components/MainComponents/LanguageSelectorModal.js.map +1 -0
  114. package/lib/module/components/MainComponents/RoomList.js +23 -9
  115. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  116. package/lib/module/components/MessageBubble/Message.js +73 -12
  117. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  118. package/lib/module/components/MessageBubble/MessageTranslate.js +155 -0
  119. package/lib/module/components/MessageBubble/MessageTranslate.js.map +1 -0
  120. package/lib/module/components/MessageBubble/TranslatedMessageBody.js +53 -0
  121. package/lib/module/components/MessageBubble/TranslatedMessageBody.js.map +1 -0
  122. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +3 -3
  123. package/lib/module/components/UsersList/UsersList.js +3 -1
  124. package/lib/module/components/UsersList/UsersList.js.map +1 -1
  125. package/lib/module/components/VideoCalls/CallButtons.js +154 -0
  126. package/lib/module/components/VideoCalls/CallButtons.js.map +1 -0
  127. package/lib/module/components/VideoCalls/CallIcons.js +309 -0
  128. package/lib/module/components/VideoCalls/CallIcons.js.map +1 -0
  129. package/lib/module/components/VideoCalls/VideoCallOverlay.js +544 -0
  130. package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -0
  131. package/lib/module/components/VideoCalls/VideoCallSession.js +630 -0
  132. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -0
  133. package/lib/module/components/VideoCalls/livekitRuntime.js +83 -0
  134. package/lib/module/components/VideoCalls/livekitRuntime.js.map +1 -0
  135. package/lib/module/components/VideoCalls/useCallKeep.js +210 -0
  136. package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -0
  137. package/lib/module/components/styled/AudioMessage.js +91 -33
  138. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  139. package/lib/module/components/styled/RoomListComponents/index.js +13 -1
  140. package/lib/module/components/styled/RoomListComponents/index.js.map +1 -1
  141. package/lib/module/components/styled/SendInput.js +83 -49
  142. package/lib/module/components/styled/SendInput.js.map +1 -1
  143. package/lib/module/components/styled/StyledComponents.js +9 -4
  144. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  145. package/lib/module/components/styled/StyledInputComponents/Composing.js +2 -0
  146. package/lib/module/components/styled/StyledInputComponents/Composing.js.map +1 -1
  147. package/lib/module/context/xmppProvider.js +11 -4
  148. package/lib/module/context/xmppProvider.js.map +1 -1
  149. package/lib/module/helpers/callLogMessage.js +152 -0
  150. package/lib/module/helpers/callLogMessage.js.map +1 -0
  151. package/lib/module/helpers/callPush.js +55 -0
  152. package/lib/module/helpers/callPush.js.map +1 -0
  153. package/lib/module/helpers/constants/LANGUAGE_OPTIONS.js +24 -12
  154. package/lib/module/helpers/constants/LANGUAGE_OPTIONS.js.map +1 -1
  155. package/lib/module/helpers/createUserNameFromSetUser.js +49 -1
  156. package/lib/module/helpers/createUserNameFromSetUser.js.map +1 -1
  157. package/lib/module/helpers/getDataFromXml.js +20 -1
  158. package/lib/module/helpers/getDataFromXml.js.map +1 -1
  159. package/lib/module/helpers/incomingCallFromPush.js +70 -0
  160. package/lib/module/helpers/incomingCallFromPush.js.map +1 -0
  161. package/lib/module/helpers/insertMessageWithDelimiter.js +13 -1
  162. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  163. package/lib/module/helpers/isUnresolvedSenderId.js +27 -0
  164. package/lib/module/helpers/isUnresolvedSenderId.js.map +1 -0
  165. package/lib/module/hooks/useChatSettingState.js +2 -0
  166. package/lib/module/hooks/useChatSettingState.js.map +1 -1
  167. package/lib/module/hooks/useMessageTranslation.js +46 -0
  168. package/lib/module/hooks/useMessageTranslation.js.map +1 -0
  169. package/lib/module/hooks/usePushNotifications.js +13 -3
  170. package/lib/module/hooks/usePushNotifications.js.map +1 -1
  171. package/lib/module/hooks/useSendMessage.js +12 -2
  172. package/lib/module/hooks/useSendMessage.js.map +1 -1
  173. package/lib/module/i18n/strings.js +1300 -0
  174. package/lib/module/i18n/strings.js.map +1 -0
  175. package/lib/module/i18n/useT.js +55 -0
  176. package/lib/module/i18n/useT.js.map +1 -0
  177. package/lib/module/main.js +7 -1
  178. package/lib/module/main.js.map +1 -1
  179. package/lib/module/networking/api-requests/push.api.js +35 -5
  180. package/lib/module/networking/api-requests/push.api.js.map +1 -1
  181. package/lib/module/networking/api-requests/rooms.api.js +109 -1
  182. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  183. package/lib/module/networking/callTokenStanza.js +526 -0
  184. package/lib/module/networking/callTokenStanza.js.map +1 -0
  185. package/lib/module/networking/outboundQueue.js.map +1 -1
  186. package/lib/module/networking/stanzaHandlers.js +76 -9
  187. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  188. package/lib/module/networking/xmpp/handleStanzas.xmpp.js +48 -11
  189. package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  190. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +1 -1
  191. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  192. package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +43 -5
  193. package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
  194. package/lib/module/networking/xmppClient.js +78 -16
  195. package/lib/module/networking/xmppClient.js.map +1 -1
  196. package/lib/module/roomStore/callSlice.js +130 -0
  197. package/lib/module/roomStore/callSlice.js.map +1 -0
  198. package/lib/module/roomStore/chatSettingsSlice.js +6 -1
  199. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  200. package/lib/module/roomStore/index.js +6 -1
  201. package/lib/module/roomStore/index.js.map +1 -1
  202. package/lib/module/roomStore/persistence.js +69 -5
  203. package/lib/module/roomStore/persistence.js.map +1 -1
  204. package/lib/module/roomStore/roomsSlice.js +134 -5
  205. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  206. package/lib/module/utils/translateModePolicy.js +27 -0
  207. package/lib/module/utils/translateModePolicy.js.map +1 -0
  208. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  209. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  210. package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts +12 -0
  211. package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts.map +1 -0
  212. package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts +31 -0
  213. package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts.map +1 -0
  214. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  215. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  216. package/lib/typescript/components/MessageBubble/MessageTranslate.d.ts +44 -0
  217. package/lib/typescript/components/MessageBubble/MessageTranslate.d.ts.map +1 -0
  218. package/lib/typescript/components/MessageBubble/TranslatedMessageBody.d.ts +24 -0
  219. package/lib/typescript/components/MessageBubble/TranslatedMessageBody.d.ts.map +1 -0
  220. package/lib/typescript/components/UsersList/UsersList.d.ts.map +1 -1
  221. package/lib/typescript/components/VideoCalls/CallButtons.d.ts +16 -0
  222. package/lib/typescript/components/VideoCalls/CallButtons.d.ts.map +1 -0
  223. package/lib/typescript/components/VideoCalls/CallIcons.d.ts +30 -0
  224. package/lib/typescript/components/VideoCalls/CallIcons.d.ts.map +1 -0
  225. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts +10 -0
  226. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -0
  227. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts +38 -0
  228. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -0
  229. package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts +52 -0
  230. package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts.map +1 -0
  231. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts +32 -0
  232. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -0
  233. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  234. package/lib/typescript/components/styled/RoomListComponents/index.d.ts.map +1 -1
  235. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  236. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  237. package/lib/typescript/components/styled/StyledInputComponents/Composing.d.ts.map +1 -1
  238. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  239. package/lib/typescript/helpers/callLogMessage.d.ts +34 -0
  240. package/lib/typescript/helpers/callLogMessage.d.ts.map +1 -0
  241. package/lib/typescript/helpers/callPush.d.ts +23 -0
  242. package/lib/typescript/helpers/callPush.d.ts.map +1 -0
  243. package/lib/typescript/helpers/constants/LANGUAGE_OPTIONS.d.ts +14 -0
  244. package/lib/typescript/helpers/constants/LANGUAGE_OPTIONS.d.ts.map +1 -1
  245. package/lib/typescript/helpers/createUserNameFromSetUser.d.ts +33 -1
  246. package/lib/typescript/helpers/createUserNameFromSetUser.d.ts.map +1 -1
  247. package/lib/typescript/helpers/getDataFromXml.d.ts.map +1 -1
  248. package/lib/typescript/helpers/incomingCallFromPush.d.ts +14 -0
  249. package/lib/typescript/helpers/incomingCallFromPush.d.ts.map +1 -0
  250. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  251. package/lib/typescript/helpers/isUnresolvedSenderId.d.ts +2 -0
  252. package/lib/typescript/helpers/isUnresolvedSenderId.d.ts.map +1 -0
  253. package/lib/typescript/hooks/useChatSettingState.d.ts +2 -1
  254. package/lib/typescript/hooks/useChatSettingState.d.ts.map +1 -1
  255. package/lib/typescript/hooks/useMessageTranslation.d.ts +25 -0
  256. package/lib/typescript/hooks/useMessageTranslation.d.ts.map +1 -0
  257. package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
  258. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  259. package/lib/typescript/i18n/strings.d.ts +16 -0
  260. package/lib/typescript/i18n/strings.d.ts.map +1 -0
  261. package/lib/typescript/i18n/useT.d.ts +34 -0
  262. package/lib/typescript/i18n/useT.d.ts.map +1 -0
  263. package/lib/typescript/main.d.ts +6 -1
  264. package/lib/typescript/main.d.ts.map +1 -1
  265. package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
  266. package/lib/typescript/networking/api-requests/rooms.api.d.ts +3 -0
  267. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  268. package/lib/typescript/networking/callTokenStanza.d.ts +14 -0
  269. package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -0
  270. package/lib/typescript/networking/outboundQueue.d.ts +1 -0
  271. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -1
  272. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  273. package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
  274. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts +10 -0
  275. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  276. package/lib/typescript/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.d.ts +16 -1
  277. package/lib/typescript/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.d.ts.map +1 -1
  278. package/lib/typescript/networking/xmppClient.d.ts +1 -1
  279. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  280. package/lib/typescript/roomStore/callSlice.d.ts +39 -0
  281. package/lib/typescript/roomStore/callSlice.d.ts.map +1 -0
  282. package/lib/typescript/roomStore/chatSettingsSlice.d.ts +10 -1
  283. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  284. package/lib/typescript/roomStore/index.d.ts +4 -0
  285. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  286. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  287. package/lib/typescript/roomStore/roomsSlice.d.ts +6 -1
  288. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  289. package/lib/typescript/types/models/language.model.d.ts +1 -1
  290. package/lib/typescript/types/models/language.model.d.ts.map +1 -1
  291. package/lib/typescript/types/models/message.model.d.ts +7 -0
  292. package/lib/typescript/types/models/message.model.d.ts.map +1 -1
  293. package/lib/typescript/types/types.d.ts +135 -1
  294. package/lib/typescript/types/types.d.ts.map +1 -1
  295. package/lib/typescript/utils/translateModePolicy.d.ts +20 -0
  296. package/lib/typescript/utils/translateModePolicy.d.ts.map +1 -0
  297. package/package.json +20 -4
  298. package/src/components/MainComponents/ChatHeader.tsx +30 -9
  299. package/src/components/MainComponents/ChatWrapper.tsx +15 -0
  300. package/src/components/MainComponents/LanguageSelectorButton.tsx +53 -0
  301. package/src/components/MainComponents/LanguageSelectorModal.tsx +276 -0
  302. package/src/components/MainComponents/RoomList.tsx +27 -9
  303. package/src/components/MessageBubble/Message.tsx +109 -17
  304. package/src/components/MessageBubble/MessageTranslate.tsx +182 -0
  305. package/src/components/MessageBubble/TranslatedMessageBody.tsx +59 -0
  306. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +3 -3
  307. package/src/components/UsersList/UsersList.tsx +3 -1
  308. package/src/components/VideoCalls/CallButtons.tsx +171 -0
  309. package/src/components/VideoCalls/CallIcons.tsx +246 -0
  310. package/src/components/VideoCalls/VideoCallOverlay.tsx +627 -0
  311. package/src/components/VideoCalls/VideoCallSession.tsx +675 -0
  312. package/src/components/VideoCalls/livekitRuntime.ts +100 -0
  313. package/src/components/VideoCalls/useCallKeep.ts +252 -0
  314. package/src/components/styled/AudioMessage.tsx +97 -37
  315. package/src/components/styled/RoomListComponents/index.tsx +15 -3
  316. package/src/components/styled/SendInput.tsx +94 -51
  317. package/src/components/styled/StyledComponents.ts +9 -6
  318. package/src/components/styled/StyledInputComponents/Composing.tsx +7 -1
  319. package/src/context/xmppProvider.tsx +14 -1
  320. package/src/helpers/callLogMessage.ts +174 -0
  321. package/src/helpers/callPush.ts +90 -0
  322. package/src/helpers/constants/LANGUAGE_OPTIONS.ts +20 -5
  323. package/src/helpers/createUserNameFromSetUser.ts +68 -2
  324. package/src/helpers/getDataFromXml.ts +40 -4
  325. package/src/helpers/incomingCallFromPush.ts +83 -0
  326. package/src/helpers/insertMessageWithDelimiter.ts +27 -9
  327. package/src/helpers/isUnresolvedSenderId.ts +25 -0
  328. package/src/hooks/useChatSettingState.tsx +4 -0
  329. package/src/hooks/useMessageTranslation.ts +70 -0
  330. package/src/hooks/usePushNotifications.ts +15 -3
  331. package/src/hooks/useSendMessage.tsx +15 -2
  332. package/src/i18n/strings.ts +1322 -0
  333. package/src/i18n/useT.ts +56 -0
  334. package/src/main.ts +18 -1
  335. package/src/networking/api-requests/push.api.ts +39 -8
  336. package/src/networking/api-requests/rooms.api.ts +109 -1
  337. package/src/networking/callTokenStanza.ts +636 -0
  338. package/src/networking/outboundQueue.ts +1 -0
  339. package/src/networking/stanzaHandlers.ts +74 -15
  340. package/src/networking/xmpp/handleStanzas.xmpp.ts +52 -11
  341. package/src/networking/xmpp/sendTextMessage.xmpp.ts +1 -1
  342. package/src/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.ts +41 -5
  343. package/src/networking/xmppClient.ts +97 -28
  344. package/src/roomStore/callSlice.ts +190 -0
  345. package/src/roomStore/chatSettingsSlice.ts +16 -0
  346. package/src/roomStore/index.ts +5 -0
  347. package/src/roomStore/persistence.ts +103 -3
  348. package/src/roomStore/roomsSlice.ts +149 -4
  349. package/src/types/models/language.model.ts +17 -1
  350. package/src/types/models/message.model.ts +9 -0
  351. package/src/types/types.ts +142 -2
  352. package/src/utils/translateModePolicy.ts +31 -0
@@ -10,6 +10,7 @@ var _createMessageFromXml = require("../helpers/createMessageFromXml");
10
10
  var _getDataFromXml = require("../helpers/getDataFromXml");
11
11
  var _chatSettingsSlice = require("../roomStore/chatSettingsSlice");
12
12
  var _messageNotificationManager = require("../utils/messageNotificationManager");
13
+ var _callLogMessage = require("../helpers/callLogMessage");
13
14
  // TO DO: we are thinking to refactor this code in the following way:
14
15
  // each stanza will be parsed for 'type'
15
16
  // then it will be handled based on the type
@@ -31,9 +32,22 @@ const onRealtimeMessage = async stanza => {
31
32
  console.log('Missing data elements in real-time message.');
32
33
  return;
33
34
  }
34
- if (!data.attrs.senderJID) {
35
+
36
+ // Not every sender stamps `senderJID` onto `<data>` — the web SDK's
37
+ // translate-tagged send path in particular builds `<data>` from a
38
+ // differently-named attr bag (roomJID/firstName/userMessage/…) that
39
+ // has no senderJID at all. This used to hard-drop the message here —
40
+ // live AND, via the identical check in onMessageHistory, in the MAM
41
+ // backfill too — so anything sent through that path just never
42
+ // appeared, on this device or after a restart. The stanza's own
43
+ // `from` is always the full MUC occupant jid (`room@conference/nick`,
44
+ // exactly what senderJID would have held), so fall back to it instead
45
+ // of dropping the message. Web's own onRealtimeMessage only requires
46
+ // `<data>` to exist at all — no senderJID check — so this brings RN
47
+ // to the same tolerance.
48
+ const senderJID = data.attrs.senderJID || stanza.attrs.from;
49
+ if (!senderJID) {
35
50
  console.log(stanza.toString());
36
- console.log(data.attrs.senderJID);
37
51
  console.log('Missing sender information in real-time message.');
38
52
  return;
39
53
  }
@@ -49,16 +63,29 @@ const onRealtimeMessage = async stanza => {
49
63
  body: pBody,
50
64
  ...pRest
51
65
  } = parsed ?? {};
66
+ const mergedData = {
67
+ ...(pData || data.attrs)
68
+ };
69
+ if (!mergedData.senderJID) {
70
+ mergedData.senderJID = senderJID;
71
+ }
52
72
  // Cast at the call site: createMessageFromXml accepts the merged
53
73
  // wrapped/positional shape; IUser type drift between models prevents
54
74
  // a narrower type here without a wider refactor.
55
- const message = await (0, _createMessageFromXml.createMessageFromXml)({
56
- data: pData || data.attrs,
75
+ const rawMessage = await (0, _createMessageFromXml.createMessageFromXml)({
76
+ data: mergedData,
57
77
  id: pId || id,
58
78
  body: pBody ?? '',
59
79
  ...pRest,
60
80
  isDeleted: !!deleted || !!pRest?.deleted
61
81
  });
82
+
83
+ // Turn server call-state stanzas into a friendly call-log entry
84
+ // ("Outgoing call · 12 sec" / "Missed call"). Non-call messages pass
85
+ // through unchanged. Without this the raw message keeps body
86
+ // "call-state" and gets dropped by the call-signal filter in
87
+ // roomsSlice, so call history silently disappears.
88
+ const message = (0, _callLogMessage.transformCallLogMessage)(rawMessage, _roomStore.store.getState().chatSettingStore.user?.xmppUsername || '');
62
89
  const roomJID = stanza.attrs.from.split('/')[0];
63
90
  _roomStore.store.dispatch((0, _roomsSlice.addRoomMessage)({
64
91
  roomJID,
@@ -70,8 +97,8 @@ const onRealtimeMessage = async stanza => {
70
97
  try {
71
98
  const state = _roomStore.store.getState();
72
99
  const currentUserWallet = (state.chatSettingStore.user?.walletAddress || '').toLowerCase();
73
- const senderJID = String(data.attrs.senderJID || '').toLowerCase();
74
- if (currentUserWallet && senderJID.includes(currentUserWallet)) {
100
+ const senderJIDLower = String(senderJID || '').toLowerCase();
101
+ if (currentUserWallet && senderJIDLower.includes(currentUserWallet)) {
75
102
  return message; // own message, skip toast
76
103
  }
77
104
  const room = state.rooms.rooms[roomJID];
@@ -137,14 +164,35 @@ const onMessageHistory = async stanza => {
137
164
  }
138
165
  // console.log(stanza.attrs.from);
139
166
 
140
- if (!data?.attrs || !data.attrs.senderFirstName || !data.attrs.senderLastName || !data.attrs.senderJID) {
167
+ // Mirror the realtime path's tolerance: don't hard-require
168
+ // senderFirstName/senderLastName/senderJID on <data> — the web SDK's
169
+ // translate-tagged send path doesn't stamp any of them, and this used
170
+ // to drop those messages out of MAM backfill entirely (so they never
171
+ // appeared even after a restart). The inner forwarded <message>'s own
172
+ // `from` is the full MUC occupant jid (room@conference/nick), exactly
173
+ // what senderJID would have held — fall back to it. createMessageFromXml
174
+ // already derives a display name from the jid when senderFirstName/
175
+ // senderLastName are absent.
176
+ const innerFrom = stanza.getChild('result')?.getChild('forwarded')?.getChild('message')?.attrs?.from || stanza.attrs.from;
177
+ const senderJID = data?.attrs?.senderJID || innerFrom;
178
+ if (!data?.attrs || !senderJID) {
141
179
  // console.log(
142
180
  // "Missing sender information in message history.",
143
181
  // stanza.toString()
144
182
  // );
145
183
  return;
146
184
  }
147
- const message = await (0, _createMessageFromXml.createMessageFromXml)(data.attrs, body, id, stanza.attrs.from, !!deleted);
185
+ const mergedAttrs = {
186
+ ...data.attrs
187
+ };
188
+ if (!mergedAttrs.senderJID) {
189
+ mergedAttrs.senderJID = senderJID;
190
+ }
191
+ const rawMessage = await (0, _createMessageFromXml.createMessageFromXml)(mergedAttrs, body, id, stanza.attrs.from, !!deleted);
192
+
193
+ // Same call-log transform as the realtime path, applied to archived
194
+ // history so calls received while offline still render as log entries.
195
+ const message = (0, _callLogMessage.transformCallLogMessage)(rawMessage, _roomStore.store.getState().chatSettingStore.user?.xmppUsername || '');
148
196
  _roomStore.store.dispatch((0, _roomsSlice.addRoomMessage)({
149
197
  roomJID: stanza.attrs.from,
150
198
  message
@@ -266,6 +314,25 @@ const onGetMembers = stanza => {
266
314
  roomMembers
267
315
  }
268
316
  }));
317
+
318
+ // Also feed the identity cache Message.tsx reads sender names from
319
+ // (state.rooms.usersSet). Keyed by both the bare local part and the
320
+ // full jid since a message's `user.id` can be either depending on
321
+ // how it was parsed (see createUserNameFromSetUser).
322
+ const usersSetUpdates = {};
323
+ for (const member of roomMembers) {
324
+ if (!member.jid) {
325
+ continue;
326
+ }
327
+ const local = member.jid.split('@')[0];
328
+ usersSetUpdates[local] = member;
329
+ usersSetUpdates[member.jid] = member;
330
+ }
331
+ if (Object.keys(usersSetUpdates).length > 0) {
332
+ _roomStore.store.dispatch((0, _roomsSlice.mergeUsersSet)({
333
+ members: usersSetUpdates
334
+ }));
335
+ }
269
336
  } catch (err) {
270
337
  console.warn('onGetMembers parse failed', err);
271
338
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_roomStore","require","_roomsSlice","_createMessageFromXml","_getDataFromXml","_chatSettingsSlice","_messageNotificationManager","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","console","log","toString","senderJID","parsed","getDataFromXml","pData","pId","pBody","pRest","message","createMessageFromXml","isDeleted","roomJID","from","split","store","dispatch","addRoomMessage","state","getState","currentUserWallet","chatSettingStore","user","walletAddress","toLowerCase","String","includes","room","rooms","roomName","title","name","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","messageNotificationManager","showNotification","err","warn","exports","onDeleteMessage","stanzaId","deleteRoomMessage","by","messageId","setDeleteModal","isDeleteModal","onEditMessage","replace","editRoomMessage","text","onMessageHistory","children","xmlns","delay","handleComposing","currentUser","composingUser","norm","s","senderLocal","selfUser","selfXmppUsername","xmppUsername","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","queries","activities","roomJid","q","acts","a","jid","activeRoomJID","length","existingRoom","existingMembers","roomMembers","existingByJid","Map","m","map","memberJid","existing","get","undefined","firstName","lastName","_id","ban_status","last_active","Number","updateRoom","updates","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","setCurrentRoom","onGetChatRooms","Array","isArray","forEach","result","currentChatRooms","isRoomAlreadyAdded","Object","values","some","element","roomData","usersCnt","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","addRoom","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","_roomsSlice","_createMessageFromXml","_getDataFromXml","_chatSettingsSlice","_messageNotificationManager","_callLogMessage","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","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","messageNotificationManager","showNotification","err","warn","exports","onDeleteMessage","stanzaId","deleteRoomMessage","by","messageId","setDeleteModal","isDeleteModal","onEditMessage","replace","editRoomMessage","text","onMessageHistory","children","xmlns","delay","innerFrom","mergedAttrs","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","queries","activities","roomJid","q","acts","a","jid","activeRoomJID","length","existingRoom","existingMembers","roomMembers","existingByJid","Map","m","map","memberJid","existing","get","undefined","firstName","lastName","_id","ban_status","last_active","Number","updateRoom","updates","usersSetUpdates","member","local","Object","keys","mergeUsersSet","members","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","setCurrentRoom","onGetChatRooms","Array","isArray","forEach","result","currentChatRooms","isRoomAlreadyAdded","values","some","element","roomData","usersCnt","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","addRoom","error","e","onMessageError","_stanza","onReactionMessage","onReactionHistory","onRoomKicked"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}
@@ -5,23 +5,59 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.handleStanza = handleStanza;
7
7
  var _stanzaHandlers = require("../stanzaHandlers");
8
+ var _callTokenStanza = require("../callTokenStanza");
9
+ /**
10
+ * Unwrap a mucsub event wrapper so the chat handlers see the real inner
11
+ * `<message>` (the one carrying `<data senderJID=…>` and `<body>`).
12
+ *
13
+ * We subscribe every room to `urn:xmpp:mucsub:nodes:messages` (see
14
+ * subscribeToRoomMessages / pushSubscriptionService), so ejabberd pushes
15
+ * room traffic as:
16
+ *
17
+ * <message from="room@conference/…">
18
+ * <event xmlns="http://jabber.org/protocol/pubsub#event">
19
+ * <items node="urn:xmpp:mucsub:nodes:messages">
20
+ * <item><message …><data senderJID=…/><body>…</body></message></item>
21
+ *
22
+ * Without unwrapping, onRealtimeMessage reads `<data>` off the OUTER
23
+ * wrapper, finds nothing, logs "Missing data elements in real-time
24
+ * message" and drops the stanza — so live messages never render and only
25
+ * surface later through the MAM history fetch (i.e. after an app restart
26
+ * or re-opening the room). Mirrors the web SDK's handleStanza.
27
+ */
28
+ const unwrapMucsubMessage = stanza => {
29
+ const inner = stanza?.getChild?.('event', 'http://jabber.org/protocol/pubsub#event')?.getChild?.('items')?.getChild?.('item')?.getChild?.('message');
30
+ return inner || stanza;
31
+ };
8
32
  function handleStanza(stanza, xmppWs) {
9
33
  if (stanza?.attrs?.type === 'headline') {
10
34
  return;
11
35
  }
36
+
37
+ // Call signaling is swallowed before any chat handler sees it. A
38
+ // `<data type="call-*">` frame is not user-visible content, and letting
39
+ // it through renders bubbles reading "Deleted User: call-state" and
40
+ // fires new-message notifications for a call that never happened.
41
+ // Returns false for server call-LOGS, which do belong in the chat.
42
+ if (stanza?.name === 'message' && (0, _callTokenStanza.onCallTokenMessage)(stanza)) {
43
+ return;
44
+ }
12
45
  switch (stanza.name) {
13
46
  case 'message':
14
- (0, _stanzaHandlers.onMessageError)(stanza, xmppWs);
15
- (0, _stanzaHandlers.onReactionMessage)(stanza);
16
- (0, _stanzaHandlers.onReactionHistory)(stanza);
17
- (0, _stanzaHandlers.onDeleteMessage)(stanza);
18
- (0, _stanzaHandlers.onEditMessage)(stanza);
19
- (0, _stanzaHandlers.onChatInvite)(stanza, xmppWs);
20
- (0, _stanzaHandlers.onRealtimeMessage)(stanza);
21
- (0, _stanzaHandlers.onMessageHistory)(stanza);
22
- (0, _stanzaHandlers.handleComposing)(stanza, xmppWs.username);
23
- (0, _stanzaHandlers.onPresenceInRoom)(stanza);
24
- break;
47
+ {
48
+ const unwrapped = unwrapMucsubMessage(stanza);
49
+ (0, _stanzaHandlers.onMessageError)(unwrapped, xmppWs);
50
+ (0, _stanzaHandlers.onReactionMessage)(unwrapped);
51
+ (0, _stanzaHandlers.onReactionHistory)(unwrapped);
52
+ (0, _stanzaHandlers.onDeleteMessage)(unwrapped);
53
+ (0, _stanzaHandlers.onEditMessage)(unwrapped);
54
+ (0, _stanzaHandlers.onChatInvite)(unwrapped, xmppWs);
55
+ (0, _stanzaHandlers.onRealtimeMessage)(unwrapped);
56
+ (0, _stanzaHandlers.onMessageHistory)(unwrapped);
57
+ (0, _stanzaHandlers.handleComposing)(unwrapped, xmppWs.username);
58
+ (0, _stanzaHandlers.onPresenceInRoom)(unwrapped);
59
+ break;
60
+ }
25
61
  case 'presence':
26
62
  (0, _stanzaHandlers.onRoomKicked)(stanza);
27
63
  (0, _stanzaHandlers.onPresenceInRoom)(stanza);
@@ -1 +1 @@
1
- {"version":3,"names":["_stanzaHandlers","require","handleStanza","stanza","xmppWs","attrs","type","name","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;AAoBO,SAASC,YAAYA,CAACC,MAAe,EAAEC,MAAkB,EAAE;EAChE,IAAID,MAAM,EAAEE,KAAK,EAAEC,IAAI,KAAK,UAAU,EAAE;IAAC;EAAO;EAChD,QAAQH,MAAM,CAACI,IAAI;IACjB,KAAK,SAAS;MACZ,IAAAC,8BAAc,EAACL,MAAM,EAAEC,MAAM,CAAC;MAC9B,IAAAK,iCAAiB,EAACN,MAAM,CAAC;MACzB,IAAAO,iCAAiB,EAACP,MAAM,CAAC;MACzB,IAAAQ,+BAAe,EAACR,MAAM,CAAC;MACvB,IAAAS,6BAAa,EAACT,MAAM,CAAC;MACrB,IAAAU,4BAAY,EAACV,MAAM,EAAEC,MAAM,CAAC;MAC5B,IAAAU,iCAAiB,EAACX,MAAM,CAAC;MACzB,IAAAY,gCAAgB,EAACZ,MAAM,CAAC;MACxB,IAAAa,+BAAe,EAACb,MAAM,EAAEC,MAAM,CAACa,QAAQ,CAAC;MACxC,IAAAC,gCAAgB,EAACf,MAAM,CAAC;MACxB;IACF,KAAK,UAAU;MACb,IAAAgB,4BAAY,EAAChB,MAAM,CAAC;MACpB,IAAAe,gCAAgB,EAACf,MAAM,CAAC;MACxB;IACF,KAAK,IAAI;MACP,IAAAiB,8BAAc,EAACjB,MAAM,EAAEC,MAAM,CAAC;MAC9B,IAAAU,iCAAiB,EAACX,MAAM,CAAC;MACzB,IAAAe,gCAAgB,EAACf,MAAM,CAAC;MACxB,IAAAkB,4BAAY,EAAClB,MAAM,CAAC;MACpB,IAAAmB,6BAAa,EAACnB,MAAM,CAAC;MACrB,IAAAoB,uCAAuB,EAACpB,MAAM,EAAEC,MAAM,CAAC;MACvC;IACF,KAAK,aAAa;MAChB,IAAAoB,gCAAgB,EAACrB,MAAM,EAAEC,MAAM,CAAC;MAChC;IACF;MACEqB,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAEvB,MAAM,CAACI,IAAI,CAAC;EACtD;AACF","ignoreList":[]}
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":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.sendTextMessage = void 0;
6
+ exports.toServiceXmlns = exports.sendTextMessage = void 0;
7
7
  var _client = require("@xmpp/client");
8
8
  // Local monotonic counter — see comment in id construction below.
9
9
  let _sendTextSeq = 0;
@@ -37,6 +37,7 @@ const toServiceXmlns = (devServer, client) => {
37
37
  // Bare host → wss://<host>/ws
38
38
  return `wss://${ds.replace(/^\/+|\/+$/g, '')}/ws`;
39
39
  };
40
+ exports.toServiceXmlns = toServiceXmlns;
40
41
  const sendTextMessage = (client, roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage, devServer, customId) => {
41
42
  // Same monotonic-counter pattern as useSendMessage.nextStanzaId, to
42
43
  // protect direct callers that don't supply a customId from
@@ -1 +1 @@
1
- {"version":3,"names":["_client","require","_sendTextSeq","toServiceXmlns","devServer","client","clientService","options","service","test","ds","trim","includes","replace","sendTextMessage","roomJID","firstName","lastName","photo","walletAddress","userMessage","notDisplayedValue","isReply","showInChannel","mainMessage","customId","id","Date","now","dataXmlns","message","xml","to","type","xmlns","senderFirstName","senderLastName","fullName","photoURL","senderJID","jid","toString","senderWalletAddress","roomJid","isSystemMessage","tokenAmount","quickReplies","push","sendResult","send","then","console","log","catch","err","error","name","stack","exports"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendTextMessage.xmpp.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_client","require","_sendTextSeq","toServiceXmlns","devServer","client","clientService","options","service","test","ds","trim","includes","replace","exports","sendTextMessage","roomJID","firstName","lastName","photo","walletAddress","userMessage","notDisplayedValue","isReply","showInChannel","mainMessage","customId","id","Date","now","dataXmlns","message","xml","to","type","xmlns","senderFirstName","senderLastName","fullName","photoURL","senderJID","jid","toString","senderWalletAddress","roomJid","isSystemMessage","tokenAmount","quickReplies","push","sendResult","send","then","console","log","catch","err","error","name","stack"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendTextMessage.xmpp.ts"],"mappings":"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","ignoreList":[]}
@@ -5,22 +5,59 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.sendTextMessageWithTranslateTag = void 0;
7
7
  var _client = require("@xmpp/client");
8
+ var _sendTextMessage = require("./sendTextMessage.xmpp");
9
+ /**
10
+ * Same wire message as `sendTextMessage`, plus a `<translate source="xx"/>`
11
+ * child that DECLARES the message's source language so the backend can
12
+ * translate it for readers in other languages. No pre-translation happens
13
+ * client-side.
14
+ *
15
+ * The `<data>` element MUST be built identically to `sendTextMessage`
16
+ * (correct `xmlns` = the `wss://<host>/ws` service URL, and the
17
+ * `senderFirstName` / `senderLastName` / `senderJID` / `roomJid` attr
18
+ * names the server + parser expect). An earlier version spread a loose
19
+ * `stanzaMessage` bag into `<data>` with no xmlns and mismatched attr
20
+ * names — the server silently dropped those stanzas, so no echo came back
21
+ * and every sent message stayed stuck in the "pending" state. Keep this in
22
+ * lockstep with sendTextMessage.xmpp.ts.
23
+ */
8
24
  const sendTextMessageWithTranslateTag = (client, stanzaMessage, source, customId) => {
9
- const id = customId || `get-translate-messsage:${Date.now().toString()}`;
25
+ const id = customId || `send-text-message-${Date.now()}`;
10
26
  try {
27
+ const dataXmlns = (0, _sendTextMessage.toServiceXmlns)(stanzaMessage.devServer, client);
11
28
  const message = (0, _client.xml)('message', {
12
29
  to: stanzaMessage.roomJID,
13
30
  type: 'groupchat',
14
- id: id
31
+ id
15
32
  }, (0, _client.xml)('data', {
16
- ...stanzaMessage,
33
+ xmlns: dataXmlns,
34
+ senderFirstName: stanzaMessage.firstName,
35
+ senderLastName: stanzaMessage.lastName,
36
+ fullName: `${stanzaMessage.firstName} ${stanzaMessage.lastName}`,
37
+ photoURL: stanzaMessage.photo,
38
+ senderJID: client.jid?.toString(),
39
+ senderWalletAddress: stanzaMessage.walletAddress,
40
+ roomJid: stanzaMessage.roomJID,
41
+ isSystemMessage: false,
42
+ tokenAmount: 0,
43
+ quickReplies: '',
44
+ notDisplayedValue: '',
45
+ showInChannel: stanzaMessage.showInChannel || false,
46
+ isReply: stanzaMessage.isReply || false,
47
+ mainMessage: stanzaMessage.mainMessage || '',
17
48
  push: 'true'
18
- }), (0, _client.xml)('body', {}, stanzaMessage.userMessage), (0, _client.xml)('translate', {
19
- source: source
49
+ }), (0, _client.xml)('body', {}, stanzaMessage.userMessage),
50
+ // `<translate source>` only DECLARES the language this text is in; it
51
+ // costs nothing to send and is what lets each reader translate the
52
+ // message into their own language on their side.
53
+ (0, _client.xml)('translate', {
54
+ source
20
55
  }));
21
56
  client.send(message);
57
+ return true;
22
58
  } catch (error) {
23
59
  console.error('An error occurred while sending message:', error);
60
+ return false;
24
61
  }
25
62
  };
26
63
  exports.sendTextMessageWithTranslateTag = sendTextMessageWithTranslateTag;
@@ -1 +1 @@
1
- {"version":3,"names":["_client","require","sendTextMessageWithTranslateTag","client","stanzaMessage","source","customId","id","Date","now","toString","message","xml","to","roomJID","type","push","userMessage","send","error","console","exports"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendTextMessageWithTranslateTag.xmpp.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAGO,MAAMC,+BAA+B,GAAGA,CAC7CC,MAAc,EACdC,aAYC,EACDC,MAAqB,EACrBC,QAAiB,KACd;EACH,MAAMC,EAAE,GAAGD,QAAQ,IAAI,0BAA0BE,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE;EAExE,IAAI;IACF,MAAMC,OAAO,GAAG,IAAAC,WAAG,EACjB,SAAS,EACT;MACEC,EAAE,EAAET,aAAa,CAACU,OAAO;MACzBC,IAAI,EAAE,WAAW;MACjBR,EAAE,EAAEA;IACN,CAAC,EACD,IAAAK,WAAG,EAAC,MAAM,EAAE;MACV,GAAGR,aAAa;MAChBY,IAAI,EAAE;IACR,CAAC,CAAC,EACF,IAAAJ,WAAG,EAAC,MAAM,EAAE,CAAC,CAAC,EAAER,aAAa,CAACa,WAAW,CAAC,EAC1C,IAAAL,WAAG,EAAC,WAAW,EAAE;MAAEP,MAAM,EAAEA;IAAO,CAAC,CACrC,CAAC;IAEDF,MAAM,CAACe,IAAI,CAACP,OAAO,CAAC;EACtB,CAAC,CAAC,OAAOQ,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAAC,0CAA0C,EAAEA,KAAK,CAAC;EAClE;AACF,CAAC;AAACE,OAAA,CAAAnB,+BAAA,GAAAA,+BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_client","require","_sendTextMessage","sendTextMessageWithTranslateTag","client","stanzaMessage","source","customId","id","Date","now","dataXmlns","toServiceXmlns","devServer","message","xml","to","roomJID","type","xmlns","senderFirstName","firstName","senderLastName","lastName","fullName","photoURL","photo","senderJID","jid","toString","senderWalletAddress","walletAddress","roomJid","isSystemMessage","tokenAmount","quickReplies","notDisplayedValue","showInChannel","isReply","mainMessage","push","userMessage","send","error","console","exports"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendTextMessageWithTranslateTag.xmpp.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,+BAA+B,GAAGA,CAC7CC,MAAc,EACdC,aAYC,EACDC,MAAqB,EACrBC,QAAiB,KACL;EACZ,MAAMC,EAAE,GAAGD,QAAQ,IAAI,qBAAqBE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;EAExD,IAAI;IACF,MAAMC,SAAS,GAAG,IAAAC,+BAAc,EAACP,aAAa,CAACQ,SAAS,EAAET,MAAM,CAAC;IACjE,MAAMU,OAAO,GAAG,IAAAC,WAAG,EACjB,SAAS,EACT;MACEC,EAAE,EAAEX,aAAa,CAACY,OAAO;MACzBC,IAAI,EAAE,WAAW;MACjBV;IACF,CAAC,EACD,IAAAO,WAAG,EAAC,MAAM,EAAE;MACVI,KAAK,EAAER,SAAS;MAChBS,eAAe,EAAEf,aAAa,CAACgB,SAAS;MACxCC,cAAc,EAAEjB,aAAa,CAACkB,QAAQ;MACtCC,QAAQ,EAAE,GAAGnB,aAAa,CAACgB,SAAS,IAAIhB,aAAa,CAACkB,QAAQ,EAAE;MAChEE,QAAQ,EAAEpB,aAAa,CAACqB,KAAK;MAC7BC,SAAS,EAAEvB,MAAM,CAACwB,GAAG,EAAEC,QAAQ,CAAC,CAAC;MACjCC,mBAAmB,EAAEzB,aAAa,CAAC0B,aAAa;MAChDC,OAAO,EAAE3B,aAAa,CAACY,OAAO;MAC9BgB,eAAe,EAAE,KAAK;MACtBC,WAAW,EAAE,CAAC;MACdC,YAAY,EAAE,EAAE;MAChBC,iBAAiB,EAAE,EAAE;MACrBC,aAAa,EAAEhC,aAAa,CAACgC,aAAa,IAAI,KAAK;MACnDC,OAAO,EAAEjC,aAAa,CAACiC,OAAO,IAAI,KAAK;MACvCC,WAAW,EAAElC,aAAa,CAACkC,WAAW,IAAI,EAAE;MAC5CC,IAAI,EAAE;IACR,CAAC,CAAC,EACF,IAAAzB,WAAG,EAAC,MAAM,EAAE,CAAC,CAAC,EAAEV,aAAa,CAACoC,WAAW,CAAC;IAC1C;IACA;IACA;IACA,IAAA1B,WAAG,EAAC,WAAW,EAAE;MAAET;IAAO,CAAC,CAC7B,CAAC;IAEDF,MAAM,CAACsC,IAAI,CAAC5B,OAAO,CAAC;IACpB,OAAO,IAAI;EACb,CAAC,CAAC,OAAO6B,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAAC,0CAA0C,EAAEA,KAAK,CAAC;IAChE,OAAO,KAAK;EACd;AACF,CAAC;AAACE,OAAA,CAAA1C,+BAAA,GAAAA,+BAAA","ignoreList":[]}
@@ -14,6 +14,7 @@ var _sendTypingRequest = require("./xmpp/sendTypingRequest.xmpp");
14
14
  var _sendPing = require("./xmpp/sendPing.xmpp");
15
15
  var _getHistory = require("./xmpp/getHistory.xmpp");
16
16
  var _sendTextMessage = require("./xmpp/sendTextMessage.xmpp");
17
+ var _sendTextMessageWithTranslateTag = require("./xmpp/sendTextMessageWithTranslateTag.xmpp");
17
18
  var _deleteMessage = require("./xmpp/deleteMessage.xmpp");
18
19
  var _presenceInRoom = require("./xmpp/presenceInRoom.xmpp");
19
20
  var _getLastMessageArchive = require("./xmpp/getLastMessageArchive.xmpp");
@@ -35,6 +36,33 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
35
36
  // Canonical production XMPP WSS endpoint (standard wss/443, no port suffix).
36
37
  const DEFAULT_DEV_SERVER = 'xmpp.chat.ethora.com';
37
38
 
39
+ // How long to wait for the old client's stop() during a reconnect before
40
+ // giving up on it. Short on purpose: we are already tearing this client
41
+ // down, and a socket that hasn't closed in 3s is exactly the dead one we
42
+ // must not block on. See the call site in reconnect().
43
+ const STOP_TIMEOUT_MS = 3000;
44
+
45
+ /**
46
+ * Resolve when `promise` settles or when `ms` elapses, whichever is first.
47
+ * Never rejects: a teardown that fails or hangs must not break the caller's
48
+ * control flow (that is the whole point of using it around stop()).
49
+ */
50
+ function withTimeout(promise, ms) {
51
+ return new Promise(resolve => {
52
+ let settled = false;
53
+ const done = () => {
54
+ if (settled) {
55
+ return;
56
+ }
57
+ settled = true;
58
+ clearTimeout(timer);
59
+ resolve();
60
+ };
61
+ const timer = setTimeout(done, ms);
62
+ Promise.resolve(promise).then(done, done);
63
+ });
64
+ }
65
+
38
66
  // @xmpp/client surfaces SASL/stream errors in a few shapes depending on
39
67
  // where it fails — XMPPError on stream:error, SASLError on SASL bind, or
40
68
  // a generic Error whose message contains "not-authorized". Match all of
@@ -650,9 +678,17 @@ class XmppClient {
650
678
  const old = this.client;
651
679
  if (old) {
652
680
  this.detachEventListeners();
653
- try {
654
- await old.stop();
655
- } catch {}
681
+ // NEVER await a bare stop(): on a half-dead socket (the exact case
682
+ // we're reconnecting for) @xmpp/client's stop() can hang forever
683
+ // waiting on a close handshake that never lands. That leaves this
684
+ // function parked before `finally`, so `reconnecting` stays true and
685
+ // EVERY later reconnect — watchdog, NetInfo, AppState — silently
686
+ // returns at the single-flight guard. The client then never comes
687
+ // back until the app is killed, which reads as "new messages just
688
+ // stop arriving". Cap the teardown and move on: initializeClient()
689
+ // replaces `this.client` anyway, and the old one's listeners are
690
+ // already detached above, so a late-settling stop() is harmless.
691
+ await withTimeout(old.stop(), STOP_TIMEOUT_MS);
656
692
  }
657
693
  this.initializeClient();
658
694
  } finally {
@@ -712,12 +748,14 @@ class XmppClient {
712
748
  // handshake can't re-enter handleStanza and dispatch into a store
713
749
  // that's being wiped (or, on re-login, the new session's store).
714
750
  this.detachEventListeners();
715
- try {
716
- await this.client.stop();
717
- console.log('XMPP client connection closed.');
718
- } catch (error) {
751
+ // Bounded like the reconnect teardown: a stop() that never settles on
752
+ // a dead socket would otherwise hang logout (the LOGOUT_EVENT handler
753
+ // awaits this) and leave the app wedged on the sign-out screen. The
754
+ // rejection is still logged — only the *waiting* is capped.
755
+ await withTimeout(Promise.resolve(this.client.stop()).catch(error => {
719
756
  console.error('Error closing the xmpp client:', error);
720
- }
757
+ }), STOP_TIMEOUT_MS);
758
+ console.log('XMPP client connection closed.');
721
759
  }
722
760
  this.status = 'offline';
723
761
  this.presencesReady = false;
@@ -901,14 +939,38 @@ class XmppClient {
901
939
  sendMessageReactionStanza(_messageId, _roomJid, _reactionsList, _reactionSymbol) {
902
940
  console.warn('sendMessageReactionStanza: not implemented in RN xmpp client');
903
941
  }
904
- sendTextMessageWithTranslateTagStanza(roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage, _langSource, customId) {
905
- // No translate tag support yet — fall back to a regular text send.
906
- // Forward the caller's customId so the optimistic message (heap/redux)
907
- // reconciles with the server echo. Without it, translated sends went
908
- // out with no client id → the echo carried a server-assigned id and
909
- // surfaced as a stuck-pending message PLUS a duplicate (affected both
910
- // the live translated-send path and resend).
911
- this.sendMessage(roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage, customId);
942
+
943
+ // Sends a groupchat message carrying a `<translate source="xx"/>` tag so
944
+ // the backend knows the message's source language and can translate it
945
+ // for each reader (mirrors the web SDK's send path). `langSource` is the
946
+ // sender's own language; it only DECLARES the source, no pre-translation
947
+ // happens client-side. Structure mirrors `sendMessage`: buffer + replay
948
+ // when the stream isn't ready so a reconnect flush re-sends it, and
949
+ // forward `customId` so the optimistic bubble reconciles with the echo.
950
+ sendTextMessageWithTranslateTagStanza(roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage, langSource, customId) {
951
+ const source = langSource || 'en';
952
+ if (!this.isStreamReady()) {
953
+ (0, _outboundQueue.enqueueOutboundSend)({
954
+ optimisticId: customId || `send-text-message-${Date.now()}`,
955
+ roomJID,
956
+ enqueuedAt: Date.now(),
957
+ send: c => c.sendTextMessageWithTranslateTagStanza(roomJID, firstName, lastName, photo, walletAddress, userMessage, notDisplayedValue, isReply, showInChannel, mainMessage, langSource, customId)
958
+ });
959
+ return false;
960
+ }
961
+ return (0, _sendTextMessageWithTranslateTag.sendTextMessageWithTranslateTag)(this.client, {
962
+ roomJID,
963
+ firstName,
964
+ lastName,
965
+ photo,
966
+ walletAddress,
967
+ userMessage,
968
+ notDisplayedValue,
969
+ isReply,
970
+ showInChannel,
971
+ mainMessage,
972
+ devServer: this.devServer || DEFAULT_DEV_SERVER
973
+ }, source, customId);
912
974
  }
913
975
  }
914
976
  exports.XmppClient = XmppClient;