@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
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_ContextMenuComponents","_reactRedux","_MESSAGE_INTERACTIONS","_reactNative","Clipboard","_ToastContext","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","useToast","config","useSelector","state","chatSettingStore","handleCopyMessage","text","setStringAsync","id","Date","now","toString","title","type","err","console","log","memoPosition","useMemo","top","y","right","left","disableInteractions","jsx","Modal","transparent","animationType","visible","onRequestClose","children","isDeleted","jsxs","View","style","styles","overlayFill","Pressable","StyleSheet","absoluteFill","onPress","contextMenu","MenuItem","body","Text","MESSAGE_INTERACTIONS","COPY","MESSAGE_INTERACTIONS_ICONS","Fragment","Delimeter","EDIT","DELETE","_default","exports","create","absoluteFillObject","backgroundColor","paddingVertical","paddingHorizontal","borderRadius","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","minWidth"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/MessageInteractions.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_ContextMenuComponents","_reactRedux","_MESSAGE_INTERACTIONS","_reactNative","Clipboard","_ToastContext","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MessageInteractions","isReply","isUser","message","closeMenu","position","handleReplyMessage","replyMessage","handleDeleteMessage","handleEditMessage","showToast","useToast","config","useSelector","state","chatSettingStore","menuSize","setMenuSize","useState","width","height","handleMenuLayout","nativeEvent","layout","handleCopyMessage","text","setStringAsync","id","Date","now","toString","title","type","err","console","log","memoPosition","useMemo","undefined","top","bottom","left","opacity","screenWidth","screenHeight","Dimensions","bottomReserve","keyboardVerticalOffset","topReserve","sideMargin","spaceBelow","spaceAbove","Math","max","leftMargin","rightMargin","right","rightAligned","min","disableInteractions","jsx","Modal","transparent","animationType","visible","onRequestClose","children","isDeleted","jsxs","View","style","styles","overlayFill","Pressable","StyleSheet","absoluteFill","onPress","contextMenu","onLayout","MenuItem","body","Text","menuText","MESSAGE_INTERACTIONS","COPY","MESSAGE_INTERACTIONS_ICONS","Fragment","isMediafile","Delimeter","EDIT","DELETE","_default","exports","create","absoluteFillObject","backgroundColor","paddingVertical","paddingHorizontal","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","minWidth","overflow","fontSize","color","includeFontPadding","textAlignVertical","marginRight"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/MessageInteractions.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _icons = require("../../../assets/icons");
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ 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); }
12
12
  /** @format */
13
13
 
