@ethora/chat-component-rn 26.5.5 → 26.5.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 (420) hide show
  1. package/CHANGELOG.md +177 -0
  2. package/README.md +67 -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 +7 -1
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js +66 -34
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js +59 -14
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  14. package/lib/commonjs/components/MainComponents/MediaMessage.js +15 -7
  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 +175 -30
  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/Message.js +117 -19
  25. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  26. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +82 -22
  27. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  28. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +16 -4
  29. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  30. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +104 -0
  31. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  32. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +175 -40
  33. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  34. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +29 -1
  35. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  36. package/lib/commonjs/components/Modals/Modal/Modal.js +5 -1
  37. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  38. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +78 -39
  39. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  40. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  41. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  42. package/lib/commonjs/components/Modals/styledModalComponents.js +4 -9
  43. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  44. package/lib/commonjs/components/styled/MediaFilePreview.js +115 -5
  45. package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
  46. package/lib/commonjs/components/styled/MessageImage.js +49 -10
  47. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  48. package/lib/commonjs/components/styled/NewMessageLabel.js +8 -6
  49. package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
  50. package/lib/commonjs/components/styled/SendInput.js +53 -29
  51. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  52. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  53. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  54. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  55. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  56. package/lib/commonjs/components/styled/UnsupportedType.js +5 -1
  57. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  58. package/lib/commonjs/components/styled/VideoMessage.js +60 -22
  59. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  60. package/lib/commonjs/context/MessageNotificationContext.js +7 -7
  61. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  62. package/lib/commonjs/context/xmppProvider.js +315 -34
  63. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  64. package/lib/commonjs/helpers/chatAutoEnterer.js +2 -7
  65. package/lib/commonjs/helpers/chatAutoEnterer.js.map +1 -1
  66. package/lib/commonjs/helpers/historyPreloadScheduler.js +4 -1
  67. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  68. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +15 -5
  69. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  70. package/lib/commonjs/helpers/keyboardLayout.js +18 -0
  71. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -0
  72. package/lib/commonjs/helpers/mediaDimensions.js +51 -0
  73. package/lib/commonjs/helpers/mediaDimensions.js.map +1 -0
  74. package/lib/commonjs/helpers/mimeToExtension.js +131 -0
  75. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -0
  76. package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
  77. package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
  78. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +73 -1
  79. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  80. package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
  81. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
  82. package/lib/commonjs/hooks/useChatWrapperInit.js +22 -10
  83. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  84. package/lib/commonjs/hooks/useEventHandlers.js +9 -1
  85. package/lib/commonjs/hooks/useEventHandlers.js.map +1 -1
  86. package/lib/commonjs/hooks/useHeapSender.js +1 -1
  87. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  88. package/lib/commonjs/hooks/useLogout.js +3 -3
  89. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  90. package/lib/commonjs/hooks/useMessageHeapState.js +6 -2
  91. package/lib/commonjs/hooks/useMessageHeapState.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 +249 -14
  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 +74 -1
  103. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  104. package/lib/commonjs/networking/apiClient.js +2 -1
  105. package/lib/commonjs/networking/apiClient.js.map +1 -1
  106. package/lib/commonjs/networking/outboundQueue.js +92 -0
  107. package/lib/commonjs/networking/outboundQueue.js.map +1 -0
  108. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  109. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  110. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  111. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  112. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  113. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  114. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  115. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  116. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  117. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  118. package/lib/commonjs/networking/xmppClient.js +371 -26
  119. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  120. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +22 -6
  121. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  122. package/lib/commonjs/roomStore/roomHeapSlice.js +26 -8
  123. package/lib/commonjs/roomStore/roomHeapSlice.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 +7 -1
  135. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  136. package/lib/module/components/MainComponents/ChatRoom.js +67 -35
  137. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  138. package/lib/module/components/MainComponents/ChatWrapper.js +59 -14
  139. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  140. package/lib/module/components/MainComponents/MediaMessage.js +15 -7
  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 +176 -31
  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/Message.js +118 -20
  151. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  152. package/lib/module/components/MessageBubble/MessageInteractions.js +84 -24
  153. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  154. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +15 -3
  155. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  156. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +99 -0
  157. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  158. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +179 -42
  159. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  160. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +31 -3
  161. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  162. package/lib/module/components/Modals/Modal/Modal.js +5 -1
  163. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  164. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +80 -41
  165. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  166. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  167. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  168. package/lib/module/components/Modals/styledModalComponents.js +4 -9
  169. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  170. package/lib/module/components/styled/MediaFilePreview.js +116 -6
  171. package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
  172. package/lib/module/components/styled/MessageImage.js +51 -12
  173. package/lib/module/components/styled/MessageImage.js.map +1 -1
  174. package/lib/module/components/styled/NewMessageLabel.js +8 -6
  175. package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
  176. package/lib/module/components/styled/SendInput.js +54 -30
  177. package/lib/module/components/styled/SendInput.js.map +1 -1
  178. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  179. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  180. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  181. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  182. package/lib/module/components/styled/UnsupportedType.js +5 -1
  183. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  184. package/lib/module/components/styled/VideoMessage.js +61 -23
  185. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  186. package/lib/module/context/MessageNotificationContext.js +7 -7
  187. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  188. package/lib/module/context/xmppProvider.js +319 -37
  189. package/lib/module/context/xmppProvider.js.map +1 -1
  190. package/lib/module/helpers/chatAutoEnterer.js +2 -7
  191. package/lib/module/helpers/chatAutoEnterer.js.map +1 -1
  192. package/lib/module/helpers/historyPreloadScheduler.js +4 -1
  193. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  194. package/lib/module/helpers/insertMessageWithDelimiter.js +15 -5
  195. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  196. package/lib/module/helpers/keyboardLayout.js +12 -0
  197. package/lib/module/helpers/keyboardLayout.js.map +1 -0
  198. package/lib/module/helpers/mediaDimensions.js +46 -0
  199. package/lib/module/helpers/mediaDimensions.js.map +1 -0
  200. package/lib/module/helpers/mimeToExtension.js +124 -0
  201. package/lib/module/helpers/mimeToExtension.js.map +1 -0
  202. package/lib/module/helpers/normalizeRoomJid.js +15 -0
  203. package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
  204. package/lib/module/helpers/resolveInitBeforeLoadUser.js +71 -0
  205. package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  206. package/lib/module/hooks/useChatRoomFocus.js +82 -0
  207. package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
  208. package/lib/module/hooks/useChatWrapperInit.js +22 -10
  209. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  210. package/lib/module/hooks/useEventHandlers.js +9 -1
  211. package/lib/module/hooks/useEventHandlers.js.map +1 -1
  212. package/lib/module/hooks/useHeapSender.js +1 -1
  213. package/lib/module/hooks/useHeapSender.js.map +1 -1
  214. package/lib/module/hooks/useLogout.js +3 -3
  215. package/lib/module/hooks/useLogout.js.map +1 -1
  216. package/lib/module/hooks/useMessageHeapState.js +6 -2
  217. package/lib/module/hooks/useMessageHeapState.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 +252 -17
  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 +74 -2
  229. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  230. package/lib/module/networking/apiClient.js +2 -1
  231. package/lib/module/networking/apiClient.js.map +1 -1
  232. package/lib/module/networking/outboundQueue.js +84 -0
  233. package/lib/module/networking/outboundQueue.js.map +1 -0
  234. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  235. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  236. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  237. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  238. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  239. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  240. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  241. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  242. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  243. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  244. package/lib/module/networking/xmppClient.js +371 -26
  245. package/lib/module/networking/xmppClient.js.map +1 -1
  246. package/lib/module/roomStore/Middleware/unreadMidlleware.js +22 -6
  247. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  248. package/lib/module/roomStore/roomHeapSlice.js +24 -7
  249. package/lib/module/roomStore/roomHeapSlice.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/Message.d.ts.map +1 -1
  271. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +4 -2
  272. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  273. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  274. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +29 -0
  275. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -0
  276. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +0 -1
  277. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  278. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  279. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  280. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts +6 -0
  281. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  282. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  283. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  284. package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
  285. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  286. package/lib/typescript/components/styled/NewMessageLabel.d.ts +1 -5
  287. package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
  288. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  289. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +9 -1
  290. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  291. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  292. package/lib/typescript/components/styled/UnsupportedType.d.ts +1 -0
  293. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  294. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  295. package/lib/typescript/context/xmppProvider.d.ts +1 -0
  296. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  297. package/lib/typescript/helpers/chatAutoEnterer.d.ts.map +1 -1
  298. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  299. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  300. package/lib/typescript/helpers/keyboardLayout.d.ts +9 -0
  301. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -0
  302. package/lib/typescript/helpers/mediaDimensions.d.ts +9 -0
  303. package/lib/typescript/helpers/mediaDimensions.d.ts.map +1 -0
  304. package/lib/typescript/helpers/mimeToExtension.d.ts +37 -0
  305. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -0
  306. package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
  307. package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
  308. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts +18 -0
  309. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
  310. package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
  311. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
  312. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  313. package/lib/typescript/hooks/useEventHandlers.d.ts +6 -0
  314. package/lib/typescript/hooks/useEventHandlers.d.ts.map +1 -1
  315. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  316. package/lib/typescript/hooks/useMessageHeapState.d.ts +2 -0
  317. package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
  318. package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
  319. package/lib/typescript/hooks/useRoomState.d.ts +1 -0
  320. package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
  321. package/lib/typescript/hooks/useSendMessage.d.ts +2 -1
  322. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  323. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  324. package/lib/typescript/main.d.ts +1 -0
  325. package/lib/typescript/main.d.ts.map +1 -1
  326. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -0
  327. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  328. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  329. package/lib/typescript/networking/outboundQueue.d.ts +57 -0
  330. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -0
  331. package/lib/typescript/networking/xmpp/createTimeoutPromise.xmpp.d.ts.map +1 -1
  332. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -1
  333. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  334. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts +1 -1
  335. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts.map +1 -1
  336. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  337. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  338. package/lib/typescript/networking/xmppClient.d.ts +58 -5
  339. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  340. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  341. package/lib/typescript/roomStore/roomHeapSlice.d.ts +22 -1
  342. package/lib/typescript/roomStore/roomHeapSlice.d.ts.map +1 -1
  343. package/lib/typescript/roomStore/roomsSlice.d.ts +8 -1
  344. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  345. package/lib/typescript/types/models/media.model.d.ts +1 -0
  346. package/lib/typescript/types/models/media.model.d.ts.map +1 -1
  347. package/lib/typescript/types/models/xmpp.model.d.ts +1 -1
  348. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  349. package/lib/typescript/types/types.d.ts +10 -0
  350. package/lib/typescript/types/types.d.ts.map +1 -1
  351. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts +20 -0
  352. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts.map +1 -0
  353. package/lib/typescript/utils/resendMessage.d.ts.map +1 -1
  354. package/package.json +18 -2
  355. package/src/assets/icons.tsx +23 -14
  356. package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
  357. package/src/components/MainComponents/ChatHeader.tsx +5 -1
  358. package/src/components/MainComponents/ChatRoom.tsx +81 -61
  359. package/src/components/MainComponents/ChatWrapper.tsx +100 -21
  360. package/src/components/MainComponents/MediaMessage.tsx +18 -8
  361. package/src/components/MainComponents/MessageContainer.tsx +4 -2
  362. package/src/components/MainComponents/MessageList.tsx +185 -31
  363. package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
  364. package/src/components/MainComponents/SystemMessage.tsx +38 -26
  365. package/src/components/MessageBubble/Message.tsx +110 -27
  366. package/src/components/MessageBubble/MessageInteractions.tsx +98 -29
  367. package/src/components/Modals/AttachSheet/AttachSheet.tsx +17 -3
  368. package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
  369. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +182 -37
  370. package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
  371. package/src/components/Modals/Modal/Modal.tsx +4 -1
  372. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +77 -44
  373. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
  374. package/src/components/Modals/styledModalComponents.tsx +4 -9
  375. package/src/components/styled/MediaFilePreview.tsx +111 -5
  376. package/src/components/styled/MessageImage.tsx +58 -14
  377. package/src/components/styled/NewMessageLabel.tsx +8 -5
  378. package/src/components/styled/SendInput.tsx +67 -29
  379. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +15 -5
  380. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +7 -2
  381. package/src/components/styled/UnsupportedType.tsx +7 -1
  382. package/src/components/styled/VideoMessage.tsx +59 -18
  383. package/src/context/MessageNotificationContext.tsx +8 -8
  384. package/src/context/xmppProvider.tsx +337 -32
  385. package/src/helpers/chatAutoEnterer.ts +2 -8
  386. package/src/helpers/historyPreloadScheduler.ts +4 -1
  387. package/src/helpers/insertMessageWithDelimiter.ts +22 -15
  388. package/src/helpers/keyboardLayout.ts +18 -0
  389. package/src/helpers/mediaDimensions.ts +47 -0
  390. package/src/helpers/mimeToExtension.ts +135 -0
  391. package/src/helpers/normalizeRoomJid.ts +6 -0
  392. package/src/helpers/resolveInitBeforeLoadUser.ts +79 -0
  393. package/src/hooks/useChatRoomFocus.ts +95 -0
  394. package/src/hooks/useChatWrapperInit.ts +51 -46
  395. package/src/hooks/useEventHandlers.tsx +24 -1
  396. package/src/hooks/useHeapSender.tsx +2 -1
  397. package/src/hooks/useLogout.tsx +3 -3
  398. package/src/hooks/useMessageHeapState.tsx +6 -2
  399. package/src/hooks/usePushNotifications.ts +21 -8
  400. package/src/hooks/useRoomState.tsx +4 -0
  401. package/src/hooks/useSendMessage.tsx +333 -17
  402. package/src/hooks/useUnreadMessagesCounter.ts +13 -16
  403. package/src/main.ts +1 -0
  404. package/src/networking/api-requests/auth.api.ts +60 -2
  405. package/src/networking/apiClient.ts +2 -1
  406. package/src/networking/outboundQueue.ts +98 -0
  407. package/src/networking/xmpp/createTimeoutPromise.xmpp.ts +5 -1
  408. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +11 -13
  409. package/src/networking/xmpp/getRoomsPaged.xmpp.ts +27 -3
  410. package/src/networking/xmpp/presenceInRoom.xmpp.ts +24 -9
  411. package/src/networking/xmpp/sendTextMessage.xmpp.ts +2 -1
  412. package/src/networking/xmppClient.ts +399 -31
  413. package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
  414. package/src/roomStore/roomHeapSlice.ts +47 -4
  415. package/src/roomStore/roomsSlice.ts +177 -27
  416. package/src/types/models/media.model.ts +3 -0
  417. package/src/types/models/xmpp.model.ts +2 -1
  418. package/src/types/types.ts +25 -0
  419. package/src/utils/installPromiseRejectionTracker.ts +91 -0
  420. 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
