@ethora/chat-component-rn 26.5.7 → 26.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/CHANGELOG.md +191 -0
  2. package/README.md +95 -10
  3. package/index.js +24 -0
  4. package/lib/commonjs/assets/icons.js +5 -1
  5. package/lib/commonjs/assets/icons.js.map +1 -1
  6. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +11 -5
  7. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  8. package/lib/commonjs/components/MainComponents/ChatHeader.js +31 -16
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js +78 -38
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js +74 -27
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  14. package/lib/commonjs/components/MainComponents/MediaMessage.js +16 -11
  15. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  16. package/lib/commonjs/components/MainComponents/MessageContainer.js +2 -2
  17. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  18. package/lib/commonjs/components/MainComponents/MessageList.js +165 -28
  19. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  20. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +17 -8
  21. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  22. package/lib/commonjs/components/MainComponents/SystemMessage.js +34 -22
  23. package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
  24. package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js +119 -0
  25. package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js.map +1 -0
  26. package/lib/commonjs/components/MessageBubble/Message.js +122 -41
  27. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  28. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +132 -44
  29. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  30. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +155 -52
  31. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  32. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
  33. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  34. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +104 -0
  35. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  36. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +144 -24
  37. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  38. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +29 -1
  39. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  40. package/lib/commonjs/components/Modals/Modal/Modal.js +5 -1
  41. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  42. package/lib/commonjs/components/Modals/ModalHeaderComponent.js +10 -0
  43. package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
  44. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +77 -47
  45. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  46. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  47. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  48. package/lib/commonjs/components/Modals/styledModalComponents.js +17 -13
  49. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  50. package/lib/commonjs/components/styled/MediaFilePreview.js +47 -28
  51. package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
  52. package/lib/commonjs/components/styled/MessageImage.js +49 -9
  53. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  54. package/lib/commonjs/components/styled/NewMessageLabel.js +8 -6
  55. package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
  56. package/lib/commonjs/components/styled/SendInput.js +49 -27
  57. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  58. package/lib/commonjs/components/styled/StyledComponents.js +6 -3
  59. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  60. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  61. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  62. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  63. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  64. package/lib/commonjs/components/styled/UnsupportedType.js +5 -1
  65. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  66. package/lib/commonjs/components/styled/VideoMessage.js +81 -16
  67. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  68. package/lib/commonjs/context/MessageNotificationContext.js +7 -7
  69. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  70. package/lib/commonjs/context/xmppProvider.js +244 -32
  71. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  72. package/lib/commonjs/helpers/chatAutoEnterer.js +2 -7
  73. package/lib/commonjs/helpers/chatAutoEnterer.js.map +1 -1
  74. package/lib/commonjs/helpers/historyPreloadScheduler.js +4 -1
  75. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  76. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +15 -5
  77. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  78. package/lib/commonjs/helpers/keyboardLayout.js +18 -0
  79. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -0
  80. package/lib/commonjs/helpers/mediaDimensions.js +51 -0
  81. package/lib/commonjs/helpers/mediaDimensions.js.map +1 -0
  82. package/lib/commonjs/helpers/mimeToExtension.js +56 -0
  83. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  84. package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
  85. package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
  86. package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
  87. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
  88. package/lib/commonjs/hooks/useHeapSender.js +1 -1
  89. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  90. package/lib/commonjs/hooks/useLogout.js +36 -11
  91. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  92. package/lib/commonjs/hooks/usePushNotifications.js +6 -2
  93. package/lib/commonjs/hooks/usePushNotifications.js.map +1 -1
  94. package/lib/commonjs/hooks/useRoomState.js +2 -0
  95. package/lib/commonjs/hooks/useRoomState.js.map +1 -1
  96. package/lib/commonjs/hooks/useSendMessage.js +201 -10
  97. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  98. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +12 -14
  99. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  100. package/lib/commonjs/main.js +7 -0
  101. package/lib/commonjs/main.js.map +1 -1
  102. package/lib/commonjs/networking/api-requests/auth.api.js +67 -0
  103. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  104. package/lib/commonjs/networking/api-requests/rooms.api.js +29 -4
  105. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  106. package/lib/commonjs/networking/apiClient.js +2 -1
  107. package/lib/commonjs/networking/apiClient.js.map +1 -1
  108. package/lib/commonjs/networking/outboundQueue.js +92 -0
  109. package/lib/commonjs/networking/outboundQueue.js.map +1 -0
  110. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  111. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  112. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  113. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  114. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  115. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  116. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  117. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  118. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  119. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  120. package/lib/commonjs/networking/xmppClient.js +294 -35
  121. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  122. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +22 -6
  123. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  124. package/lib/commonjs/roomStore/roomsSlice.js +157 -23
  125. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  126. package/lib/commonjs/utils/installPromiseRejectionTracker.js +83 -0
  127. package/lib/commonjs/utils/installPromiseRejectionTracker.js.map +1 -0
  128. package/lib/commonjs/utils/resendMessage.js +1 -1
  129. package/lib/commonjs/utils/resendMessage.js.map +1 -1
  130. package/lib/module/assets/icons.js +5 -1
  131. package/lib/module/assets/icons.js.map +1 -1
  132. package/lib/module/components/ContextMenu/ContextMenuComponents.js +11 -5
  133. package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  134. package/lib/module/components/MainComponents/ChatHeader.js +31 -16
  135. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  136. package/lib/module/components/MainComponents/ChatRoom.js +80 -40
  137. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  138. package/lib/module/components/MainComponents/ChatWrapper.js +74 -27
  139. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  140. package/lib/module/components/MainComponents/MediaMessage.js +17 -12
  141. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  142. package/lib/module/components/MainComponents/MessageContainer.js +2 -2
  143. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  144. package/lib/module/components/MainComponents/MessageList.js +166 -29
  145. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  146. package/lib/module/components/MainComponents/ReduxWrapper.js +18 -8
  147. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  148. package/lib/module/components/MainComponents/SystemMessage.js +33 -21
  149. package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
  150. package/lib/module/components/MessageBubble/InteractionsOverlay.js +112 -0
  151. package/lib/module/components/MessageBubble/InteractionsOverlay.js.map +1 -0
  152. package/lib/module/components/MessageBubble/Message.js +123 -42
  153. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  154. package/lib/module/components/MessageBubble/MessageInteractions.js +134 -46
  155. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  156. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +155 -52
  157. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  158. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
  159. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  160. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +99 -0
  161. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  162. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +148 -26
  163. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  164. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +31 -3
  165. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  166. package/lib/module/components/Modals/Modal/Modal.js +5 -1
  167. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  168. package/lib/module/components/Modals/ModalHeaderComponent.js +10 -0
  169. package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
  170. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +79 -49
  171. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  172. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  173. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  174. package/lib/module/components/Modals/styledModalComponents.js +17 -13
  175. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  176. package/lib/module/components/styled/MediaFilePreview.js +47 -28
  177. package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
  178. package/lib/module/components/styled/MessageImage.js +51 -11
  179. package/lib/module/components/styled/MessageImage.js.map +1 -1
  180. package/lib/module/components/styled/NewMessageLabel.js +8 -6
  181. package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
  182. package/lib/module/components/styled/SendInput.js +50 -28
  183. package/lib/module/components/styled/SendInput.js.map +1 -1
  184. package/lib/module/components/styled/StyledComponents.js +6 -3
  185. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  186. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  187. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  188. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  189. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  190. package/lib/module/components/styled/UnsupportedType.js +5 -1
  191. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  192. package/lib/module/components/styled/VideoMessage.js +82 -17
  193. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  194. package/lib/module/context/MessageNotificationContext.js +7 -7
  195. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  196. package/lib/module/context/xmppProvider.js +246 -34
  197. package/lib/module/context/xmppProvider.js.map +1 -1
  198. package/lib/module/helpers/chatAutoEnterer.js +2 -7
  199. package/lib/module/helpers/chatAutoEnterer.js.map +1 -1
  200. package/lib/module/helpers/historyPreloadScheduler.js +4 -1
  201. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  202. package/lib/module/helpers/insertMessageWithDelimiter.js +15 -5
  203. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  204. package/lib/module/helpers/keyboardLayout.js +12 -0
  205. package/lib/module/helpers/keyboardLayout.js.map +1 -0
  206. package/lib/module/helpers/mediaDimensions.js +46 -0
  207. package/lib/module/helpers/mediaDimensions.js.map +1 -0
  208. package/lib/module/helpers/mimeToExtension.js +55 -0
  209. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  210. package/lib/module/helpers/normalizeRoomJid.js +15 -0
  211. package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
  212. package/lib/module/hooks/useChatRoomFocus.js +82 -0
  213. package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
  214. package/lib/module/hooks/useHeapSender.js +1 -1
  215. package/lib/module/hooks/useHeapSender.js.map +1 -1
  216. package/lib/module/hooks/useLogout.js +36 -11
  217. package/lib/module/hooks/useLogout.js.map +1 -1
  218. package/lib/module/hooks/usePushNotifications.js +6 -2
  219. package/lib/module/hooks/usePushNotifications.js.map +1 -1
  220. package/lib/module/hooks/useRoomState.js +2 -0
  221. package/lib/module/hooks/useRoomState.js.map +1 -1
  222. package/lib/module/hooks/useSendMessage.js +203 -12
  223. package/lib/module/hooks/useSendMessage.js.map +1 -1
  224. package/lib/module/hooks/useUnreadMessagesCounter.js +12 -14
  225. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  226. package/lib/module/main.js +1 -0
  227. package/lib/module/main.js.map +1 -1
  228. package/lib/module/networking/api-requests/auth.api.js +67 -1
  229. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  230. package/lib/module/networking/api-requests/rooms.api.js +29 -4
  231. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  232. package/lib/module/networking/apiClient.js +2 -1
  233. package/lib/module/networking/apiClient.js.map +1 -1
  234. package/lib/module/networking/outboundQueue.js +84 -0
  235. package/lib/module/networking/outboundQueue.js.map +1 -0
  236. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  237. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  238. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  239. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  240. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  241. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  242. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  243. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  244. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  245. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  246. package/lib/module/networking/xmppClient.js +294 -35
  247. package/lib/module/networking/xmppClient.js.map +1 -1
  248. package/lib/module/roomStore/Middleware/unreadMidlleware.js +22 -6
  249. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  250. package/lib/module/roomStore/roomsSlice.js +154 -22
  251. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  252. package/lib/module/utils/installPromiseRejectionTracker.js +78 -0
  253. package/lib/module/utils/installPromiseRejectionTracker.js.map +1 -0
  254. package/lib/module/utils/resendMessage.js +1 -1
  255. package/lib/module/utils/resendMessage.js.map +1 -1
  256. package/lib/typescript/assets/icons.d.ts +8 -4
  257. package/lib/typescript/assets/icons.d.ts.map +1 -1
  258. package/lib/typescript/components/ContextMenu/ContextMenuComponents.d.ts.map +1 -1
  259. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  260. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  261. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  262. package/lib/typescript/components/MainComponents/MediaMessage.d.ts +1 -0
  263. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  264. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  265. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  266. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts +1 -0
  267. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  268. package/lib/typescript/components/MainComponents/SystemMessage.d.ts +0 -7
  269. package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
  270. package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts +13 -0
  271. package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts.map +1 -0
  272. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  273. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +4 -2
  274. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  275. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  276. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  277. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +29 -0
  278. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -0
  279. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +0 -1
  280. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  281. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  282. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  283. package/lib/typescript/components/Modals/ModalHeaderComponent.d.ts.map +1 -1
  284. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  285. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  286. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  287. package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
  288. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  289. package/lib/typescript/components/styled/NewMessageLabel.d.ts +1 -5
  290. package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
  291. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  292. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  293. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +9 -1
  294. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  295. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  296. package/lib/typescript/components/styled/UnsupportedType.d.ts +1 -0
  297. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  298. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  299. package/lib/typescript/context/xmppProvider.d.ts +1 -0
  300. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  301. package/lib/typescript/helpers/chatAutoEnterer.d.ts.map +1 -1
  302. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  303. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  304. package/lib/typescript/helpers/keyboardLayout.d.ts +9 -0
  305. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -0
  306. package/lib/typescript/helpers/mediaDimensions.d.ts +9 -0
  307. package/lib/typescript/helpers/mediaDimensions.d.ts.map +1 -0
  308. package/lib/typescript/helpers/mimeToExtension.d.ts +8 -0
  309. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  310. package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
  311. package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
  312. package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
  313. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
  314. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  315. package/lib/typescript/hooks/useLogout.d.ts +23 -1
  316. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  317. package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
  318. package/lib/typescript/hooks/useRoomState.d.ts +1 -0
  319. package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
  320. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  321. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  322. package/lib/typescript/main.d.ts +1 -0
  323. package/lib/typescript/main.d.ts.map +1 -1
  324. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -0
  325. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  326. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  327. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  328. package/lib/typescript/networking/outboundQueue.d.ts +57 -0
  329. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -0
  330. package/lib/typescript/networking/xmpp/createTimeoutPromise.xmpp.d.ts.map +1 -1
  331. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -1
  332. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  333. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts +1 -1
  334. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts.map +1 -1
  335. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  336. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  337. package/lib/typescript/networking/xmppClient.d.ts +33 -4
  338. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  339. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  340. package/lib/typescript/roomStore/roomsSlice.d.ts +8 -1
  341. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  342. package/lib/typescript/types/models/media.model.d.ts +1 -0
  343. package/lib/typescript/types/models/media.model.d.ts.map +1 -1
  344. package/lib/typescript/types/models/xmpp.model.d.ts +1 -1
  345. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  346. package/lib/typescript/types/types.d.ts +20 -0
  347. package/lib/typescript/types/types.d.ts.map +1 -1
  348. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts +20 -0
  349. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts.map +1 -0
  350. package/lib/typescript/utils/resendMessage.d.ts.map +1 -1
  351. package/package.json +23 -4
  352. package/src/assets/icons.tsx +23 -14
  353. package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
  354. package/src/components/MainComponents/ChatHeader.tsx +46 -15
  355. package/src/components/MainComponents/ChatRoom.tsx +95 -66
  356. package/src/components/MainComponents/ChatWrapper.tsx +127 -42
  357. package/src/components/MainComponents/MediaMessage.tsx +14 -8
  358. package/src/components/MainComponents/MessageContainer.tsx +4 -2
  359. package/src/components/MainComponents/MessageList.tsx +175 -28
  360. package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
  361. package/src/components/MainComponents/SystemMessage.tsx +38 -26
  362. package/src/components/MessageBubble/InteractionsOverlay.tsx +121 -0
  363. package/src/components/MessageBubble/Message.tsx +133 -63
  364. package/src/components/MessageBubble/MessageInteractions.tsx +146 -58
  365. package/src/components/Modals/AttachSheet/AttachSheet.tsx +146 -39
  366. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +25 -3
  367. package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
  368. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +161 -26
  369. package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
  370. package/src/components/Modals/Modal/Modal.tsx +4 -1
  371. package/src/components/Modals/ModalHeaderComponent.tsx +8 -1
  372. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +70 -58
  373. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
  374. package/src/components/Modals/styledModalComponents.tsx +17 -13
  375. package/src/components/styled/MediaFilePreview.tsx +46 -26
  376. package/src/components/styled/MessageImage.tsx +58 -13
  377. package/src/components/styled/NewMessageLabel.tsx +8 -5
  378. package/src/components/styled/SendInput.tsx +64 -29
  379. package/src/components/styled/StyledComponents.ts +6 -3
  380. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +15 -5
  381. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +7 -2
  382. package/src/components/styled/UnsupportedType.tsx +7 -1
  383. package/src/components/styled/VideoMessage.tsx +76 -12
  384. package/src/context/MessageNotificationContext.tsx +8 -8
  385. package/src/context/xmppProvider.tsx +247 -30
  386. package/src/helpers/chatAutoEnterer.ts +2 -8
  387. package/src/helpers/historyPreloadScheduler.ts +4 -1
  388. package/src/helpers/insertMessageWithDelimiter.ts +22 -15
  389. package/src/helpers/keyboardLayout.ts +18 -0
  390. package/src/helpers/mediaDimensions.ts +47 -0
  391. package/src/helpers/mimeToExtension.ts +64 -0
  392. package/src/helpers/normalizeRoomJid.ts +6 -0
  393. package/src/hooks/useChatRoomFocus.ts +95 -0
  394. package/src/hooks/useHeapSender.tsx +2 -1
  395. package/src/hooks/useLogout.tsx +36 -13
  396. package/src/hooks/usePushNotifications.ts +21 -8
  397. package/src/hooks/useRoomState.tsx +4 -0
  398. package/src/hooks/useSendMessage.tsx +258 -13
  399. package/src/hooks/useUnreadMessagesCounter.ts +13 -16
  400. package/src/main.ts +1 -0
  401. package/src/networking/api-requests/auth.api.ts +55 -1
  402. package/src/networking/api-requests/rooms.api.ts +31 -7
  403. package/src/networking/apiClient.ts +2 -1
  404. package/src/networking/outboundQueue.ts +98 -0
  405. package/src/networking/xmpp/createTimeoutPromise.xmpp.ts +5 -1
  406. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +11 -13
  407. package/src/networking/xmpp/getRoomsPaged.xmpp.ts +27 -3
  408. package/src/networking/xmpp/presenceInRoom.xmpp.ts +24 -9
  409. package/src/networking/xmpp/sendTextMessage.xmpp.ts +2 -1
  410. package/src/networking/xmppClient.ts +317 -43
  411. package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
  412. package/src/roomStore/roomsSlice.ts +177 -27
  413. package/src/types/models/media.model.ts +3 -0
  414. package/src/types/models/xmpp.model.ts +2 -1
  415. package/src/types/types.ts +31 -0
  416. package/src/utils/installPromiseRejectionTracker.ts +91 -0
  417. package/src/utils/resendMessage.ts +2 -1