14
14
  const AttachSheet = ({
@@ -19,9 +19,20 @@ const AttachSheet = ({
19
19
  onDocument,
20
20
  primaryColor = '#0052CD'
21
21
  }) => {
22
+ const pendingRef = (0, _react.useRef)(null);
23
+ const runPending = () => {
24
+ const fn = pendingRef.current;
25
+ pendingRef.current = null;
26
+ fn?.();
27
+ };
22
28
  const trigger = handler => () => {
23
- onClose();
24
- setTimeout(handler, 150);
29
+ if (_reactNative.Platform.OS === 'ios') {
30
+ pendingRef.current = handler;
31
+ onClose();
32
+ } else {
33
+ onClose();
34
+ setTimeout(handler, 150);
35
+ }
25
36
  };
26
37
  const rows = [{
27
38
  label: 'Take photo',
@@ -44,6 +55,7 @@ const AttachSheet = ({
44
55
  visible: visible,
45
56
  animationType: "slide",
46
57
  onRequestClose: onClose,
58
+ onDismiss: runPending,
47
59
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
48
60
  style: styles.backdrop,
49
61
  activeOpacity: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_icons","_jsxRuntime","e","__esModule","default","AttachSheet","visible","onClose","onCamera","onGallery","onDocument","primaryColor","trigger","handler","setTimeout","rows","label","hint","Icon","CameraIcon","MediaIcon","DocumentIcon","jsx","Modal","transparent","animationType","onRequestClose","children","TouchableOpacity","style","styles","backdrop","activeOpacity","onPress","jsxs","sheet","View","grabber","Text","title","map","idx","row","length","rowDivider","iconBubble","backgroundColor","color","width","height","rowText","rowLabel","rowHint","cancelRow","cancelLabel","StyleSheet","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","paddingBottom","Platform","OS","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","alignSelf","borderRadius","marginBottom","fontSize","fontWeight","letterSpacing","textTransform","paddingHorizontal","flexDirection","alignItems","paddingVertical","borderBottomWidth","hairlineWidth","borderBottomColor","marginRight","marginTop","marginHorizontal","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/AttachSheet/AttachSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_icons","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AttachSheet","visible","onClose","onCamera","onGallery","onDocument","primaryColor","pendingRef","useRef","runPending","fn","current","trigger","handler","Platform","OS","setTimeout","rows","label","hint","Icon","CameraIcon","MediaIcon","DocumentIcon","jsx","Modal","transparent","animationType","onRequestClose","onDismiss","children","TouchableOpacity","style","styles","backdrop","activeOpacity","onPress","jsxs","sheet","View","grabber","Text","title","map","idx","row","length","rowDivider","iconBubble","backgroundColor","color","width","height","rowText","rowLabel","rowHint","cancelRow","cancelLabel","StyleSheet","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","paddingBottom","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","alignSelf","borderRadius","marginBottom","fontSize","fontWeight","letterSpacing","textTransform","paddingHorizontal","flexDirection","alignItems","paddingVertical","borderBottomWidth","hairlineWidth","borderBottomColor","marginRight","marginTop","marginHorizontal","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/AttachSheet/AttachSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeWebview = require("react-native-webview");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ 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); }
12
+ /**
13
+ * Inline preview for office documents (DOC / DOCX / XLS / XLSX / PPT /
14
+ * PPTX / TXT / RTF / CSV) and other non-PDF formats supported by
15
+ * Google's free gview rendering service.
16
+ *
17
+ * Strategy: embed `https://docs.google.com/gview?url=<encoded>&embedded=true`
18
+ * inside a WebView. Google fetches the doc from its public URL and
19
+ * renders it to a viewable iframe — no client-side dependency on
20
+ * native office libraries, no extra peer dep. Works for any backend
21
+ * whose file URLs are publicly reachable (which Ethora's `/files/`
22
+ * already are — they're CDN URLs returned in `item.location`).
23
+ *
24
+ * Limitations (documented for the integrator):
25
+ * - Requires public URL — won't work for auth-gated downloads.
26
+ * - First load can take 2-5s on slow networks.
27
+ * - Read-only — no editing, no print/share buttons.
28
+ *
29
+ * For PDFs use the existing PdfViewer (downloads then renders locally).
30
+ */
31
+ const DocumentViewer = ({
32
+ url,
33
+ fileName
34
+ }) => {
35
+ const [loaded, setLoaded] = (0, _react.useState)(false);
36
+ const [errored, setErrored] = (0, _react.useState)(false);
37
+ const viewerUrl = `https://docs.google.com/gview?url=${encodeURIComponent(url)}&embedded=true`;
38
+ if (errored) {
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
40
+ style: styles.center,
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
42
+ style: styles.errorTitle,
43
+ children: fileName || 'Document'
44
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
45
+ style: styles.errorBody,
46
+ children: "Couldn't render an inline preview. Tap the save icon above to download the file."
47
+ })]
48
+ });
49
+ }
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
51
+ style: styles.container,
52
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeWebview.WebView, {
53
+ source: {
54
+ uri: viewerUrl
55
+ },
56
+ style: styles.webview,
57
+ originWhitelist: ['*'],
58
+ startInLoadingState: true,
59
+ onLoadEnd: () => setLoaded(true),
60
+ onError: () => setErrored(true),
61
+ onHttpError: () => setErrored(true)
62
+ }), !loaded && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
63
+ style: styles.loadingOverlay,
64
+ pointerEvents: "none",
65
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
66
+ size: "large"
67
+ })
68
+ })]
69
+ });
70
+ };
71
+ var _default = exports.default = DocumentViewer;
72
+ const styles = _reactNative.StyleSheet.create({
73
+ container: {
74
+ flex: 1,
75
+ width: '100%',
76
+ backgroundColor: '#fff'
77
+ },
78
+ webview: {
79
+ flex: 1,
80
+ backgroundColor: '#fff'
81
+ },
82
+ loadingOverlay: {
83
+ ..._reactNative.StyleSheet.absoluteFillObject,
84
+ justifyContent: 'center',
85
+ alignItems: 'center',
86
+ backgroundColor: '#ffffff'
87
+ },
88
+ center: {
89
+ flex: 1,
90
+ alignItems: 'center',
91
+ justifyContent: 'center',
92
+ padding: 24,
93
+ gap: 8
94
+ },
95
+ errorTitle: {
96
+ fontSize: 16,
97
+ fontWeight: '600'
98
+ },
99
+ errorBody: {
100
+ color: '#666',
101
+ textAlign: 'center'
102
+ }
103
+ });
104
+ //# sourceMappingURL=DocumentViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DocumentViewer","url","fileName","loaded","setLoaded","useState","errored","setErrored","viewerUrl","encodeURIComponent","jsxs","View","style","styles","center","children","jsx","Text","errorTitle","errorBody","container","WebView","source","uri","webview","originWhitelist","startInLoadingState","onLoadEnd","onError","onHttpError","loadingOverlay","pointerEvents","ActivityIndicator","size","_default","exports","StyleSheet","create","flex","width","backgroundColor","absoluteFillObject","justifyContent","alignItems","padding","gap","fontSize","fontWeight","color","textAlign"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/DocumentViewer.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,9 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.FullScreenVideo = void 0;
6
+ exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
- var _native = _interopRequireDefault(require("styled-components/native"));
9
8
  var _styledModalComponents = require("../styledModalComponents");