@@ -37,8 +59,10 @@ const useSendMessage = _configOverride => {
37
59
  const {
38
60
  handleMessageSent,
39
61
  handleMessageFailed,
40
- handleMessageEdited
62
+ handleMessageEdited,
63
+ handleMessageRetry
41
64
  } = (0, _useEventHandlers.useEventHandlers)(config);
65
+ const failedMessages = (0, _reactRedux.useSelector)(state => state.roomHeapSlice?.failedMessages || {});
42
66
  const sendMessage = (0, _react.useCallback)(async (message, activeRoomJID, isReply, isChecked, mainMessage) => {
43
67
  if (editAction?.isEdit) {
44
68
  try {
@@ -100,16 +124,56 @@ const useSendMessage = _configOverride => {
100
124
  message: optimisticMessage
101
125
  }));
102
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);
103
156
  try {
104
- if (!client) {
105
- 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;
106
170
  }
107
171
  // Pass the optimistic id as the stanza id so the server echoes
108
172
  // it back with the same value — the reducer's dedupe lookup
109
173
  // matches and the bubble flips from pending → delivered in-place
110
174
  // (instead of rendering two copies, which is what happens when
111
175
  // ids don't match).
112
- 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);
113
177
  await handleMessageSent({
114
178
  message,
115
179
  roomJID: activeRoomJID,
@@ -117,6 +181,16 @@ const useSendMessage = _configOverride => {
117
181
  messageType: 'text'
118
182
  });
119
183
  } catch (error) {
184
+ clearTimeout(watchdogTimer);
185
+ dispatch((0, _roomHeapSlice.markMessageFailed)({
186
+ kind: 'text',
187
+ id: optimisticId,
188
+ roomJID: activeRoomJID,
189
+ body: message,
190
+ isReply,
191
+ isChecked,
192
+ mainMessage
193
+ }));
120
194
  handleMessageFailed({
121
195
  message,
122
196
  roomJID: activeRoomJID,
@@ -124,16 +198,44 @@ const useSendMessage = _configOverride => {
124
198
  messageType: 'text'
125
199
  });
126
200
  }
127
- }, [editAction, client, user, dispatch, handleMessageSent, handleMessageEdited, handleMessageFailed]);
128
- const sendMedia = (0, _react.useCallback)(async (data, type, activeRoomJID, isReply = false, isChecked = false, mainMessage = '') => {
201
+ }, [editAction, client, user, dispatch, handleMessageSent, handleMessageEdited, handleMessageFailed, reduxStore]);
202
+ const sendMedia = (0, _react.useCallback)(async (data, type, activeRoomJID, isReply = false, isChecked = false, mainMessage = '', existingId) => {
129
203
  client?.onCriticalSend?.(activeRoomJID);
130
- const id = `send-media-message:${(0, _uuid.v4)()}`;
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
+ }
232
+ const id = existingId || `send-media-message:${(0, _uuid.v4)()}`;
131
233
  const optimisticTimestamp = Date.now();
132
234
  const optimisticDate = new Date(optimisticTimestamp).toISOString();
133
235
  const selfId = user?.xmppUsername || user?.walletAddress || '';
134
236
  const displayName = `${user?.firstName || ''} ${user?.lastName || ''}`.trim() || selfId;
135
237
  const fileSizeStr = data?.size != null ? String(data.size) : '';
136
- if (!config?.disableSentLogic) {
238
+ if (!config?.disableSentLogic && !existingId) {
137
239
  dispatch((0, _roomsSlice.addRoomMessage)({
138
240
  roomJID: activeRoomJID,
139
241
  message: {
@@ -181,10 +283,82 @@ const useSendMessage = _configOverride => {
181
283
  mainMessage
182
284
  }));
183
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
+ };
184
354
  try {
185
- const mediaData = new FormData();
186
- mediaData.append('files', data);
187
- 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
+
188
362
  for (const item of response.data.results) {
189
363
  const messagePayload = {
190
364
  firstName: user.firstName,
@@ -215,7 +389,21 @@ const useSendMessage = _configOverride => {
215
389
  // Stanza id == placeholder id so the MUC echo's outer
216
390
  // <message id="..."> matches xmppId on the placeholder and
217
391
  // insertMessageWithDelimiter merges in place + flips pending.
218
- 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
+ }
219
407
  }
220
408
  await handleMessageSent({
221
409
  message: 'media',
@@ -233,17 +421,41 @@ const useSendMessage = _configOverride => {
233
421
  }
234
422
  });
235
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);
236
427
  // Surface the real server payload so we can see why the upload
237
428
  // was rejected (axios collapses the message to "Request failed
238
429
  // with status code N"; the actual reason lives in
239
430
  // `error.response.data`).
431
+ const uriStr = typeof data?.uri === 'string' ? data.uri : '';
432
+ const uriScheme = uriStr.match(/^([a-z]+):/i)?.[1] ?? 'unknown';
240
433
  console.error('upload failed', {
241
434
  status: error?.response?.status,
242
435
  statusText: error?.response?.statusText,
243
436
  serverBody: error?.response?.data,
244
437
  requestUrl: error?.config?.url,
245
- 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
246
448
  });
449
+ dispatch((0, _roomHeapSlice.markMessageFailed)({
450
+ kind: 'media',
451
+ id,
452
+ roomJID: activeRoomJID,
453
+ data,
454
+ type,
455
+ isReply,
456
+ isChecked,
457
+ mainMessage
458
+ }));
247
459
  handleMessageFailed({
248
460
  message: 'media',
249
461
  roomJID: activeRoomJID,
@@ -251,7 +463,29 @@ const useSendMessage = _configOverride => {
251
463
  messageType: 'media'
252
464
  });
253
465
  }
254
- }, [client, config, user, dispatch, handleMessageSent, handleMessageFailed]);
466
+ }, [client, config, user, dispatch, handleMessageSent, handleMessageFailed, reduxStore]);
467
+
468
+ // Retry a previously-failed send by replaying the saved payload from
469
+ // the heap. Clears the failure flag first so the bubble flips back to
470
+ // "sending..."; if the retry fails again `markMessageFailed` re-arms
471
+ // it. No-op when the id isn't in the failed map.
472
+ const retryMessage = (0, _react.useCallback)(async failedId => {
473
+ const payload = failedMessages[failedId];
474
+ if (!payload) {
475
+ return;
476
+ }
477
+ dispatch((0, _roomHeapSlice.clearMessageFailure)(failedId));
478
+ handleMessageRetry({
479
+ messageId: failedId,
480
+ roomJID: payload.roomJID,
481
+ messageType: payload.kind
482
+ });
483
+ if (payload.kind === 'text') {
484
+ await sendMessage(payload.body, payload.roomJID, payload.isReply, payload.isChecked, payload.mainMessage);
485
+ } else {
486
+ await sendMedia(payload.data, payload.type, payload.roomJID, payload.isReply, payload.isChecked, payload.mainMessage, failedId);
487
+ }
488
+ }, [failedMessages, dispatch, handleMessageRetry, sendMessage, sendMedia]);
255
489
 
256
490
  // ChatRoom/ThreadWrapper consume this as the "edit branch" of send.
257
491
  // It mirrors the edit path inside `sendMessage` so callers can wire it
@@ -306,6 +540,7 @@ const useSendMessage = _configOverride => {
306
540
  sendMessage,
307
541
  sendMedia,
308
542
  sendEditMessage,
543
+ retryMessage,
309
544
  isLastMessageFromUserAndProcessing
310
545
  };
311
546
  };
@@ -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","useEventHandlers","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","sendMedia","data","type","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","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,
@@ -119,8 +121,79 @@ function uploadFile(formData) {
119
121
  headers: {
120
122
  Authorization: token,
121
123
  Accept: '*/*',
122
- 'Content-Type': 'multipart/form-data'
124
+ 'Content-Type': null
125
+ },
126
+ transformRequest: (data, headers) => {
127
+ if (headers?.delete) {
128
+ headers.delete('Content-Type');
129
+ }
130
+ return data;
123
131
  }
124
132
  });
125
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
+ }
126
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"],"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":[]}