@@ -5,13 +5,26 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useSendMessage = void 0;
7
7
  var _react = require("react");
8
+ var _reactNative = require("react-native");
8
9
  var _uuid = require("uuid");
9
10
  var _xmppProvider = require("../context/xmppProvider");
10
11
  var _reactRedux = require("react-redux");
11
12
  var _roomsSlice = require("../roomStore/roomsSlice");
12
13
  var _roomHeapSlice = require("../roomStore/roomHeapSlice");
13
14
  var _auth = require("../networking/api-requests/auth.api");
15
+ var _outboundQueue = require("../networking/outboundQueue");
16
+ var _roomStore = require("../roomStore");
17
+ var _clientRegistry = require("../utils/clientRegistry");
14
18
  var _useEventHandlers = require("./useEventHandlers");
19
+ // Watchdog: if a message stays "pending" (no server echo) for this
20
+ // long after the optimistic dispatch, mark it failed so the bubble
21
+ // flips out of the "sending..." state. Covers the silent-failure
22
+ // case (e.g. device offline before the message ever made it to the
23
+ // XMPP socket) — bug #18. Tuned generously so a brief network blip
24
+ // followed by reconnect within 30s still resolves naturally via the
25
+ // server echo.
26
+ const PENDING_WATCHDOG_MS = 30_000;
27
+
15
28
  // Monotonic counter for stanza ids. Bumped on each send within a single