10
9
  var _icons = require("../../../assets/icons");
11
10
  var _ModalHeaderComponent = _interopRequireDefault(require("../ModalHeaderComponent"));
@@ -14,19 +13,85 @@ var _Button = _interopRequireDefault(require("../../styled/Button"));
14
13
  var _MediaComponents = require("../../styled/StyledInputComponents/MediaComponents");
15
14
  var _chatSettingsSlice = require("../../../roomStore/chatSettingsSlice");
16
15
  var _reactNative = require("react-native");
17
- var _expoAv = require("expo-av");
16
+ var _expoVideo = require("expo-video");
18
17
  var FileSystem = _interopRequireWildcard(require("expo-file-system/legacy"));
19
18
  var MediaLibrary = _interopRequireWildcard(require("expo-media-library"));
20
19
  var _ToastContext = require("../../../context/ToastContext");
21
20
  var _PdfView = _interopRequireDefault(require("./PdfView"));
21
+ var _DocumentViewer = _interopRequireDefault(require("./DocumentViewer"));
22
+ var _AudioMessage = _interopRequireDefault(require("../../styled/AudioMessage"));
23
+ var _mimeToExtension = require("../../../helpers/mimeToExtension");
22
24
  var _jsxRuntime = require("react/jsx-runtime");
23
25
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
24
26
  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); }
25
- const FullScreenVideo = exports.FullScreenVideo = _native.default.View`
26
- width: 100%;
27
- height: 100%;
28
- object-fit: contain;
29
- `;
27
+ // MIME types Google's gview embed renders reliably. Everything else
28
+ // falls through to the info-card so the user can still download.
29
+ const GVIEW_PREVIEWABLE = new Set(['application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'text/plain', 'text/csv', 'application/rtf']);
30
+ const isGviewPreviewable = mime => {
31
+ if (!mime) {
32
+ return false;
33
+ }
34
+ return GVIEW_PREVIEWABLE.has(mime.toLowerCase().split(';')[0].trim());
35
+ };
36
+
37
+ // Full-screen video preview on expo-video (expo-av <Video> is deprecated
38
+ // and rendered blank on Android). `contentFit: contain` fits the clip to
39
+ // the area with the surrounding letterbox painted as the view's own
40
+ // (transparent → theme) background, NOT black. `textureView` so the play
41
+ // overlay composites on top and nothing is clipped on Android.
42
+ const ModalVideo = ({
43
+ uri
44
+ }) => {
45
+ const [showPlay, setShowPlay] = (0, _react.useState)(true);
46
+ const player = (0, _expoVideo.useVideoPlayer)(uri, p => {
47
+ p.muted = false;
48
+ });
49
+ (0, _react.useEffect)(() => {
50
+ const sub = player.addListener('playingChange', ({
51
+ isPlaying
52
+ }) => {
53
+ if (isPlaying) {
54
+ setShowPlay(false);
55
+ }
56
+ });
57
+ return () => sub.remove();
58
+ }, [player]);
59
+ const handlePlay = () => {
60
+ setShowPlay(false);
61
+ player.play();
62
+ };
63
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
64
+ style: {
65
+ flex: 1,
66
+ width: '100%'
67
+ },
68
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_expoVideo.VideoView, {
69
+ player: player,
70
+ style: {
71
+ flex: 1,
72
+ backgroundColor: 'transparent'
73
+ },
74
+ contentFit: "contain",
75
+ nativeControls: true,
76
+ surfaceType: "textureView",
77
+ allowsFullscreen: true
78
+ }), showPlay && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
79
+ activeOpacity: 0.8,
80
+ onPress: handlePlay,
81
+ style: _reactNative.StyleSheet.absoluteFillObject,
82
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
83
+ style: styles.playOverlay,
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
85
+ style: styles.playButton,
86
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.PlayIcon, {
87
+ width: 28,
88
+ height: 28
89
+ })
90
+ })
91
+ })
92
+ })]
93
+ });
94
+ };
30
95
  const FilePreviewModal = ({
31
96
  handleCloseModal
32
97
  }) => {
@@ -38,7 +103,7 @@ const FilePreviewModal = ({
38
103
  activeFile
39
104
  } = (0, _reactRedux.useSelector)(state => state.chatSettingStore);
40
105
  if (!activeFile) {
41
- return;
106
+ return null;
42
107
  }
43
108
  const requestStoragePermission = async () => {
44
109
  try {
@@ -58,10 +123,7 @@ const FilePreviewModal = ({
58
123
  return;
59
124
  }
60
125
  try {
61
- let fileName = activeFile.fileName || `media_${Date.now()}`;
62
- if (!fileName.includes('.')) {
63
- fileName += activeFile.mimetype.startsWith('image/') ? '.jpg' : '.mp4';
64
- }
126
+ const fileName = (0, _mimeToExtension.ensureFilenameHasExtension)(activeFile.fileName, activeFile.mimetype);
65
127
  const filePath = FileSystem.cacheDirectory + fileName;
66
128
  const download = await FileSystem.downloadAsync(activeFile.fileURL, filePath);
67
129
  if (download.status === 200) {
@@ -81,7 +143,11 @@ const FilePreviewModal = ({
81
143
  };
82
144
  const saveFileToDownloads = async () => {
83
145
  try {
84
- const fileName = activeFile.fileName || `file_${Date.now()}`;
146
+ // Always include a valid extension on the cache filename. expo-media-
147
+ // library's createAssetAsync inspects the URI's extension and throws
148
+ // "Could not get the file's extension" when missing — see bug #9 in
149
+ // sdk-bug-tracker.md.
150
+ const fileName = (0, _mimeToExtension.ensureFilenameHasExtension)(activeFile.fileName, activeFile.mimetype);
85
151
  const filePath = FileSystem.cacheDirectory + fileName;
86
152
  const download = await FileSystem.downloadAsync(activeFile.fileURL, filePath);
87
153
  if (download.status === 200) {
@@ -120,44 +186,93 @@ const FilePreviewModal = ({
120
186
  }));
121
187
  handleCloseModal?.();
122
188
  };
123
- const getMediaComponent = (0, _react.useMemo)(() => {
189
+
190
+ // NOTE: plain computed value, NOT useMemo. It sits AFTER the
191
+ // `if (!activeFile) return` guard above, so as a hook it would run
192
+ // conditionally (skipped when activeFile is null) — changing the hook
193
+ // count between renders and throwing "rendered more hooks than during
194
+ // the previous render", which crashed the modal the instant you tapped
195
+ // a video/image to open it. Recomputing this on each render is cheap.
196
+ const getMediaComponent = (() => {
124
197
  switch (true) {
125
198
  case activeFile.mimetype.startsWith('image/'):
126
199
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MediaComponents.FullScreenImage, {
127
- src: activeFile.fileURL || 'https://as2.ftcdn.net/v2/jpg/02/51/95/53/1000_F_251955356_FAQH0U1y1TZw3ZcdPGybwUkH90a3VAhb.jpg',
128
- alt: activeFile.fileName
200
+ source: {
201
+ uri: activeFile.fileURL || 'https://as2.ftcdn.net/v2/jpg/02/51/95/53/1000_F_251955356_FAQH0U1y1TZw3ZcdPGybwUkH90a3VAhb.jpg'
202
+ },
203
+ resizeMode: "contain",
204
+ accessibilityLabel: activeFile.fileName
129
205
  });
130
206
  case activeFile.mimetype.startsWith('video/'):
131
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_expoAv.Video, {
207
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ModalVideo, {
208
+ uri: activeFile.fileURL
209
+ });
210
+ case activeFile.mimetype.startsWith('audio/'):
211
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
132
212
  style: {
133
213
  width: '100%',
134
- height: '100%'
135
- },
136
- source: {
137
- uri: activeFile.fileURL
214
+ padding: 20,
215
+ gap: 12,
216
+ backgroundColor: '#FFF8ED',
217
+ borderRadius: 16
138
218
  },
139
- useNativeControls: true,
140
- resizeMode: _expoAv.ResizeMode.CONTAIN,
141
- shouldPlay: false
219
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
220
+ style: {
221
+ fontSize: 16,
222
+ fontWeight: '600'
223
+ },
224
+ children: (0, _mimeToExtension.ensureFilenameHasExtension)(activeFile.fileName, activeFile.mimetype)
225
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AudioMessage.default, {
226
+ src: activeFile.fileURL
227
+ })]
142
228
  });
143
229
  case activeFile.mimetype === 'application/pdf':
144
230
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PdfView.default, {
145
231
  pdfUrl: activeFile.fileURL
146
232
  });
147
233
  default:
148
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
149
- style: {
150
- backgroundColor: '#FFF8ED',
151
- borderRadius: 16,
152
- display: 'flex',
153
- padding: 16
154
- },
155
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
156
- children: "Unable to open the uploaded document. The file format is not supported by the system. Please upload a file in a compatible format. You still can download this file."
157
- })
158
- });
234
+ {
235
+ const displayName = (0, _mimeToExtension.ensureFilenameHasExtension)(activeFile.fileName, activeFile.mimetype);
236
+ // Office docs (.docx / .xlsx / .pptx / .doc / .xls / .ppt /
237
+ // .txt / .csv / .rtf) → render inline via Google's gview embed
238
+ // — fixes the "blank preview" complaint for docs (bug #9).
239
+ if (isGviewPreviewable(activeFile.mimetype)) {
240
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DocumentViewer.default, {
241
+ url: activeFile.fileURL,
242
+ fileName: displayName
243
+ });
244
+ }
245
+ // True last-resort fallback for genuinely unrenderable types
246
+ // (binary blobs, exotic MIMEs). Friendly info card with the
247
+ // filename so the user can still download.
248
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
249
+ style: {
250
+ backgroundColor: '#FFF8ED',
251
+ borderRadius: 16,
252
+ padding: 20,
253
+ gap: 8
254
+ },
255
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
256
+ style: {
257
+ fontSize: 16,
258
+ fontWeight: '600'
259
+ },
260
+ children: displayName
261
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
262
+ style: {
263
+ color: '#666'
264
+ },
265
+ children: activeFile.mimetype || 'unknown type'
266
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
267
+ style: {
268
+ marginTop: 8
269
+ },
270
+ children: "This file format can't be previewed inline. Tap the save icon above to download it."
271
+ })]
272
+ });
273
+ }
159
274
  }