16
29
  // process. Two rapid sends in the same millisecond used to collide on
17
30
  // `send-text-message-${Date.now()}`; that collision made
@@ -20,11 +33,20 @@ var _useEventHandlers = require("./useEventHandlers");
20
33
  // whose body was whatever the last dispatch wrote.
21
34
  let __sendIdSeq = 0;
22
35
  const nextStanzaId = prefix => `${prefix}-${Date.now()}-${__sendIdSeq = __sendIdSeq + 1 >>> 0}`;
36
+
37
+ // Hard client-side cap on a single upload. The backend rejects oversized
38
+ // bodies with HTTP 413; SendInput blocks oversized files at pick time,
39
+ // and this mirrors that limit on every send path (including retries).
40
+ const MAX_MEDIA_BYTES = 50 * 1024 * 1024;
23
41
  const useSendMessage = _configOverride => {
24
42
  const {
25
43
  client
26
44
  } = (0, _xmppProvider.useXmppClient)();
27
45
  const dispatch = (0, _reactRedux.useDispatch)();
46
+ // useStore gives us imperative getState() access for the watchdog —
47
+ // peek at the message's current pending/failed state from inside a
48
+ // setTimeout callback without re-rendering on every redux change.
49
+ const reduxStore = (0, _reactRedux.useStore)();
28
50
 
29
51
  // Split selectors so each returns a primitive/stable reference — the
30
52
  // single-object selector above caused a "returned a different result
@@ -102,16 +124,56 @@ const useSendMessage = _configOverride => {
102
124
  message: optimisticMessage
103
125
  }));