160
- }, [activeFile]);
275
+ })();
161
276
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styledModalComponents.ModalContainerFullScreen, {
162
277
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ModalHeaderComponent.default, {
163
278
  handleCloseModal: closeModal,
@@ -171,14 +286,34 @@ const FilePreviewModal = ({
171
286
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledModalComponents.CenterContainer, {
172
287
  style: {
173
288
  display: 'flex',
174
- height: '100%',
289
+ flex: 1,
175
290
  justifyContent: 'center',
176
- overflow: 'hidden',
177
- padding: 16
291
+ // NOTE: do NOT set overflow:'hidden' here — on Android it clips
292
+ // hardware-accelerated children (expo-av Video TextureView and
293
+ // react-native-webview) to nothing, so video/PDF/doc previews
294
+ // render blank while plain <Image> survives.
295
+ overflow: 'visible',
296
+ padding: 16,
297
+ paddingBottom: 48
178
298
  },
179
299
  children: getMediaComponent
180
300
  })]
181
301
  });
182
302
  };
303
+ const styles = _reactNative.StyleSheet.create({
304
+ playOverlay: {
305
+ ..._reactNative.StyleSheet.absoluteFillObject,
306
+ justifyContent: 'center',
307
+ alignItems: 'center'
308
+ },
309
+ playButton: {
310
+ width: 64,
311
+ height: 64,
312
+ borderRadius: 32,
313
+ backgroundColor: 'rgba(0, 0, 0, 0.55)',
314
+ justifyContent: 'center',
315
+ alignItems: 'center'
316
+ }
317
+ });
183
318
  var _default = exports.default = FilePreviewModal;
184
319
  //# sourceMappingURL=FilePreviewModal.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_native","_interopRequireDefault","_styledModalComponents","_icons","_ModalHeaderComponent","_reactRedux","_Button","_MediaComponents","_chatSettingsSlice","_reactNative","_expoAv","FileSystem","MediaLibrary","_ToastContext","_PdfView","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FullScreenVideo","exports","styled","View","FilePreviewModal","handleCloseModal","dispatch","useDispatch","showToast","useToast","activeFile","useSelector","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","Alert","alert","fileName","Date","now","includes","mimetype","startsWith","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","uri","id","toString","title","message","type","err","saveFileToDownloads","Platform","OS","createAssetAsync","saveClick","closeModal","setActiveFile","getMediaComponent","useMemo","jsx","FullScreenImage","src","alt","Video","style","width","height","source","useNativeControls","resizeMode","ResizeMode","CONTAIN","shouldPlay","pdfUrl","backgroundColor","borderRadius","display","padding","children","Text","jsxs","ModalContainerFullScreen","headerTitle","rightMenu","Fragment","onPress","SaveIcon","CenterContainer","justifyContent","overflow","_default"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_styledModalComponents","_icons","_ModalHeaderComponent","_interopRequireDefault","_reactRedux","_Button","_MediaComponents","_chatSettingsSlice","_reactNative","_expoVideo","FileSystem","MediaLibrary","_ToastContext","_PdfView","_DocumentViewer","_AudioMessage","_mimeToExtension","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","useState","player","useVideoPlayer","p","muted","useEffect","sub","addListener","isPlaying","remove","handlePlay","play","jsxs","View","style","flex","width","children","jsx","VideoView","backgroundColor","contentFit","nativeControls","surfaceType","allowsFullscreen","TouchableOpacity","activeOpacity","onPress","StyleSheet","absoluteFillObject","styles","playOverlay","playButton","PlayIcon","height","FilePreviewModal","handleCloseModal","dispatch","useDispatch","showToast","useToast","activeFile","useSelector","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","Alert","alert","fileName","ensureFilenameHasExtension","mimetype","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","saveFileToDownloads","Platform","OS","createAssetAsync","saveClick","startsWith","closeModal","setActiveFile","getMediaComponent","FullScreenImage","source","resizeMode","accessibilityLabel","padding","gap","borderRadius","Text","fontSize","fontWeight","src","pdfUrl","displayName","url","color","marginTop","ModalContainerFullScreen","headerTitle","rightMenu","Fragment","SaveIcon","CenterContainer","display","justifyContent","overflow","paddingBottom","create","alignItems","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,15 @@ const PdfViewer = ({
15
15
  }) => {
16
16
  const [localUri, setLocalUri] = (0, _react.useState)(null);
17
17
  const [error, setError] = (0, _react.useState)(null);
18
+ // Android's WebView has NO native PDF renderer, so a file:// (or direct)
19
+ // PDF loads blank. Route it through Google's gview embed using the
20
+ // (public) remote URL — same approach as DocumentViewer for office docs.
21
+ // iOS WKWebView renders PDFs natively, so we download + show the file.
22
+ const isAndroid = _reactNative.Platform.OS === 'android';
18
23
  (0, _react.useEffect)(() => {
24
+ if (isAndroid) {
25
+ return;
26
+ }
19
27
  let cancelled = false;
20
28
  const run = async () => {
21
29
  try {
@@ -37,7 +45,27 @@ const PdfViewer = ({
37
45
  return () => {
38
46
  cancelled = true;
39
47
  };
40
- }, [pdfUrl]);
48
+ }, [pdfUrl, isAndroid]);
49
+ if (isAndroid) {
50
+ const gviewUrl = `https://docs.google.com/gview?embedded=true&url=${encodeURIComponent(pdfUrl)}`;
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
52
+ style: styles.container,
53
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeWebview.WebView, {
54
+ source: {
55
+ uri: gviewUrl
56
+ },
57
+ style: styles.webview,
58
+ originWhitelist: ['*'],
59
+ startInLoadingState: true,
60
+ renderLoading: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
61
+ style: styles.center,
62
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
63
+ size: "large"
64
+ })
65
+ })
66
+ })
67
+ });
68
+ }
41
69
  if (error) {
42
70
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
43
71
  style: styles.center,