104
126
  }
127
+
128
+ // Silent-failure watchdog (bug #18). If no echo lands within
129
+ // PENDING_WATCHDOG_MS, flip the bubble to "failed → tap to
130
+ // retry". We check at fire-time whether the message is still
131
+ // pending and not already marked failed by the catch path.
132
+ const watchdogTimer = setTimeout(() => {
133
+ const state = reduxStore.getState();
134
+ const roomMsgs = state.rooms?.rooms?.[activeRoomJID]?.messages || [];
135
+ const stillPending = roomMsgs.find(m => m.id === optimisticId && m.pending);
136
+ const alreadyFailed = state.roomHeapSlice?.failedMessages?.[optimisticId];
137
+ if (stillPending && !alreadyFailed) {
138
+ console.warn(`Send watchdog fired — message ${optimisticId} stuck pending > ${PENDING_WATCHDOG_MS}ms; marking failed`);
139
+ dispatch((0, _roomHeapSlice.markMessageFailed)({
140
+ kind: 'text',
141
+ id: optimisticId,
142
+ roomJID: activeRoomJID,
143
+ body: message,
144
+ isReply,
145
+ isChecked,
146
+ mainMessage
147
+ }));
148
+ handleMessageFailed({
149
+ message,
150
+ roomJID: activeRoomJID,
151
+ error: new Error('Send timed out (no server echo)'),
152
+ messageType: 'text'
153
+ });
154
+ }
155
+ }, PENDING_WATCHDOG_MS);
105
156
  try {
106
- if (!client) {
107
- throw new Error('No XMPP client');
157
+ const effectiveClient = client || [(0, _clientRegistry.getGlobalXmppClient)(), _roomStore.store.getState()?.chatSettingStore?.client].find(c => c && c.status === 'online');
158
+ if (!effectiveClient) {
159
+ const anyClient = client || (0, _clientRegistry.getGlobalXmppClient)() || _roomStore.store.getState()?.chatSettingStore?.client;
160
+ try {
161
+ anyClient?.forceReconnect?.();
162
+ } catch {}
163
+ (0, _outboundQueue.enqueueOutboundSend)({
164
+ optimisticId,
165
+ roomJID: activeRoomJID,
166
+ enqueuedAt: Date.now(),
167
+ send: c => c.sendMessage(activeRoomJID, user.firstName, user.lastName, '', user.walletAddress, message, '', isReply || false, isChecked || false, mainMessage || '', optimisticId)
168
+ });
169
+ return;
108
170
  }
109
171
  // Pass the optimistic id as the stanza id so the server echoes
110
172
  // it back with the same value — the reducer's dedupe lookup
111
173
  // matches and the bubble flips from pending → delivered in-place
112
174
  // (instead of rendering two copies, which is what happens when
113
175
  // ids don't match).
114
- client.sendMessage(activeRoomJID, user.firstName, user.lastName, '', user.walletAddress, message, '', isReply || false, isChecked || false, mainMessage || '', optimisticId);
176
+ effectiveClient.sendMessage(activeRoomJID, user.firstName, user.lastName, '', user.walletAddress, message, '', isReply || false, isChecked || false, mainMessage || '', optimisticId);
115
177
  await handleMessageSent({
116
178
  message,
117
179
  roomJID: activeRoomJID,
@@ -119,6 +181,7 @@ const useSendMessage = _configOverride => {
119
181
  messageType: 'text'
120
182
  });
121
183
  } catch (error) {
184
+ clearTimeout(watchdogTimer);
122
185
  dispatch((0, _roomHeapSlice.markMessageFailed)({
123
186
  kind: 'text',
124
187
  id: optimisticId,
@@ -135,9 +198,37 @@ const useSendMessage = _configOverride => {
135
198
  messageType: 'text'
136
199
  });
137
200
  }
138
- }, [editAction, client, user, dispatch, handleMessageSent, handleMessageEdited, handleMessageFailed]);
201
+ }, [editAction, client, user, dispatch, handleMessageSent, handleMessageEdited, handleMessageFailed, reduxStore]);
139
202
  const sendMedia = (0, _react.useCallback)(async (data, type, activeRoomJID, isReply = false, isChecked = false, mainMessage = '', existingId) => {
140
203
  client?.onCriticalSend?.(activeRoomJID);
204
+
205
+ // Defensive 50 MB guard on every send path (SendInput blocks it at
206
+ // pick time, but retries replay the saved payload straight here).
207
+ if (typeof data?.size === 'number' && data.size > MAX_MEDIA_BYTES) {
208
+ console.warn('media exceeds 50MB cap — not uploading', {
209
+ name: data?.name,
210
+ size: data?.size
211
+ });
212
+ if (existingId) {
213
+ dispatch((0, _roomHeapSlice.markMessageFailed)({
214
+ kind: 'media',
215
+ id: existingId,
216
+ roomJID: activeRoomJID,
217
+ data,
218
+ type,
219
+ isReply,
220
+ isChecked,
221
+ mainMessage
222
+ }));
223
+ }
224
+ handleMessageFailed({
225
+ message: 'media',
226
+ roomJID: activeRoomJID,
227
+ error: new Error('File exceeds the 50 MB upload limit'),
228
+ messageType: 'media'
229
+ });
230
+ return;
231
+ }
141
232
  const id = existingId || `send-media-message:${(0, _uuid.v4)()}`;
142
233
  const optimisticTimestamp = Date.now();
143
234
  const optimisticDate = new Date(optimisticTimestamp).toISOString();
@@ -192,10 +283,82 @@ const useSendMessage = _configOverride => {
192
283
  mainMessage
193
284
  }));
194
285
  }
286
+
287
+ // Silent-failure watchdog for media-send (bug #18). Same shape
288
+ // as the text path: if the optimistic bubble never gets the echo
289
+ // (e.g. upload completed but XMPP send is buffered offline), flip
290
+ // to failed → tap to retry.
291
+ const mediaWatchdog = setTimeout(() => {
292
+ const state = reduxStore.getState();
293
+ const roomMsgs = state.rooms?.rooms?.[activeRoomJID]?.messages || [];
294
+ const stillPending = roomMsgs.find(m => m.id === id && m.pending);
295
+ const alreadyFailed = state.roomHeapSlice?.failedMessages?.[id];
296
+ if (stillPending && !alreadyFailed) {
297
+ console.warn(`Media-send watchdog fired — ${id} stuck pending > ${PENDING_WATCHDOG_MS}ms; marking failed`);
298
+ dispatch((0, _roomHeapSlice.markMessageFailed)({
299
+ kind: 'media',
300
+ id,
301
+ roomJID: activeRoomJID,
302
+ data,
303
+ type,
304
+ isReply,
305
+ isChecked,
306
+ mainMessage
307
+ }));
308
+ handleMessageFailed({
309
+ message: 'media',
310
+ roomJID: activeRoomJID,
311
+ error: new Error('Media send timed out (no server echo)'),
312
+ messageType: 'media'
313
+ });
314
+ }
315
+ }, PENDING_WATCHDOG_MS);
316
+
317
+ // Help RN's FormData polyfill build a proper multipart/file part
318
+ // (instead of serialising the JS object as JSON). On iOS the
319
+ // picker can return ph:// or assets-library:// URIs for some
320
+ // legacy library items — those can't be read as files. Coerce
321
+ // to a file:// scheme when possible so the body is a real blob.
322
+ const fileBlob = {
323
+ uri: typeof data?.uri === 'string' ? data.uri.replace(/^assets-library:\/\//, 'file://') : data?.uri,
324
+ type: data?.type || data?.mimeType || type || 'application/octet-stream',
325
+ name: data?.name || data?.fileName || `media_${Date.now()}`
326
+ };
327
+
328
+ // Mirror the web client: a single multipart POST to /files/ with
329
+ // the file under the plural "files" field. We send it via fetch
330
+ // (not axios) because RN's fetch sets the multipart boundary on the
331
+ // Content-Type header correctly. The previous axios fallback omitted
332
+ // a valid boundary, so the server mis-parsed one file as many and
333
+ // rejected the request with HTTP 413 "TOO_MANY_FILES". The only
334
+ // retry is the documented singular-"file" fallback for deployments
335
+ // that 500 on the plural field (bug #10).
336
+ const tryUpload = async () => {
337
+ const fd = new FormData();
338
+ fd.append('files', fileBlob);
339
+ try {
340
+ return await (0, _auth.uploadFileViaFetch)(fd);
341
+ } catch (err) {
342
+ if (err?.response?.status === 500) {
343
+ console.warn('upload "files" field returned 500 — retrying with "file" (singular)', {
344
+ name: fileBlob.name,
345
+ type: fileBlob.type
346
+ });
347
+ const fd2 = new FormData();
348
+ fd2.append('file', fileBlob);
349
+ return await (0, _auth.uploadFileViaFetch)(fd2);
350
+ }
351
+ throw err;
352
+ }
353
+ };
195
354
  try {
196
- const mediaData = new FormData();
197
- mediaData.append('files', data);
198
- const response = await (0, _auth.uploadFile)(mediaData);
355
+ const response = await tryUpload();
356
+ // Upload succeeded — the stanza is now in flight. If the
357
+ // server echo arrives within the watchdog window the bubble
358
+ // flips normally; if not, the watchdog still fires and marks
359
+ // it failed. We don't clear the timer on upload success because
360
+ // the XMPP send could still fail silently.
361
+
199
362
  for (const item of response.data.results) {
200
363
  const messagePayload = {
201
364
  firstName: user.firstName,
@@ -226,7 +389,21 @@ const useSendMessage = _configOverride => {
226
389
  // Stanza id == placeholder id so the MUC echo's outer
227
390
  // <message id="..."> matches xmppId on the placeholder and
228
391
  // insertMessageWithDelimiter merges in place + flips pending.
229
- client?.sendMediaMessageStanza(activeRoomJID, messagePayload, id);
392
+ const effectiveMediaClient = client || [(0, _clientRegistry.getGlobalXmppClient)(), _roomStore.store.getState()?.chatSettingStore?.client].find(c => c && c.status === 'online');
393
+ if (effectiveMediaClient) {
394
+ effectiveMediaClient.sendMediaMessageStanza(activeRoomJID, messagePayload, id);
395
+ } else {
396
+ const anyMediaClient = client || (0, _clientRegistry.getGlobalXmppClient)() || _roomStore.store.getState()?.chatSettingStore?.client;
397
+ try {
398
+ anyMediaClient?.forceReconnect?.();
399
+ } catch {}
400
+ (0, _outboundQueue.enqueueOutboundSend)({
401
+ optimisticId: id,
402
+ roomJID: activeRoomJID,
403
+ enqueuedAt: Date.now(),
404
+ send: c => c.sendMediaMessageStanza(activeRoomJID, messagePayload, id)
405
+ });
406
+ }
230
407
  }
231
408
  await handleMessageSent({
232
409
  message: 'media',
@@ -244,16 +421,30 @@ const useSendMessage = _configOverride => {
244
421
  }
245
422
  });
246
423
  } catch (error) {
424
+ // Upload (or stanza send) threw an explicit error. Clear the
425
+ // watchdog so it doesn't double-fire `markMessageFailed`.
426
+ clearTimeout(mediaWatchdog);
247
427
  // Surface the real server payload so we can see why the upload
248
428
  // was rejected (axios collapses the message to "Request failed
249
429
  // with status code N"; the actual reason lives in
250
430
  // `error.response.data`).
431
+ const uriStr = typeof data?.uri === 'string' ? data.uri : '';
432
+ const uriScheme = uriStr.match(/^([a-z]+):/i)?.[1] ?? 'unknown';
251
433
  console.error('upload failed', {
252
434
  status: error?.response?.status,
253
435
  statusText: error?.response?.statusText,
254
436
  serverBody: error?.response?.data,
255
437
  requestUrl: error?.config?.url,
256
- axiosMessage: error?.message
438
+ axiosMessage: error?.message,
439
+ axiosCode: error?.code,
440
+ axiosCauseMessage: error?.cause?.message,
441
+ uri: uriStr,
442
+ uriScheme,
443
+ mime: fileBlob.type,
444
+ fileSizeBytes: data?.size ?? null,
445
+ fileName: fileBlob.name,
446
+ platformOS: _reactNative.Platform.OS,
447
+ platformVersion: _reactNative.Platform.Version
257
448
  });
258
449
  dispatch((0, _roomHeapSlice.markMessageFailed)({
259
450
  kind: 'media',
@@ -272,7 +463,7 @@ const useSendMessage = _configOverride => {
272
463
  messageType: 'media'
273
464
  });
274
465
  }
275
- }, [client, config, user, dispatch, handleMessageSent, handleMessageFailed]);
466
+ }, [client, config, user, dispatch, handleMessageSent, handleMessageFailed, reduxStore]);
276
467
 
277
468
  // Retry a previously-failed send by replaying the saved payload from
278
469
  // the heap. Clears the failure flag first so the bubble flips back to
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_uuid","_xmppProvider","_reactRedux","_roomsSlice","_roomHeapSlice","_auth","_useEventHandlers","__sendIdSeq","nextStanzaId","prefix","Date","now","useSendMessage","_configOverride","client","useXmppClient","dispatch","useDispatch","user","useSelector","state","chatSettingStore","config","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","useEventHandlers","failedMessages","roomHeapSlice","sendMessage","useCallback","message","activeRoomJID","isReply","isChecked","mainMessage","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","setEditAction","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","name","firstName","lastName","trim","disableSentLogic","addRoomMessage","Error","markMessageFailed","kind","sendMedia","data","type","existingId","uuidv4","optimisticTimestamp","displayName","fileSizeStr","size","String","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","showInChannel","addMessageToHeap","mediaData","FormData","append","response","uploadFile","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","sendMediaMessageStanza","metadata","fileData","fileType","uploadResults","console","status","statusText","serverBody","requestUrl","url","axiosMessage","retryMessage","failedId","payload","clearMessageFailure","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","messages","length","last","exports"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_uuid","_xmppProvider","_reactRedux","_roomsSlice","_roomHeapSlice","_auth","_outboundQueue","_roomStore","_clientRegistry","_useEventHandlers","PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","useXmppClient","dispatch","useDispatch","reduxStore","useStore","user","useSelector","state","chatSettingStore","config","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","useEventHandlers","failedMessages","roomHeapSlice","sendMessage","useCallback","message","activeRoomJID","isReply","isChecked","mainMessage","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","setEditAction","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","name","firstName","lastName","trim","disableSentLogic","addRoomMessage","watchdogTimer","setTimeout","getState","roomMsgs","messages","stillPending","find","m","alreadyFailed","console","warn","markMessageFailed","kind","Error","effectiveClient","getGlobalXmppClient","store","c","status","anyClient","forceReconnect","enqueueOutboundSend","enqueuedAt","send","clearTimeout","sendMedia","data","type","existingId","size","uuidv4","optimisticTimestamp","displayName","fileSizeStr","String","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","showInChannel","addMessageToHeap","mediaWatchdog","fileBlob","uri","replace","mimeType","tryUpload","fd","FormData","append","uploadFileViaFetch","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","effectiveMediaClient","sendMediaMessageStanza","anyMediaClient","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","Platform","OS","platformVersion","Version","retryMessage","failedId","payload","clearMessageFailure","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last","exports"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,20 +7,18 @@ exports.useUnreadMessagesCounter = exports.useUnread = void 0;
7
7
  var _react = require("react");
8
8
  var _roomStore = require("../roomStore");
9
9
  const useUnreadMessagesCounter = () => {
10
- const subscribe = callback => {
11
- const unsubscribe = _roomStore.store.subscribe(() => {
12
- const state = _roomStore.store.getState();
13
- const rooms = state.rooms?.rooms;
14
- if (rooms) {
15
- Object.entries(rooms).forEach(([roomJid, room]) => {
16
- if (room.unreadMessages !== undefined) {
17
- callback();
18
- }
19
- });
20
- }
21
- });
22
- return unsubscribe;
23
- };
10
+ // Notify React on EVERY store change and let useSyncExternalStore's
11
+ // snapshot comparison (Object.is on the `rooms` reference) decide
12
+ // whether to re-render. The previous implementation only fired the
13
+ // callback while iterating rooms that already had `unreadMessages`
14
+ // defined — so when `rooms` became empty (logout, or the last room
15
+ // removed) the loop body never ran, the callback never fired, and the
16
+ // hook never re-rendered: a consumer's badge stayed stuck at its last
17
+ // non-zero count after logout. (It's also cheaper — one callback per
18
+ // change instead of one per unread room. Redux Toolkit keeps the
19
+ // `rooms` slice reference stable across actions that don't touch it,
20
+ // so non-rooms dispatches still don't trigger a re-render.)
21
+ const subscribe = callback => _roomStore.store.subscribe(callback);
24
22
  const rooms = (0, _react.useSyncExternalStore)(subscribe, () => _roomStore.store.getState().rooms.rooms);
25
23
  const unreadByRoom = {};
26
24
  let totalCount = 0;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_roomStore","useUnreadMessagesCounter","subscribe","callback","unsubscribe","store","state","getState","rooms","Object","entries","forEach","roomJid","room","unreadMessages","undefined","useSyncExternalStore","unreadByRoom","totalCount","unreadCount","hasUnread","exports","useUnread"],"sourceRoot":"../../../src","sources":["hooks/useUnreadMessagesCounter.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAYO,MAAME,wBAAwB,GAAGA,CAAA,KAA2B;EACjE,MAAMC,SAAS,GAAIC,QAAoB,IAAK;IAC1C,MAAMC,WAAW,GAAGC,gBAAK,CAACH,SAAS,CAAC,MAAM;MACxC,MAAMI,KAAgB,GAAGD,gBAAK,CAACE,QAAQ,CAAC,CAAC;MACzC,MAAMC,KAAK,GAAGF,KAAK,CAACE,KAAK,EAAEA,KAAK;MAEhC,IAAIA,KAAK,EAAE;QACTC,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CAACG,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;UAClE,IAAIA,IAAI,CAACC,cAAc,KAAKC,SAAS,EAAE;YACrCZ,QAAQ,CAAC,CAAC;UACZ;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IACF,OAAOC,WAAW;EACpB,CAAC;EAED,MAAMI,KAAK,GAAG,IAAAQ,2BAAoB,EAChCd,SAAS,EACT,MAAMG,gBAAK,CAACE,QAAQ,CAAC,CAAC,CAACC,KAAK,CAACA,KAC/B,CAAC;EAED,MAAMS,YAA+B,GAAG,CAAC,CAAC;EAC1C,IAAIC,UAAU,GAAG,CAAC;EAElBT,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CAACG,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;IAClE,MAAMM,WAAW,GAAGN,IAAI,CAACC,cAAc,IAAI,CAAC;IAC5C,IAAIK,WAAW,GAAG,CAAC,EAAE;MACnBF,YAAY,CAACL,OAAO,CAAC,GAAGO,WAAW;MACnCD,UAAU,IAAIC,WAAW;IAC3B;EACF,CAAC,CAAC;EAEF,OAAO;IACLC,SAAS,EAAEF,UAAU,GAAG,CAAC;IACzBA,UAAU;IACVD;EACF,CAAC;AACH,CAAC;AAACI,OAAA,CAAAC,SAAA,GAAAD,OAAA,CAAApB,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_roomStore","useUnreadMessagesCounter","subscribe","callback","store","rooms","useSyncExternalStore","getState","unreadByRoom","totalCount","Object","entries","forEach","roomJid","room","unreadCount","unreadMessages","hasUnread","exports","useUnread"],"sourceRoot":"../../../src","sources":["hooks/useUnreadMessagesCounter.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAYO,MAAME,wBAAwB,GAAGA,CAAA,KAA2B;EACjE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,SAAS,GAAIC,QAAoB,IAAKC,gBAAK,CAACF,SAAS,CAACC,QAAQ,CAAC;EAErE,MAAME,KAAK,GAAG,IAAAC,2BAAoB,EAChCJ,SAAS,EACT,MAAME,gBAAK,CAACG,QAAQ,CAAC,CAAC,CAACF,KAAK,CAACA,KAC/B,CAAC;EAED,MAAMG,YAA+B,GAAG,CAAC,CAAC;EAC1C,IAAIC,UAAU,GAAG,CAAC;EAElBC,MAAM,CAACC,OAAO,CAACN,KAAK,CAAC,CAACO,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;IAClE,MAAMC,WAAW,GAAGD,IAAI,CAACE,cAAc,IAAI,CAAC;IAC5C,IAAID,WAAW,GAAG,CAAC,EAAE;MACnBP,YAAY,CAACK,OAAO,CAAC,GAAGE,WAAW;MACnCN,UAAU,IAAIM,WAAW;IAC3B;EACF,CAAC,CAAC;EAEF,OAAO;IACLE,SAAS,EAAER,UAAU,GAAG,CAAC;IACzBA,UAAU;IACVD;EACF,CAAC;AACH,CAAC;AAACU,OAAA,CAAAC,SAAA,GAAAD,OAAA,CAAAjB,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "resendMessage", {
33
33
  return _resendMessage.resendMessage;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "useChatRoomFocus", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _useChatRoomFocus.useChatRoomFocus;
40
+ }
41
+ });
36
42
  Object.defineProperty(exports, "useQRCodeChat", {
37
43
  enumerable: true,
38
44
  get: function () {
@@ -49,6 +55,7 @@ require("react-native-get-random-values");
49
55
  var _ReduxWrapper = require("./components/MainComponents/ReduxWrapper");
50
56
  var _xmppProvider = require("./context/xmppProvider");
51
57
  var _useUnreadMessagesCounter = require("./hooks/useUnreadMessagesCounter");
58
+ var _useChatRoomFocus = require("./hooks/useChatRoomFocus");
52
59
  var _useLogout = require("./hooks/useLogout");
53
60
  var _useQRCodeChatHandler = require("./hooks/useQRCodeChatHandler");
54
61
  var _resendMessage = require("./utils/resendMessage");
@@ -1 +1 @@
1
- {"version":3,"names":["require","_ReduxWrapper","_xmppProvider","_useUnreadMessagesCounter","_useLogout","_useQRCodeChatHandler","_resendMessage"],"sourceRoot":"../../src","sources":["main.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBAA,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAGA,IAAAG,yBAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["require","_ReduxWrapper","_xmppProvider","_useUnreadMessagesCounter","_useChatRoomFocus","_useLogout","_useQRCodeChatHandler","_resendMessage"],"sourceRoot":"../../src","sources":["main.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBAA,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAGA,IAAAG,yBAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA","ignoreList":[]}
@@ -9,8 +9,10 @@ exports.loginSocial = loginSocial;
9
9
  exports.loginViaJwt = loginViaJwt;
10
10
  exports.registerSocial = registerSocial;
11
11
  exports.uploadFile = uploadFile;
12
+ exports.uploadFileViaFetch = uploadFileViaFetch;
12
13
  var _apiClient = _interopRequireWildcard(require("../apiClient"));
13
14
  var _roomStore = require("../../roomStore");
15
+ var _devLogger = require("../../utils/devLogger");
14
16
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
17
  // import {
16
18
  // getAuth,
@@ -129,4 +131,69 @@ function uploadFile(formData) {
129
131
  }
130
132
  });
131
133
  }
134
+ async function uploadFileViaFetch(formData) {
135
+ const token = _roomStore.store.getState().chatSettingStore?.user?.token ?? '';
136
+ const baseUrl = (0, _apiClient.getCurrentBaseURL)();
137
+ const url = `${baseUrl.replace(/\/$/, '')}/files/`;
138
+ (0, _devLogger.pushLog)('http', `→ POST ${url} (fetch)`, {
139
+ headers: {
140
+ Authorization: token ? token.slice(0, 16) + '…' : '[empty]',
141
+ Accept: '*/*'
142
+ }
143
+ });
144
+ let res;
145
+ try {
146
+ res = await fetch(url, {
147
+ method: 'POST',
148
+ headers: {
149
+ Authorization: token,
150
+ Accept: '*/*'
151
+ },
152
+ body: formData
153
+ });
154
+ } catch (e) {
155
+ (0, _devLogger.pushLog)('http', `← ERR fetch /files/`, {
156
+ name: e?.name,
157
+ message: e?.message,
158
+ stack: e?.stack
159
+ });
160
+ const err = new Error(e?.message || 'Network request failed');
161
+ err.code = 'ERR_NETWORK';
162
+ err.cause = e;
163
+ err.config = {
164
+ url: '/files/'
165
+ };
166
+ throw err;
167
+ }
168
+ if (!res.ok) {
169
+ let body = null;
170
+ try {
171
+ body = await res.json();
172
+ } catch {
173
+ try {
174
+ body = await res.text();
175
+ } catch {
176
+ body = null;
177
+ }
178
+ }
179
+ (0, _devLogger.pushLog)('http', `← ${res.status} POST /files/ (fetch)`, body);
180
+ const err = new Error(`Upload failed: ${res.status}`);
181
+ err.response = {
182
+ status: res.status,
183
+ statusText: res.statusText,
184
+ data: body
185
+ };
186
+ err.config = {
187
+ url: '/files/'
188
+ };
189
+ throw err;
190
+ }
191
+ const data = await res.json();
192
+ (0, _devLogger.pushLog)('http', `← ${res.status} POST /files/ (fetch)`, {
193
+ resultsCount: Array.isArray(data?.results) ? data.results.length : 'n/a'
194
+ });
195
+ return {
196
+ data
197
+ };
198
+ }
132
199
  //# sourceMappingURL=auth.api.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_apiClient","_interopRequireWildcard","require","_roomStore","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","loginEmail","email","password","res","http","post","headers","Authorization","getCurrentAppToken","console","log","data","loginSocial","idToken","accessToken","loginType","authToken","registerSocial","signUpPlan","signupPlan","checkEmailExist","loginViaJwt","clientToken","response","hasUser","user","hasToken","token","hasRefreshToken","refreshToken","userData","_id","firstName","lastName","xmppUsername","uploadFile","formData","store","getState","chatSettingStore","Accept","transformRequest","delete"],"sourceRoot":"../../../../src","sources":["networking/api-requests/auth.api.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_apiClient","_interopRequireWildcard","require","_roomStore","_devLogger","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","loginEmail","email","password","res","http","post","headers","Authorization","getCurrentAppToken","console","log","data","loginSocial","idToken","accessToken","loginType","authToken","registerSocial","signUpPlan","signupPlan","checkEmailExist","loginViaJwt","clientToken","response","hasUser","user","hasToken","token","hasRefreshToken","refreshToken","userData","_id","firstName","lastName","xmppUsername","uploadFile","formData","store","getState","chatSettingStore","Accept","transformRequest","delete","uploadFileViaFetch","baseUrl","getCurrentBaseURL","url","replace","pushLog","slice","fetch","method","body","name","message","stack","err","Error","code","cause","config","ok","json","text","status","statusText","resultsCount","Array","isArray","results","length"],"sourceRoot":"../../../../src","sources":["networking/api-requests/auth.api.ts"],"mappings":"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","ignoreList":[]}
@@ -27,16 +27,41 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
27
27
  * 1. explicit `room.jid` from the server (if present)
28
28
  * 2. `<name>@conference.<xmppHost>` where xmppHost comes from the
29
29
  * provider's `xmppSettings.host` saved to `chatSettingStore.config`
30
- * 3. fallback: `<name>@conference.xmpp.chat.ethora.com`
30
+ * 3. derive host from `config.baseUrl` (api.<host> → xmpp.<host>)
31
+ * as a last-resort heuristic for misconfigured deployments
32
+ * 4. otherwise: skip the room with a warn log (NEVER fall back to a
33
+ * hardcoded vendor host — previously `xmpp.chat.ethora.com`, which
34
+ * manifested as a phantom "ethora" room stub on third-party servers,
35
+ * customer-reported #23)
31
36
  */
32
37
  function dispatchRoomsFromRestItems(items) {
33
38
  if (!items?.length) return;
34
39
  const config = _roomStore.store.getState().chatSettingStore?.config;
35
- const host = config?.xmppSettings?.host || config?.xmppSettings?.conference?.replace(/^conference\./, '') || 'xmpp.chat.ethora.com';
36
- const conference = config?.xmppSettings?.conference || `conference.${host}`;
40
+ // Best: explicit xmpp settings.
41
+ let host = config?.xmppSettings?.host || config?.xmppSettings?.conference?.replace(/^conference\./, '');
42
+ // Heuristic fallback: derive xmpp host from the REST baseUrl.
43
+ // `https://api.foo.com/v1` → `xmpp.foo.com`. Better than a hardcoded
44
+ // vendor host and right in 99% of single-domain deployments.
45
+ if (!host && typeof config?.baseUrl === 'string') {
46
+ const m = /^https?:\/\/(?:api\.)?([^/]+)/i.exec(config.baseUrl);
47
+ if (m && m[1]) {
48
+ host = `xmpp.${m[1].replace(/^api\./, '')}`;
49
+ }
50
+ }
51
+ const conference = config?.xmppSettings?.conference || (host ? `conference.${host}` : undefined);
37
52
  for (const item of items) {
38
53
  if (!item) continue;
39
- const jid = item.jid || `${item.name}@${conference}`;
54
+ let jid = item.jid;
55
+ if (!jid) {
56
+ if (!conference) {
57
+ // No server-supplied JID and no way to synthesize one safely —
58
+ // skip rather than create a phantom room on a wrong host.
59
+ // Consumers who hit this should set config.xmppSettings.host.
60
+ console.warn(`[ethora-rn] rooms.api: skipping room "${item.name}" — no item.jid and no xmppSettings.host / baseUrl to derive host from`);
61
+ continue;
62
+ }
63
+ jid = `${item.name}@${conference}`;
64
+ }
40
65
  if (!jid.includes('@')) continue;
41
66
  const room = {
42
67
  id: item._id || jid,