@ethora/chat-component-rn 26.5.7 → 26.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/CHANGELOG.md +191 -0
  2. package/README.md +95 -10
  3. package/index.js +24 -0
  4. package/lib/commonjs/assets/icons.js +5 -1
  5. package/lib/commonjs/assets/icons.js.map +1 -1
  6. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +11 -5
  7. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  8. package/lib/commonjs/components/MainComponents/ChatHeader.js +31 -16
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js +78 -38
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js +74 -27
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  14. package/lib/commonjs/components/MainComponents/MediaMessage.js +16 -11
  15. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  16. package/lib/commonjs/components/MainComponents/MessageContainer.js +2 -2
  17. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  18. package/lib/commonjs/components/MainComponents/MessageList.js +165 -28
  19. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  20. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +17 -8
  21. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  22. package/lib/commonjs/components/MainComponents/SystemMessage.js +34 -22
  23. package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
  24. package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js +119 -0
  25. package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js.map +1 -0
  26. package/lib/commonjs/components/MessageBubble/Message.js +122 -41
  27. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  28. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +132 -44
  29. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  30. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +155 -52
  31. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  32. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
  33. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  34. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +104 -0
  35. package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  36. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +144 -24
  37. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  38. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +29 -1
  39. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  40. package/lib/commonjs/components/Modals/Modal/Modal.js +5 -1
  41. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  42. package/lib/commonjs/components/Modals/ModalHeaderComponent.js +10 -0
  43. package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
  44. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +77 -47
  45. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  46. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  47. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  48. package/lib/commonjs/components/Modals/styledModalComponents.js +17 -13
  49. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  50. package/lib/commonjs/components/styled/MediaFilePreview.js +47 -28
  51. package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
  52. package/lib/commonjs/components/styled/MessageImage.js +49 -9
  53. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  54. package/lib/commonjs/components/styled/NewMessageLabel.js +8 -6
  55. package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
  56. package/lib/commonjs/components/styled/SendInput.js +49 -27
  57. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  58. package/lib/commonjs/components/styled/StyledComponents.js +6 -3
  59. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  60. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  61. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  62. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  63. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  64. package/lib/commonjs/components/styled/UnsupportedType.js +5 -1
  65. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  66. package/lib/commonjs/components/styled/VideoMessage.js +81 -16
  67. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  68. package/lib/commonjs/context/MessageNotificationContext.js +7 -7
  69. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  70. package/lib/commonjs/context/xmppProvider.js +244 -32
  71. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  72. package/lib/commonjs/helpers/chatAutoEnterer.js +2 -7
  73. package/lib/commonjs/helpers/chatAutoEnterer.js.map +1 -1
  74. package/lib/commonjs/helpers/historyPreloadScheduler.js +4 -1
  75. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  76. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +15 -5
  77. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  78. package/lib/commonjs/helpers/keyboardLayout.js +18 -0
  79. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -0
  80. package/lib/commonjs/helpers/mediaDimensions.js +51 -0
  81. package/lib/commonjs/helpers/mediaDimensions.js.map +1 -0
  82. package/lib/commonjs/helpers/mimeToExtension.js +56 -0
  83. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  84. package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
  85. package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
  86. package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
  87. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
  88. package/lib/commonjs/hooks/useHeapSender.js +1 -1
  89. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  90. package/lib/commonjs/hooks/useLogout.js +36 -11
  91. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  92. package/lib/commonjs/hooks/usePushNotifications.js +6 -2
  93. package/lib/commonjs/hooks/usePushNotifications.js.map +1 -1
  94. package/lib/commonjs/hooks/useRoomState.js +2 -0
  95. package/lib/commonjs/hooks/useRoomState.js.map +1 -1
  96. package/lib/commonjs/hooks/useSendMessage.js +201 -10
  97. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  98. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +12 -14
  99. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  100. package/lib/commonjs/main.js +7 -0
  101. package/lib/commonjs/main.js.map +1 -1
  102. package/lib/commonjs/networking/api-requests/auth.api.js +67 -0
  103. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  104. package/lib/commonjs/networking/api-requests/rooms.api.js +29 -4
  105. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  106. package/lib/commonjs/networking/apiClient.js +2 -1
  107. package/lib/commonjs/networking/apiClient.js.map +1 -1
  108. package/lib/commonjs/networking/outboundQueue.js +92 -0
  109. package/lib/commonjs/networking/outboundQueue.js.map +1 -0
  110. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  111. package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  112. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  113. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  114. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  115. package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  116. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  117. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  118. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  119. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  120. package/lib/commonjs/networking/xmppClient.js +294 -35
  121. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  122. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +22 -6
  123. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  124. package/lib/commonjs/roomStore/roomsSlice.js +157 -23
  125. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  126. package/lib/commonjs/utils/installPromiseRejectionTracker.js +83 -0
  127. package/lib/commonjs/utils/installPromiseRejectionTracker.js.map +1 -0
  128. package/lib/commonjs/utils/resendMessage.js +1 -1
  129. package/lib/commonjs/utils/resendMessage.js.map +1 -1
  130. package/lib/module/assets/icons.js +5 -1
  131. package/lib/module/assets/icons.js.map +1 -1
  132. package/lib/module/components/ContextMenu/ContextMenuComponents.js +11 -5
  133. package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  134. package/lib/module/components/MainComponents/ChatHeader.js +31 -16
  135. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  136. package/lib/module/components/MainComponents/ChatRoom.js +80 -40
  137. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  138. package/lib/module/components/MainComponents/ChatWrapper.js +74 -27
  139. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  140. package/lib/module/components/MainComponents/MediaMessage.js +17 -12
  141. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  142. package/lib/module/components/MainComponents/MessageContainer.js +2 -2
  143. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  144. package/lib/module/components/MainComponents/MessageList.js +166 -29
  145. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  146. package/lib/module/components/MainComponents/ReduxWrapper.js +18 -8
  147. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  148. package/lib/module/components/MainComponents/SystemMessage.js +33 -21
  149. package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
  150. package/lib/module/components/MessageBubble/InteractionsOverlay.js +112 -0
  151. package/lib/module/components/MessageBubble/InteractionsOverlay.js.map +1 -0
  152. package/lib/module/components/MessageBubble/Message.js +123 -42
  153. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  154. package/lib/module/components/MessageBubble/MessageInteractions.js +134 -46
  155. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  156. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +155 -52
  157. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  158. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
  159. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  160. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +99 -0
  161. package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
  162. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +148 -26
  163. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  164. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +31 -3
  165. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  166. package/lib/module/components/Modals/Modal/Modal.js +5 -1
  167. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  168. package/lib/module/components/Modals/ModalHeaderComponent.js +10 -0
  169. package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
  170. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +79 -49
  171. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  172. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
  173. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  174. package/lib/module/components/Modals/styledModalComponents.js +17 -13
  175. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  176. package/lib/module/components/styled/MediaFilePreview.js +47 -28
  177. package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
  178. package/lib/module/components/styled/MessageImage.js +51 -11
  179. package/lib/module/components/styled/MessageImage.js.map +1 -1
  180. package/lib/module/components/styled/NewMessageLabel.js +8 -6
  181. package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
  182. package/lib/module/components/styled/SendInput.js +50 -28
  183. package/lib/module/components/styled/SendInput.js.map +1 -1
  184. package/lib/module/components/styled/StyledComponents.js +6 -3
  185. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  186. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +14 -4
  187. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  188. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
  189. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  190. package/lib/module/components/styled/UnsupportedType.js +5 -1
  191. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  192. package/lib/module/components/styled/VideoMessage.js +82 -17
  193. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  194. package/lib/module/context/MessageNotificationContext.js +7 -7
  195. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  196. package/lib/module/context/xmppProvider.js +246 -34
  197. package/lib/module/context/xmppProvider.js.map +1 -1
  198. package/lib/module/helpers/chatAutoEnterer.js +2 -7
  199. package/lib/module/helpers/chatAutoEnterer.js.map +1 -1
  200. package/lib/module/helpers/historyPreloadScheduler.js +4 -1
  201. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  202. package/lib/module/helpers/insertMessageWithDelimiter.js +15 -5
  203. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  204. package/lib/module/helpers/keyboardLayout.js +12 -0
  205. package/lib/module/helpers/keyboardLayout.js.map +1 -0
  206. package/lib/module/helpers/mediaDimensions.js +46 -0
  207. package/lib/module/helpers/mediaDimensions.js.map +1 -0
  208. package/lib/module/helpers/mimeToExtension.js +55 -0
  209. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  210. package/lib/module/helpers/normalizeRoomJid.js +15 -0
  211. package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
  212. package/lib/module/hooks/useChatRoomFocus.js +82 -0
  213. package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
  214. package/lib/module/hooks/useHeapSender.js +1 -1
  215. package/lib/module/hooks/useHeapSender.js.map +1 -1
  216. package/lib/module/hooks/useLogout.js +36 -11
  217. package/lib/module/hooks/useLogout.js.map +1 -1
  218. package/lib/module/hooks/usePushNotifications.js +6 -2
  219. package/lib/module/hooks/usePushNotifications.js.map +1 -1
  220. package/lib/module/hooks/useRoomState.js +2 -0
  221. package/lib/module/hooks/useRoomState.js.map +1 -1
  222. package/lib/module/hooks/useSendMessage.js +203 -12
  223. package/lib/module/hooks/useSendMessage.js.map +1 -1
  224. package/lib/module/hooks/useUnreadMessagesCounter.js +12 -14
  225. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  226. package/lib/module/main.js +1 -0
  227. package/lib/module/main.js.map +1 -1
  228. package/lib/module/networking/api-requests/auth.api.js +67 -1
  229. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  230. package/lib/module/networking/api-requests/rooms.api.js +29 -4
  231. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  232. package/lib/module/networking/apiClient.js +2 -1
  233. package/lib/module/networking/apiClient.js.map +1 -1
  234. package/lib/module/networking/outboundQueue.js +84 -0
  235. package/lib/module/networking/outboundQueue.js.map +1 -0
  236. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
  237. package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
  238. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
  239. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  240. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
  241. package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
  242. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +26 -8
  243. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  244. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +2 -1
  245. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  246. package/lib/module/networking/xmppClient.js +294 -35
  247. package/lib/module/networking/xmppClient.js.map +1 -1
  248. package/lib/module/roomStore/Middleware/unreadMidlleware.js +22 -6
  249. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  250. package/lib/module/roomStore/roomsSlice.js +154 -22
  251. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  252. package/lib/module/utils/installPromiseRejectionTracker.js +78 -0
  253. package/lib/module/utils/installPromiseRejectionTracker.js.map +1 -0
  254. package/lib/module/utils/resendMessage.js +1 -1
  255. package/lib/module/utils/resendMessage.js.map +1 -1
  256. package/lib/typescript/assets/icons.d.ts +8 -4
  257. package/lib/typescript/assets/icons.d.ts.map +1 -1
  258. package/lib/typescript/components/ContextMenu/ContextMenuComponents.d.ts.map +1 -1
  259. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  260. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  261. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  262. package/lib/typescript/components/MainComponents/MediaMessage.d.ts +1 -0
  263. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  264. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  265. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  266. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts +1 -0
  267. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  268. package/lib/typescript/components/MainComponents/SystemMessage.d.ts +0 -7
  269. package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
  270. package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts +13 -0
  271. package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts.map +1 -0
  272. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  273. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +4 -2
  274. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  275. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  276. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  277. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +29 -0
  278. package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -0
  279. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +0 -1
  280. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  281. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  282. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  283. package/lib/typescript/components/Modals/ModalHeaderComponent.d.ts.map +1 -1
  284. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  285. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  286. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  287. package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
  288. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  289. package/lib/typescript/components/styled/NewMessageLabel.d.ts +1 -5
  290. package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
  291. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  292. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  293. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +9 -1
  294. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  295. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  296. package/lib/typescript/components/styled/UnsupportedType.d.ts +1 -0
  297. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  298. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  299. package/lib/typescript/context/xmppProvider.d.ts +1 -0
  300. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  301. package/lib/typescript/helpers/chatAutoEnterer.d.ts.map +1 -1
  302. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  303. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  304. package/lib/typescript/helpers/keyboardLayout.d.ts +9 -0
  305. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -0
  306. package/lib/typescript/helpers/mediaDimensions.d.ts +9 -0
  307. package/lib/typescript/helpers/mediaDimensions.d.ts.map +1 -0
  308. package/lib/typescript/helpers/mimeToExtension.d.ts +8 -0
  309. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  310. package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
  311. package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
  312. package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
  313. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
  314. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  315. package/lib/typescript/hooks/useLogout.d.ts +23 -1
  316. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  317. package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
  318. package/lib/typescript/hooks/useRoomState.d.ts +1 -0
  319. package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
  320. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  321. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  322. package/lib/typescript/main.d.ts +1 -0
  323. package/lib/typescript/main.d.ts.map +1 -1
  324. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -0
  325. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  326. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  327. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  328. package/lib/typescript/networking/outboundQueue.d.ts +57 -0
  329. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -0
  330. package/lib/typescript/networking/xmpp/createTimeoutPromise.xmpp.d.ts.map +1 -1
  331. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -1
  332. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  333. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts +1 -1
  334. package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts.map +1 -1
  335. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  336. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  337. package/lib/typescript/networking/xmppClient.d.ts +33 -4
  338. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  339. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  340. package/lib/typescript/roomStore/roomsSlice.d.ts +8 -1
  341. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  342. package/lib/typescript/types/models/media.model.d.ts +1 -0
  343. package/lib/typescript/types/models/media.model.d.ts.map +1 -1
  344. package/lib/typescript/types/models/xmpp.model.d.ts +1 -1
  345. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  346. package/lib/typescript/types/types.d.ts +20 -0
  347. package/lib/typescript/types/types.d.ts.map +1 -1
  348. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts +20 -0
  349. package/lib/typescript/utils/installPromiseRejectionTracker.d.ts.map +1 -0
  350. package/lib/typescript/utils/resendMessage.d.ts.map +1 -1
  351. package/package.json +23 -4
  352. package/src/assets/icons.tsx +23 -14
  353. package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
  354. package/src/components/MainComponents/ChatHeader.tsx +46 -15
  355. package/src/components/MainComponents/ChatRoom.tsx +95 -66
  356. package/src/components/MainComponents/ChatWrapper.tsx +127 -42
  357. package/src/components/MainComponents/MediaMessage.tsx +14 -8
  358. package/src/components/MainComponents/MessageContainer.tsx +4 -2
  359. package/src/components/MainComponents/MessageList.tsx +175 -28
  360. package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
  361. package/src/components/MainComponents/SystemMessage.tsx +38 -26
  362. package/src/components/MessageBubble/InteractionsOverlay.tsx +121 -0
  363. package/src/components/MessageBubble/Message.tsx +133 -63
  364. package/src/components/MessageBubble/MessageInteractions.tsx +146 -58
  365. package/src/components/Modals/AttachSheet/AttachSheet.tsx +146 -39
  366. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +25 -3
  367. package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
  368. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +161 -26
  369. package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
  370. package/src/components/Modals/Modal/Modal.tsx +4 -1
  371. package/src/components/Modals/ModalHeaderComponent.tsx +8 -1
  372. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +70 -58
  373. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
  374. package/src/components/Modals/styledModalComponents.tsx +17 -13
  375. package/src/components/styled/MediaFilePreview.tsx +46 -26
  376. package/src/components/styled/MessageImage.tsx +58 -13
  377. package/src/components/styled/NewMessageLabel.tsx +8 -5
  378. package/src/components/styled/SendInput.tsx +64 -29
  379. package/src/components/styled/StyledComponents.ts +6 -3
  380. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +15 -5
  381. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +7 -2
  382. package/src/components/styled/UnsupportedType.tsx +7 -1
  383. package/src/components/styled/VideoMessage.tsx +76 -12
  384. package/src/context/MessageNotificationContext.tsx +8 -8
  385. package/src/context/xmppProvider.tsx +247 -30
  386. package/src/helpers/chatAutoEnterer.ts +2 -8
  387. package/src/helpers/historyPreloadScheduler.ts +4 -1
  388. package/src/helpers/insertMessageWithDelimiter.ts +22 -15
  389. package/src/helpers/keyboardLayout.ts +18 -0
  390. package/src/helpers/mediaDimensions.ts +47 -0
  391. package/src/helpers/mimeToExtension.ts +64 -0
  392. package/src/helpers/normalizeRoomJid.ts +6 -0
  393. package/src/hooks/useChatRoomFocus.ts +95 -0
  394. package/src/hooks/useHeapSender.tsx +2 -1
  395. package/src/hooks/useLogout.tsx +36 -13
  396. package/src/hooks/usePushNotifications.ts +21 -8
  397. package/src/hooks/useRoomState.tsx +4 -0
  398. package/src/hooks/useSendMessage.tsx +258 -13
  399. package/src/hooks/useUnreadMessagesCounter.ts +13 -16
  400. package/src/main.ts +1 -0
  401. package/src/networking/api-requests/auth.api.ts +55 -1
  402. package/src/networking/api-requests/rooms.api.ts +31 -7
  403. package/src/networking/apiClient.ts +2 -1
  404. package/src/networking/outboundQueue.ts +98 -0
  405. package/src/networking/xmpp/createTimeoutPromise.xmpp.ts +5 -1
  406. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +11 -13
  407. package/src/networking/xmpp/getRoomsPaged.xmpp.ts +27 -3
  408. package/src/networking/xmpp/presenceInRoom.xmpp.ts +24 -9
  409. package/src/networking/xmpp/sendTextMessage.xmpp.ts +2 -1
  410. package/src/networking/xmppClient.ts +317 -43
  411. package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
  412. package/src/roomStore/roomsSlice.ts +177 -27
  413. package/src/types/models/media.model.ts +3 -0
  414. package/src/types/models/xmpp.model.ts +2 -1
  415. package/src/types/types.ts +31 -0
  416. package/src/utils/installPromiseRejectionTracker.ts +91 -0
  417. package/src/utils/resendMessage.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","FlatList","Image","TouchableOpacity","Composing","TreadLabel","MessageContainer","useRoomState","Loader","ArowDownIcon","CustomTypingIndicator","jsx","_jsx","jsxs","_jsxs","MessageList","CustomMessage","CustomDaySeparator","CustomNewMessageLabel","user","loadMoreMessages","roomJID","config","loading","isReply","activeMessage","composing","messages","composingList","room","isUserAtBottom","setIsUserAtBottom","showNewMessageIndicator","setShowNewMessageIndicator","isContentOffset","setIsContentOffset","isLoadingMore","setIsLoadingMore","isScrollBlocked","setIsScrollBlocked","hasUserScrolled","setHasUserScrolled","flatListRef","addReplyMessages","map","message","newMessage","reply","filter","mess","mainMessage","JSON","parse","id","isDeleted","memoizedMessages","nonDeletedMessages","item","filtered","roomJid","showInChannel","sorted","slice","sort","a","b","aNum","Date","date","getTime","bNum","deduped","Array","from","Map","m","values","handleLoadMore","length","oldestMessage","Number","error","console","setTimeout","dataMessages","reverse","renderMessage","index","messageDate","toDateString","showDateLabel","nextMessage","nextMessageDate","walletAddress","xmppUsername","scrollToBottom","current","scrollToOffset","offset","animated","handleContentSizeChange","handleScroll","event","contentOffset","nativeEvent","y","handleLayout","handleNewMessageIndicatorPress","BackgroundImage","image","backgroundChat","SvgComponent","width","source","style","styles","container","backgroundColor","color","children","backgroundImageContainer","isUser","colors","ref","data","renderItem","keyExtractor","toString","onEndReached","onScroll","onContentSizeChange","onEndReachedThreshold","scrollEventThrottle","onLayout","inverted","keyboardShouldPersistTaps","keyboardDismissMode","contentContainerStyle","flatListContent","ListFooterComponent","primary","newMessageIndicator","secondary","onPress","customTypingIndicator","enabled","usersTyping","text","position","customComponent","isVisible","disableHeader","create","flex","paddingHorizontal","paddingBottom","messageList","flexGrow","top","left","right","bottom","zIndex","height","padding","borderRadius","newMessageText","fontWeight"],"sourceRoot":"../../../../src","sources":["components/MainComponents/MessageList.tsx"],"mappings":";;AAAA;;AAEA,OAAOA,KAAK,IACVC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SACEC,IAAI,EACJC,UAAU,EACVC,QAAQ,EACRC,KAAK,EAGLC,gBAAgB,QAEX,cAAc;AAErB,OAAOC,SAAS,MAAM,2CAA2C;AACjE,OAAOC,UAAU,MAAM,sBAAsB;AAC7C,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,YAAY,QAAQ,0BAA0B;AACvD,OAAOC,MAAM,MAAM,kBAAkB;AACrC,SAASC,YAAY,QAAQ,oBAAoB;AACjD,OAAOC,qBAAqB,MAAM,uDAAuD;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AA4B1F,MAAMC,WAAW,GAAGA,CAA4B;EAC9CC,aAAa;EACbC,kBAAkB;EAClBC,qBAAqB;EACrBC,IAAI;EACJC,gBAAgB;EAChBC,OAAO;EACPC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC;AAC0B,CAAC,KAAK;EAChC,MAAM;IAAEC,SAAS;IAAEC,QAAQ;IAAEC;EAAc,CAAC,GAAGrB,YAAY,CAACc,OAAO,CAAC,CACjEQ,IAAc;EACjB,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGjC,QAAQ,CAAC,IAAI,CAAC;EAC1D,MAAM,CAACkC,uBAAuB,EAAEC,0BAA0B,CAAC,GAAGnC,QAAQ,CAAC,KAAK,CAAC;EAC7E,MAAM,CAACoC,eAAe,EAAEC,kBAAkB,CAAC,GAAGrC,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAM,CAACsC,aAAa,EAAEC,gBAAgB,CAAC,GAAGvC,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACwC,eAAe,EAAEC,kBAAkB,CAAC,GAAGzC,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAM,CAAC0C,eAAe,EAAEC,kBAAkB,CAAC,GAAG3C,QAAQ,CAAC,KAAK,CAAC;EAE7D,MAAM4C,WAAW,GAAG7C,MAAM,CAAqB,IAAI,CAAC;EAEpD,MAAM8C,gBAAgB,GAAG/C,OAAO,CAAC,MAAM;IACrC,OAAO+B,QAAQ,CAACiB,GAAG,CAAEC,OAAiB,IAAK;MACzC,MAAMC,UAAU,GAAG;QACjB,GAAGD,OAAO;QACVE,KAAK,EAAEpB,QAAQ,CAACqB,MAAM,CACnBC,IAAc,IACb,CAAC,CAACA,IAAI,CAACC,WAAW,IAClBC,IAAI,CAACC,KAAK,CAACH,IAAI,CAACC,WAAW,CAAC,CAACG,EAAE,KAAKR,OAAO,CAACQ,EAAE,IAC9C,CAACJ,IAAI,CAACK,SACV;MACF,CAAC;MACD,OAAOR,UAAU;IACnB,CAAC,CAAC;EACJ,CAAC,EAAE,CAACnB,QAAQ,CAAC,CAAC;EAEd,MAAM4B,gBAAgB,GAAG3D,OAAO,CAAC,MAAM;IACrC,MAAM4D,kBAAkB,GAAGb,gBAAgB,CAACK,MAAM,CAC/CS,IAAc,IAAK,CAACA,IAAI,CAACH,SAC5B,CAAC;IAED,IAAII,QAAoB;IACxB,IAAIlC,OAAO,EAAE;MACXkC,QAAQ,GAAGF,kBAAkB,CAACR,MAAM,CACjCS,IAAc,IACbA,IAAI,CAACE,OAAO,KAAKtC,OAAO,IACxBoC,IAAI,CAACjC,OAAO,IACZiC,IAAI,CAACjC,OAAO,KAAK,MAAM,IACvBiC,IAAI,CAACP,WAAW,IAChBC,IAAI,CAACC,KAAK,CAACK,IAAI,CAACP,WAAW,CAAC,CAACG,EAAE,KAAK5B,aAAa,EAAE4B,EACvD,CAAC;IACH,CAAC,MAAM;MACLK,QAAQ,GAAGF,kBAAkB,CAACR,MAAM,CACjCS,IAAc,IACbA,IAAI,CAACG,aAAa,KAAK,MAAM,IAC5B,CAAC,CAACH,IAAI,CAACjC,OAAO,IAAIiC,IAAI,CAACjC,OAAO,KAAK,OAAO,KAAK,CAACiC,IAAI,CAACP,WAC1D,CAAC;IACH;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMW,MAAM,GAAGH,QAAQ,CAACI,KAAK,CAAC,CAAC,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;MAC7C,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACH,CAAC,EAAEI,IAAW,CAAC,CAACC,OAAO,CAAC,CAAC,IAAI,CAAC;MACpD,MAAMC,IAAI,GAAG,IAAIH,IAAI,CAACF,CAAC,EAAEG,IAAW,CAAC,CAACC,OAAO,CAAC,CAAC,IAAI,CAAC;MACpD,OAAOH,IAAI,GAAGI,IAAI;IACpB,CAAC,CAAC;IACF,MAAMC,OAAO,GAAGC,KAAK,CAACC,IAAI,CACxB,IAAIC,GAAG,CAACb,MAAM,CAACjB,GAAG,CAAE+B,CAAC,IAAK,CAACA,CAAC,CAACtB,EAAE,EAAEsB,CAAC,CAAC,CAAC,CAAC,CAACC,MAAM,CAAC,CAC/C,CAAC;IACD,OAAOL,OAAO;EAChB,CAAC,EAAE,CAAC5B,gBAAgB,EAAEnB,OAAO,EAAEH,OAAO,EAAEI,aAAa,CAAC,CAAC;EAEvD,MAAMoD,cAAc,GAAGnF,WAAW,CAAC,YAAY;IAC7C,IACE6B,OAAO,IACPa,aAAa,IACb,CAACmB,gBAAgB,CAACuB,MAAM,IACxBxC,eAAe,EACf;MACA;IACF;IAEA,MAAMyC,aAAa,GAAGxB,gBAAgB,CAAC,CAAC,CAAC;IACzC,IAAI,CAACwB,aAAa,IAAI,CAACA,aAAa,CAAC1B,EAAE,EAAE;MACvC;IACF;IAEAhB,gBAAgB,CAAC,IAAI,CAAC;IACtBE,kBAAkB,CAAC,IAAI,CAAC;IAExB,IAAI;MACF,MAAMnB,gBAAgB,CACpB2D,aAAa,CAACpB,OAAO,IAAItC,OAAO,EAChC,EAAE,EACF2D,MAAM,CAACD,aAAa,CAAC1B,EAAE,CACzB,CAAC;IACH,CAAC,CAAC,OAAO4B,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACtB,CAAC,SAAS;MACRE,UAAU,CAAC,MAAM;QACf9C,gBAAgB,CAAC,KAAK,CAAC;QACvBE,kBAAkB,CAAC,KAAK,CAAC;MAC3B,CAAC,EAAE,GAAG,CAAC;IACT;EACF,CAAC,EAAE,CACDgB,gBAAgB,EAChBnC,gBAAgB,EAChBG,OAAO,EACPa,aAAa,EACbE,eAAe,EACfjB,OAAO,CACR,CAAC;EAEF,MAAM+D,YAAY,GAAGxF,OAAO,CAAC,MAAM;IACjC,OAAO2D,gBAAgB,CAACO,KAAK,CAAC,CAAC,CAACuB,OAAO,CAAC,CAAC;EAC3C,CAAC,EAAE,CAAC9B,gBAAgB,CAAC,CAAC;EAEtB,MAAM+B,aAAa,GAAG5F,WAAW,CAC/B,CAAC;IAAE+D,IAAI;IAAE8B;EAAyC,CAAC,KAAK;IACtD,MAAMC,WAAW,GAAG,IAAIrB,IAAI,CAACV,IAAI,CAACW,IAAI,CAAC,CAACqB,YAAY,CAAC,CAAC;IACtD,IAAIC,aAAa,GAAG,KAAK;IAEzB,MAAMC,WAAW,GACfJ,KAAK,GAAGH,YAAY,CAACN,MAAM,GAAG,CAAC,GAAGM,YAAY,CAACG,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI;IAClE,MAAMK,eAAe,GAAGD,WAAW,GAC/B,IAAIxB,IAAI,CAACwB,WAAW,CAACvB,IAAI,CAAC,CAACqB,YAAY,CAAC,CAAC,GACzC,IAAI;IAER,IAAI,CAACE,WAAW,IAAIH,WAAW,KAAKI,eAAe,EAAE;MACnDF,aAAa,GAAG,IAAI;IACtB;IAEA,oBACE9E,IAAA,CAACN,gBAAgB;MACfU,aAAa,EAAEA,aAAc;MAC7BC,kBAAkB,EAAEA,kBAAmB;MACvCC,qBAAqB,EAAEA,qBAAsB;MAC7C2B,OAAO,EAAEY,IAAK;MACdhC,aAAa,EAAEA,aAAc;MAC7BH,MAAM,EAAEA,MAAO;MACfuE,aAAa,EAAE1E,IAAI,CAAC2E,YAAY,IAAI3E,IAAI,CAAC0E,aAAc;MACvDrE,OAAO,EAAEA,OAAQ;MACjBkE,aAAa,EAAEA;IAAc,CAC9B,CAAC;EAEN,CAAC,EACD,CACEjE,aAAa,EACbH,MAAM,EACNH,IAAI,CAAC2E,YAAY,EACjB3E,IAAI,CAAC0E,aAAa,EAClBrE,OAAO,EACP+B,gBAAgB,CAACuB,MAAM,CAE3B,CAAC;EAED,MAAMiB,cAAc,GAAGrG,WAAW,CAAC,MAAM;IACvC,IAAIgD,WAAW,CAACsD,OAAO,EAAE;MACvBtD,WAAW,CAACsD,OAAO,CAACC,cAAc,CAAC;QACjCC,MAAM,EAAE,CAAC;QACTC,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACzD,WAAW,CAAC,CAAC;EAEjB,MAAM0D,uBAAuB,GAAG1G,WAAW,CAAC,MAAM;IAChD,IAAIwC,eAAe,EAAE;MACnB6D,cAAc,CAAC,CAAC;MAChB5D,kBAAkB,CAAC,KAAK,CAAC;IAC3B;IACA,IAAI,CAACC,aAAa,IAAIM,WAAW,CAACsD,OAAO,IAAIlE,cAAc,EAAE;MAC3DiE,cAAc,CAAC,CAAC;IAClB,CAAC,MAAM,IAAI,CAAC3D,aAAa,IAAII,eAAe,EAAE;MAC5CP,0BAA0B,CAAC,IAAI,CAAC;IAClC;EACF,CAAC,EAAE,CAACH,cAAc,EAAEiE,cAAc,EAAE3D,aAAa,EAAEI,eAAe,CAAC,CAAC;EAEpE,MAAM6D,YAAY,GAAG3G,WAAW,CAC7B4G,KAA8C,IAAK;IAClD,MAAMC,aAAa,GAAGD,KAAK,CAACE,WAAW,CAACD,aAAa,CAACE,CAAC;;IAEvD;IACA;IACA;IACA;;IAEA,IAAIF,aAAa,GAAG,GAAG,IAAI,CAAC/D,eAAe,EAAE;MAC3CC,kBAAkB,CAAC,IAAI,CAAC;IAC1B;IAEA,IAAI8D,aAAa,GAAG,GAAG,EAAE;MACvBpE,kBAAkB,CAAC,IAAI,CAAC;MACxBF,0BAA0B,CAAC,KAAK,CAAC;MACjCF,iBAAiB,CAAC,IAAI,CAAC;IACzB,CAAC,MAAM;MACLI,kBAAkB,CAAC,KAAK,CAAC;MACzB,IAAIK,eAAe,EAAE;QACnBP,0BAA0B,CAAC,IAAI,CAAC;MAClC;MACAF,iBAAiB,CAAC,KAAK,CAAC;IAC1B;EACF,CAAC,EACD,CAACS,eAAe,CAClB,CAAC;EAED,MAAMkE,YAAY,GAAGA,CAAA,KAAM;IACzBvE,kBAAkB,CAAC,IAAI,CAAC;IACxBJ,iBAAiB,CAAC,IAAI,CAAC;EACzB,CAAC;EAED,MAAM4E,8BAA8B,GAAGA,CAAA,KAAM;IAC3C1E,0BAA0B,CAAC,KAAK,CAAC;IACjCF,iBAAiB,CAAC,IAAI,CAAC;IACvBgE,cAAc,CAAC,CAAC;EAClB,CAAC;EAEDpG,SAAS,CAAC,MAAM;IACd8C,kBAAkB,CAAC,KAAK,CAAC;IACzBR,0BAA0B,CAAC,KAAK,CAAC;IACjCF,iBAAiB,CAAC,IAAI,CAAC;EACzB,CAAC,EAAE,CAACV,OAAO,CAAC,CAAC;EAEb,MAAMuF,eAAe,GAAGhH,OAAO,CAAC,MAAM;IACpC,MAAMiH,KAAK,GAAGvF,MAAM,EAAEwF,cAAc,EAAED,KAAK;IAE3C,IAAIA,KAAK,EAAE;MACT,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;QAC/B,MAAME,YAAY,GAAGF,KAAgD;QACrE,oBAAOjG,IAAA,CAACmG,YAAY;UAACC,KAAK,EAAC;QAAM,CAAE,CAAC;MACtC,CAAC,MAAM;QACL,oBAAOpG,IAAA,CAACV,KAAK;UAAC+G,MAAM,EAAEJ;QAA6B,CAAE,CAAC;MACxD;IACF;IAEA,oBAAOjG,IAAA,CAACb,IAAI,IAAE,CAAC;EACjB,CAAC,EAAE,CAACuB,MAAM,EAAEwF,cAAc,EAAED,KAAK,CAAC,CAAC;EAEnC,oBACE/F,KAAA,CAACf,IAAI;IACHmH,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MAAEC,eAAe,EAAE/F,MAAM,EAAEwF,cAAc,EAAEQ,KAAK,IAAI;IAAU,CAAC,CAC/D;IAAAC,QAAA,gBAEF3G,IAAA,CAACb,IAAI;MAACmH,KAAK,EAAEC,MAAM,CAACK,wBAAyB;MAAAD,QAAA,EAAEX;IAAe,CAAO,CAAC,EACrEnF,aAAa,iBACZX,KAAA,CAACf,IAAI;MAAAwH,QAAA,GACFvG,aAAa,iBACZJ,IAAA,CAACI,aAAa;QACZ6B,OAAO,EAAEpB,aAAc;QACvBgG,MAAM,EAAEhG,aAAa,CAACN,IAAI,CAACkC,EAAE,KAAKlC,IAAI,CAAC0E,aAAc;QACrDrE,OAAO,EAAEA;MAAQ,CAClB,CACF,eACDZ,IAAA,CAACP,UAAU;QAAC0C,KAAK,EAAEQ,gBAAgB,CAACuB,MAAO;QAAC4C,MAAM,EAAEpG,MAAM,EAAEoG;MAAO,CAAE,CAAC;IAAA,CAClE,CACP,eACD9G,IAAA,CAACX,QAAQ;MACP0H,GAAG,EAAEjF,WAAY;MACjBkF,IAAI,EAAErE,gBAAgB,CAACO,KAAK,CAAC,CAAC,CAACuB,OAAO,CAAC,CAAE;MACzCwC,UAAU,EAAEvC,aAAc;MAC1BwC,YAAY,EAAGrE,IAAI,IAAKA,IAAI,CAACJ,EAAE,CAAC0E,QAAQ,CAAC,CAAE;MAC3CC,YAAY,EAAEnD,cAAe;MAC7BoD,QAAQ,EAAE5B,YAAa;MACvB6B,mBAAmB,EAAE9B,uBAAwB;MAC7C+B,qBAAqB,EAAE,GAAI;MAC3BC,mBAAmB,EAAE,EAAG;MACxBC,QAAQ,EAAE3B,YAAa;MACvB4B,QAAQ,EAAE,IAAK;MACfC,yBAAyB,EAAC,SAAS;MACnCC,mBAAmB,EAAC,aAAa;MACjCC,qBAAqB,EAAEtB,MAAM,CAACuB,eAAgB;MAC9CC,mBAAmB,EACjBpH,OAAO,IAAIgC,gBAAgB,CAACuB,MAAM,GAAG,EAAE,gBACrClE,IAAA,CAACJ,MAAM;QAAC8G,KAAK,EAAEhG,MAAM,EAAEoG,MAAM,EAAEkB;MAAQ,CAAE,CAAC,GACxC;IACL,CACF,CAAC,EACD5G,uBAAuB,iBACtBpB,IAAA,CAACT,gBAAgB;MACf+G,KAAK,EAAE,CACLC,MAAM,CAAC0B,mBAAmB,EAC1B;QAAExB,eAAe,EAAE/F,MAAM,EAAEoG,MAAM,EAAEoB;MAAU,CAAC,CAC9C;MACFC,OAAO,EAAEpC,8BAA+B;MAAAY,QAAA,eAExC3G,IAAA,CAACH,YAAY,IAAE;IAAC,CACA,CACnB,EACAa,MAAM,EAAE0H,qBAAqB,EAAEC,OAAO,IAAIvH,SAAS,iBAClDd,IAAA,CAACF,qBAAqB;MACpBwI,WAAW,EAAEtH,aAAa,IAAI,CAAC,MAAM,CAAE;MACvCuH,IAAI,EAAE7H,MAAM,CAAC0H,qBAAqB,CAACG,IAAK;MACxCC,QAAQ,EAAE9H,MAAM,CAAC0H,qBAAqB,CAACI,QAAQ,IAAI,QAAS;MAC5DjC,MAAM,EAAE7F,MAAM,CAAC0H,qBAAqB,CAAC7B,MAAO;MAC5CkC,eAAe,EAAE/H,MAAM,CAAC0H,qBAAqB,CAACK,eAAgB;MAC9DC,SAAS,EAAE5H;IAAU,CACtB,CACF,EAEA,CAACJ,MAAM,EAAE0H,qBAAqB,EAAEC,OAAO,IACtC3H,MAAM,EAAEiI,aAAa,IACrB7H,SAAS,iBAAId,IAAA,CAACR,SAAS;MAAC8I,WAAW,EAAEtH,aAAa,IAAI,CAAC,MAAM;IAAE,CAAE,CAAC;EAAA,CAChE,CAAC;AAEX,CAAC;AAED,eAAeb,WAAW;AAE1B,MAAMoG,MAAM,GAAGnH,UAAU,CAACwJ,MAAM,CAAC;EAC/BpC,SAAS,EAAE;IACTqC,IAAI,EAAE,CAAC;IACPzC,KAAK,EAAE;EACT,CAAC;EACD0B,eAAe,EAAE;IACfgB,iBAAiB,EAAE,EAAE;IACrBC,aAAa,EAAE;EACjB,CAAC;EACDC,WAAW,EAAE;IACXF,iBAAiB,EAAE,EAAE;IACrBG,QAAQ,EAAE,CAAC;IACXxC,eAAe,EAAE;EACnB,CAAC;EACDG,wBAAwB,EAAE;IACxBR,KAAK,EAAE,MAAM;IACboC,QAAQ,EAAE,UAAU;IACpBU,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,MAAM,EAAE,CAAC;EACX,CAAC;EACDrD,KAAK,EAAE;IACLuC,QAAQ,EAAE,UAAU;IACpBU,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACP/C,KAAK,EAAE,MAAM;IACbmD,MAAM,EAAE;EACV,CAAC;EACDtB,mBAAmB,EAAE;IACnBO,QAAQ,EAAE,UAAU;IACpBpC,KAAK,EAAE,EAAE;IACTmD,MAAM,EAAE,EAAE;IACVF,MAAM,EAAE,EAAE;IACVD,KAAK,EAAE,EAAE;IACT3C,eAAe,EAAE,SAAS;IAC1B+C,OAAO,EAAE,EAAE;IACXC,YAAY,EAAE;EAChB,CAAC;EACDC,cAAc,EAAE;IACdhD,KAAK,EAAE,MAAM;IACbiD,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","Text","StyleSheet","FlatList","Image","TouchableOpacity","msgSortableMs","Composing","TreadLabel","MessageContainer","useRoomState","Loader","ArowDownIcon","CustomTypingIndicator","jsx","_jsx","jsxs","_jsxs","MessageList","CustomMessage","CustomDaySeparator","CustomNewMessageLabel","user","loadMoreMessages","roomJID","config","loading","isReply","activeMessage","composing","messages","composingList","room","isUserAtBottom","setIsUserAtBottom","showNewMessageIndicator","setShowNewMessageIndicator","isLoadingMore","setIsLoadingMore","isScrollBlocked","setIsScrollBlocked","unreadWhileScrolledUp","setUnreadWhileScrolledUp","newestSeenTsRef","isUserAtBottomRef","hasUserScrolledRef","flatListRef","addReplyMessages","map","message","newMessage","reply","filter","mess","mainMessage","JSON","parse","id","isDeleted","memoizedMessages","nonDeletedMessages","item","filtered","roomJid","showInChannel","sorted","slice","sort","a","b","aNum","Date","date","getTime","bNum","deduped","Array","from","Map","m","values","handleLoadMore","length","oldestMessage","Number","error","console","setTimeout","dataMessages","base","reverse","boundaryTs","current","lastNewIndex","i","withDivider","splice","name","undefined","token","refreshToken","toISOString","body","renderMessage","index","String","startsWith","walletAddress","xmppUsername","showDateLabel","messageDate","toDateString","nextMessage","candidate","nextMessageDate","scrollToBottom","scrollToOffset","offset","animated","handleContentSizeChange","handleScroll","event","contentOffset","nativeEvent","y","reduce","mx","t","since","count","n","handleLayout","handleNewMessageIndicatorPress","BackgroundImage","image","backgroundChat","SvgComponent","width","source","style","styles","container","backgroundColor","color","children","backgroundImageContainer","isUser","colors","ref","data","renderItem","keyExtractor","toString","onEndReached","onScroll","onContentSizeChange","onEndReachedThreshold","scrollEventThrottle","onLayout","inverted","keyboardShouldPersistTaps","keyboardDismissMode","contentContainerStyle","flatListContent","ListFooterComponent","primary","newMessageIndicator","onPress","height","newMessageBadge","newMessageBadgeText","customTypingIndicator","enabled","usersTyping","text","position","customComponent","isVisible","disableHeader","create","flex","paddingHorizontal","paddingBottom","messageList","flexGrow","top","left","right","bottom","zIndex","borderRadius","justifyContent","alignItems","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","newMessageText","fontWeight","minWidth","borderWidth","borderColor","fontSize"],"sourceRoot":"../../../../src","sources":["components/MainComponents/MessageList.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,13 +3,20 @@
3
3
  import React, { useMemo } from 'react';
4
4
  import { Provider } from 'react-redux';
5
5
  import { KeyboardProvider } from 'react-native-keyboard-controller';
6
+ import { SafeAreaProvider } from 'react-native-safe-area-context';
6
7
  import { store } from '../../roomStore';
7
8
  import { XmppProvider } from '../../context/xmppProvider';
8
9
  import { MessageNotificationProvider } from '../../context/MessageNotificationContext';
9
10
  import { ToastProvider } from '../../context/ToastContext';
10
11
  import LoginWrapper from './LoginWrapper';
11
12
  import '../../helpers/storeConsole';
13
+ import { installPromiseRejectionTracker } from '../../utils/installPromiseRejectionTracker';
14
+
15
+ // Mount-time, dev-only — wire a global unhandled-promise-rejection
16
+ // tracker so any future leak surfaces with a real stack trace in Metro
17
+ // logs (bug #4 follow-up). No-op in production.
12
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
+ installPromiseRejectionTracker();
13
20
  export const ReduxWrapper = /*#__PURE__*/React.memo(({
14
21
  ...props
15
22
  }) => {
@@ -18,15 +25,18 @@ export const ReduxWrapper = /*#__PURE__*/React.memo(({
18
25
  }, [props.config]);
19
26
  return /*#__PURE__*/_jsx(Provider, {
20
27
  store: store,
21
- children: /*#__PURE__*/_jsx(KeyboardProvider, {
22
- children: /*#__PURE__*/_jsx(XmppProvider, {
23
- config: memoizedConfig,
24
- children: /*#__PURE__*/_jsx(ToastProvider, {
25
- children: /*#__PURE__*/_jsx(MessageNotificationProvider, {
26
- config: memoizedConfig,
27
- children: /*#__PURE__*/_jsx(LoginWrapper, {
28
+ children: /*#__PURE__*/_jsx(SafeAreaProvider, {
29
+ children: /*#__PURE__*/_jsx(KeyboardProvider, {
30
+ children: /*#__PURE__*/_jsx(XmppProvider, {
31
+ config: memoizedConfig,
32
+ isVisible: props.isVisible,
33
+ children: /*#__PURE__*/_jsx(ToastProvider, {
34
+ children: /*#__PURE__*/_jsx(MessageNotificationProvider, {
28
35
  config: memoizedConfig,
29
- ...props
36
+ children: /*#__PURE__*/_jsx(LoginWrapper, {
37
+ config: memoizedConfig,
38
+ ...props
39
+ })
30
40
  })
31
41
  })
32
42
  })
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","Provider","KeyboardProvider","store","XmppProvider","MessageNotificationProvider","ToastProvider","LoginWrapper","jsx","_jsx","ReduxWrapper","memo","props","memoizedConfig","config","children"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ReduxWrapper.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAGC,OAAO,QAAO,OAAO;AACpC,SAAQC,QAAQ,QAAO,aAAa;AACpC,SAAQC,gBAAgB,QAAO,kCAAkC;AACjE,SAAQC,KAAK,QAAO,iBAAiB;AAErC,SAAQC,YAAY,QAAO,4BAA4B;AACvD,SAAQC,2BAA2B,QAAO,0CAA0C;AACpF,SAAQC,aAAa,QAAO,4BAA4B;AACxD,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAO,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAYpC,OAAO,MAAMC,YAAwC,gBAAGX,KAAK,CAACY,IAAI,CAChE,CAAC;EAAC,GAAGC;AAAK,CAAC,KAAK;EACd,MAAMC,cAAc,GAAGb,OAAO,CAAC,MAAM;IACnC,OAAOY,KAAK,CAACE,MAAM;EACrB,CAAC,EAAE,CAACF,KAAK,CAACE,MAAM,CAAC,CAAC;EAElB,oBACEL,IAAA,CAACR,QAAQ;IAACE,KAAK,EAAEA,KAAM;IAAAY,QAAA,eACrBN,IAAA,CAACP,gBAAgB;MAAAa,QAAA,eACfN,IAAA,CAACL,YAAY;QAACU,MAAM,EAAED,cAAe;QAAAE,QAAA,eACnCN,IAAA,CAACH,aAAa;UAAAS,QAAA,eACZN,IAAA,CAACJ,2BAA2B;YAACS,MAAM,EAAED,cAAe;YAAAE,QAAA,eAClDN,IAAA,CAACF,YAAY;cAACO,MAAM,EAAED,cAAe;cAAA,GAAKD;YAAK,CAAG;UAAC,CACxB;QAAC,CACjB;MAAC,CACJ;IAAC,CACC;EAAC,CACX,CAAC;AAEf,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Provider","KeyboardProvider","SafeAreaProvider","store","XmppProvider","MessageNotificationProvider","ToastProvider","LoginWrapper","installPromiseRejectionTracker","jsx","_jsx","ReduxWrapper","memo","props","memoizedConfig","config","children","isVisible"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ReduxWrapper.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAGC,OAAO,QAAO,OAAO;AACpC,SAAQC,QAAQ,QAAO,aAAa;AACpC,SAAQC,gBAAgB,QAAO,kCAAkC;AACjE,SAAQC,gBAAgB,QAAO,gCAAgC;AAC/D,SAAQC,KAAK,QAAO,iBAAiB;AAErC,SAAQC,YAAY,QAAO,4BAA4B;AACvD,SAAQC,2BAA2B,QAAO,0CAA0C;AACpF,SAAQC,aAAa,QAAO,4BAA4B;AACxD,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAO,4BAA4B;AACnC,SAAQC,8BAA8B,QAAO,4CAA4C;;AAEzF;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACAF,8BAA8B,CAAC,CAAC;AAahC,OAAO,MAAMG,YAAwC,gBAAGb,KAAK,CAACc,IAAI,CAChE,CAAC;EAAC,GAAGC;AAAK,CAAC,KAAK;EACd,MAAMC,cAAc,GAAGf,OAAO,CAAC,MAAM;IACnC,OAAOc,KAAK,CAACE,MAAM;EACrB,CAAC,EAAE,CAACF,KAAK,CAACE,MAAM,CAAC,CAAC;EAElB,oBACEL,IAAA,CAACV,QAAQ;IAACG,KAAK,EAAEA,KAAM;IAAAa,QAAA,eACrBN,IAAA,CAACR,gBAAgB;MAAAc,QAAA,eACfN,IAAA,CAACT,gBAAgB;QAAAe,QAAA,eACfN,IAAA,CAACN,YAAY;UAACW,MAAM,EAAED,cAAe;UAACG,SAAS,EAAEJ,KAAK,CAACI,SAAU;UAAAD,QAAA,eAC/DN,IAAA,CAACJ,aAAa;YAAAU,QAAA,eACZN,IAAA,CAACL,2BAA2B;cAACU,MAAM,EAAED,cAAe;cAAAE,QAAA,eAClDN,IAAA,CAACH,YAAY;gBAACQ,MAAM,EAAED,cAAe;gBAAA,GAAKD;cAAK,CAAG;YAAC,CACxB;UAAC,CACjB;QAAC,CACJ;MAAC,CACC;IAAC,CACH;EAAC,CACX,CAAC;AAEf,CACF,CAAC","ignoreList":[]}
@@ -1,34 +1,46 @@
1
1
  "use strict";
2
2
 
3
3
  import React from 'react';
4
- import { CustomSystemMessage } from '../styled/StyledComponents';
5
- import styled from 'styled-components/native';
4
+ import { View, Text, StyleSheet } from 'react-native';
6
5
  import { jsx as _jsx } from "react/jsx-runtime";
7
- export const CustomSystemMessageText = styled.Text`
8
- margin: 0;
9
- color: ${props => props.primary || '#0052cd'};
10
- border-radius: 118px;
11
- padding: 5px 8px;
12
- display: flex;
13
- align-items: center;
14
- justify-content: center;
15
- font-size: 12px;
16
- line-height: 14px;
17
- font-weight: 600;
18
- background-color: ${props => props.secondary || '#e7edf9'};
19
- height: 24px;
20
- white-space: nowrap;
21
- `;
22
6
  const SystemMessage = ({
23
7
  messageText,
24
8
  colors
25
9
  }) => {
26
- return /*#__PURE__*/_jsx(CustomSystemMessage, {
27
- children: /*#__PURE__*/_jsx(CustomSystemMessageText, {
28
- ...colors,
29
- children: messageText
10
+ return /*#__PURE__*/_jsx(View, {
11
+ style: styles.container,
12
+ children: /*#__PURE__*/_jsx(View, {
13
+ style: [styles.bubble, {
14
+ backgroundColor: colors?.secondary || '#e7edf9'
15
+ }],
16
+ children: /*#__PURE__*/_jsx(Text, {
17
+ style: [styles.text, {
18
+ color: colors?.primary || '#0052cd'
19
+ }],
20
+ children: messageText
21
+ })
30
22
  })
31
23
  });
32
24
  };
33
25
  export default SystemMessage;
26
+ const styles = StyleSheet.create({
27
+ container: {
28
+ width: '100%',
29
+ alignItems: 'center',
30
+ paddingVertical: 8,
31
+ paddingHorizontal: 16
32
+ },
33
+ bubble: {
34
+ maxWidth: '85%',
35
+ borderRadius: 12,
36
+ paddingVertical: 6,
37
+ paddingHorizontal: 12
38
+ },
39
+ text: {
40
+ fontSize: 12,
41
+ lineHeight: 16,
42
+ fontWeight: '600',
43
+ textAlign: 'center'
44
+ }
45
+ });
34
46
  //# sourceMappingURL=SystemMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","CustomSystemMessage","styled","jsx","_jsx","CustomSystemMessageText","Text","props","primary","secondary","SystemMessage","messageText","colors","children"],"sourceRoot":"../../../../src","sources":["components/MainComponents/SystemMessage.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB,QAAQ,4BAA4B;AAChE,OAAOC,MAAM,MAAM,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO9C,OAAO,MAAMC,uBAAuB,GAAGH,MAAM,CAACI,IAG5C;AACF;AACA,WAAYC,KAAK,IAAKA,KAAK,CAACC,OAAO,IAAI,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAuBD,KAAK,IAAKA,KAAK,CAACE,SAAS,IAAI,SAAS;AAC7D;AACA;AACA,CAAC;AAED,MAAMC,aAA2C,GAAGA,CAAC;EACnDC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,oBACER,IAAA,CAACH,mBAAmB;IAAAY,QAAA,eAClBT,IAAA,CAACC,uBAAuB;MAAA,GAAKO,MAAM;MAAAC,QAAA,EAChCF;IAAW,CACW;EAAC,CACP,CAAC;AAE1B,CAAC;AAED,eAAeD,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","StyleSheet","jsx","_jsx","SystemMessage","messageText","colors","style","styles","container","children","bubble","backgroundColor","secondary","text","color","primary","create","width","alignItems","paddingVertical","paddingHorizontal","maxWidth","borderRadius","fontSize","lineHeight","fontWeight","textAlign"],"sourceRoot":"../../../../src","sources":["components/MainComponents/SystemMessage.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOtD,MAAMC,aAA2C,GAAGA,CAAC;EACnDC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,oBACEH,IAAA,CAACJ,IAAI;IAACQ,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAK5BP,IAAA,CAACJ,IAAI;MACHQ,KAAK,EAAE,CACLC,MAAM,CAACG,MAAM,EACb;QAAEC,eAAe,EAAEN,MAAM,EAAEO,SAAS,IAAI;MAAU,CAAC,CACnD;MAAAH,QAAA,eAEFP,IAAA,CAACH,IAAI;QAACO,KAAK,EAAE,CAACC,MAAM,CAACM,IAAI,EAAE;UAAEC,KAAK,EAAET,MAAM,EAAEU,OAAO,IAAI;QAAU,CAAC,CAAE;QAAAN,QAAA,EACjEL;MAAW,CACR;IAAC,CACH;EAAC,CACH,CAAC;AAEX,CAAC;AAED,eAAeD,aAAa;AAE5B,MAAMI,MAAM,GAAGP,UAAU,CAACgB,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDV,MAAM,EAAE;IACNW,QAAQ,EAAE,KAAK;IACfC,YAAY,EAAE,EAAE;IAChBH,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDP,IAAI,EAAE;IACJU,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ import React, { createContext, useCallback, useContext, useMemo, useRef, useState } from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+
6
+ /**
7
+ * In-tree overlay host for the message context menu (MessageInteractions).
8
+ *
9
+ * Why this exists: MessageInteractions used to render inside a React Native
10
+ * `<Modal>`. On Android a Modal opens its own window, which steals focus
11
+ * from the chat input — so opening the menu dismissed the keyboard. Hosting
12
+ * the menu in the SAME view tree (no extra window) keeps the keyboard up.
13
+ *
14
+ * Coordinate note: the menu is positioned from `UIManager.measure` WINDOW
15
+ * coordinates (pageX/pageY), but this host sits below the status bar / any
16
+ * safe-area + header insets, so its own origin is offset from the window.
17
+ * The host measures that offset (`measureInWindow`) and exposes it so the
18
+ * menu can convert window coords → host-local coords. The host is mounted
19
+ * ABOVE ChatRoom's KeyboardAvoidingView, so its origin doesn't move when the
20
+ * keyboard opens (only the measured bubble's pageY does).
21
+ */
22
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
+ const Ctx = /*#__PURE__*/createContext({
24
+ present: () => {},
25
+ dismiss: () => {},
26
+ originX: 0,
27
+ originY: 0
28
+ });
29
+ export const useInteractionsOverlay = () => useContext(Ctx);
30
+ export const InteractionsOverlayProvider = ({
31
+ children
32
+ }) => {
33
+ const [entries, setEntries] = useState([]);
34
+ const [origin, setOrigin] = useState({
35
+ x: 0,
36
+ y: 0
37
+ });
38
+ const hostRef = useRef(null);
39
+ const measure = useCallback(() => {
40
+ hostRef.current?.measureInWindow?.((x, y) => {
41
+ if (typeof x !== 'number' || typeof y !== 'number') {
42
+ return;
43
+ }
44
+ setOrigin(prev => prev.x === x && prev.y === y ? prev : {
45
+ x,
46
+ y
47
+ });
48
+ });
49
+ }, []);
50
+ const present = useCallback((id, node) => {
51
+ // Re-measure on present: the keyboard / layout may have shifted us
52
+ // since the last onLayout.
53
+ measure();
54
+ setEntries(prev => {
55
+ const next = prev.filter(e => e.id !== id);
56
+ next.push({
57
+ id,
58
+ node
59
+ });
60
+ return next;
61
+ });
62
+ }, [measure]);
63
+ const dismiss = useCallback(id => {
64
+ setEntries(prev => prev.some(e => e.id === id) ? prev.filter(e => e.id !== id) : prev);
65
+ }, []);
66
+
67
+ // MUST be memoized. Otherwise every host re-render (e.g. from present()'s
68
+ // setEntries) creates a new context value → all consumers re-render →
69
+ // MessageInteractions' present-effect fires again → setEntries → … →
70
+ // "Maximum update depth exceeded". present/dismiss are stable (useCallback)
71
+ // and origin rarely changes, so this value is stable across entry changes.
72
+ const ctxValue = useMemo(() => ({
73
+ present,
74
+ dismiss,
75
+ originX: origin.x,
76
+ originY: origin.y
77
+ }), [present, dismiss, origin.x, origin.y]);
78
+ return (
79
+ /*#__PURE__*/
80
+ // `children` is a stable element from the caller, so re-rendering this
81
+ // host (present/dismiss/origin state) does NOT re-render the chat
82
+ // subtree — React reconciliation skips the unchanged children element.
83
+ _jsx(View, {
84
+ ref: hostRef,
85
+ style: styles.host,
86
+ onLayout: measure,
87
+ collapsable: false,
88
+ children: /*#__PURE__*/_jsxs(Ctx.Provider, {
89
+ value: ctxValue,
90
+ children: [children, entries.length > 0 && /*#__PURE__*/_jsx(View, {
91
+ style: styles.overlay,
92
+ pointerEvents: "box-none",
93
+ children: entries.map(e => /*#__PURE__*/_jsx(React.Fragment, {
94
+ children: e.node
95
+ }, e.id))
96
+ })]
97
+ })
98
+ })
99
+ );
100
+ };
101
+ const styles = StyleSheet.create({
102
+ host: {
103
+ flex: 1
104
+ },
105
+ overlay: {
106
+ ...StyleSheet.absoluteFillObject,
107
+ zIndex: 9999,
108
+ elevation: 9999
109
+ }
110
+ });
111
+ export default InteractionsOverlayProvider;
112
+ //# sourceMappingURL=InteractionsOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","useCallback","useContext","useMemo","useRef","useState","StyleSheet","View","jsx","_jsx","jsxs","_jsxs","Ctx","present","dismiss","originX","originY","useInteractionsOverlay","InteractionsOverlayProvider","children","entries","setEntries","origin","setOrigin","x","y","hostRef","measure","current","measureInWindow","prev","id","node","next","filter","e","push","some","ctxValue","ref","style","styles","host","onLayout","collapsable","Provider","value","length","overlay","pointerEvents","map","Fragment","create","flex","absoluteFillObject","zIndex","elevation"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/InteractionsOverlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useRef, useState } from 'react';
4
- import { View, Pressable, StyleSheet, findNodeHandle, UIManager, Dimensions, Text } from 'react-native';
4
+ import { View, Pressable, StyleSheet, findNodeHandle, UIManager, Text, Keyboard } from 'react-native';
5
5
  import { useDispatch } from 'react-redux';
6
6
  import { Avatar } from './Avatar';
7
7
  import MessageInteractions from './MessageInteractions';
@@ -35,7 +35,13 @@ const CustomMessageContainer = styled.View`
35
35
  const CustomMessageBubble = styled.View`
36
36
  position: relative;
37
37
  max-width: 85%;
38
- min-width: 30%;
38
+ min-width: ${({
39
+ isMedia
40
+ }) => isMedia ? '0' : '30%'};
41
+ align-items: ${({
42
+ isMedia,
43
+ isUser
44
+ }) => isMedia ? isUser ? 'flex-end' : 'flex-start' : 'stretch'};
39
45
  padding: ${({
40
46
  isMedia
41
47
  }) => isMedia ? '0' : '10'}px;
@@ -82,6 +88,13 @@ const CustomMessagePhotoContainer = styled.TouchableOpacity`
82
88
  const CustomUserName = styled.Text`
83
89
  font-size: 14px;
84
90
  font-weight: 500;
91
+ padding-bottom: 8px;
92
+ padding-left: ${({
93
+ media
94
+ }) => media ? '16px' : 0};
95
+ padding-top: ${({
96
+ media
97
+ }) => media ? '8px' : 0};
85
98
  color: ${({
86
99
  color
87
100
  }) => color || '#333'};
@@ -97,6 +110,16 @@ const CustomMessageTimestamp = styled.Text`
97
110
  margin-top: 5px;
98
111
  align-self: flex-end;
99
112
  `;
113
+ const CustomTimestampRow = styled.View`
114
+ flex-direction: row;
115
+ align-items: center;
116
+ align-self: flex-end;
117
+ margin-top: 4;
118
+ gap: 4;
119
+ padding-right: ${({
120
+ media
121
+ }) => media ? '10px' : 0};
122
+ `;
100
123
  const Message = ({
101
124
  message,
102
125
  isUser,
@@ -125,6 +148,7 @@ const Message = ({
125
148
  const [contextMenuPosition, setContextMenuPosition] = useState(null);
126
149
  const timerRef = useRef(null);
127
150
  const messageRef = useRef(null);
151
+ const bubbleRef = useRef(null);
128
152
  const handleUserAvatarClick = user => {
129
153
  dispatch(setActiveModal(MODAL_TYPES.PROFILE));
130
154
  dispatch(setSelectedUser(user));
@@ -180,40 +204,38 @@ const Message = ({
180
204
  }
181
205
  client?.sendMessageReactionStanza(message.id, message.roomJid, [...(message.reaction[user.xmppUsername || '']?.emoji || []), emoji], `${user.firstName} ${user.lastName}`);
182
206
  };
207
+
208
+ // Long-press → capture the bubble's on-screen bounding box. The actual
209
+ // menu placement (above / below, clamped to the viewport) is done in
210
+ // MessageInteractions, which measures the rendered menu height via
211
+ // onLayout — more accurate than estimating it here, and it's what keeps
212
+ // the menu adjacent to the message instead of floating far above (#13).
183
213
  const handleLongPress = () => {
184
- if (messageRef.current) {
185
- const nodeHandle = findNodeHandle(messageRef.current);
214
+ const target = bubbleRef.current ?? messageRef.current;
215
+ if (target?.measureInWindow) {
216
+ // Use measureInWindow — the SAME API the overlay host uses to find
217
+ // its own window origin. Both are then in identical window
218
+ // coordinates, so MessageInteractions' host-local conversion
219
+ // (subtract origin) is exact. Mixing this with UIManager.measure
220
+ // (pageX/pageY) drifted on Android (status-bar offset) and pushed the
221
+ // "below" menu too far from the message.
222
+ target.measureInWindow((x, y, width, height) => {
223
+ setContextMenuPosition({
224
+ left: x,
225
+ right: x + width,
226
+ top: y,
227
+ bottom: y + height
228
+ });
229
+ });
230
+ } else if (target) {
231
+ const nodeHandle = findNodeHandle(target);
186
232
  if (nodeHandle) {
187
- UIManager.measure(nodeHandle, (_x, _y, _width, height, pageX, pageY) => {
188
- const screenHeight = Dimensions.get('window').height;
189
- // MessageInteractions is ~5 rows (delete/edit/reply/react/copy)
190
- // at ~48px each + padding, plus emoji bar on top. 280 covers
191
- // both even with a couple of long labels. The legacy 150
192
- // figure assumed a much shorter menu and stranded the popup
193
- // off-screen on the last message of the room.
194
- const MENU_HEIGHT = 280;
195
- // Treat the consumer-supplied keyboardVerticalOffset as a
196
- // proxy for tab bar + bottom safe-area when present; falls
197
- // back to a reasonable default so the menu doesn't bump into
198
- // the nav bar on phones without one in config.
199
- const bottomReserve = (config?.keyboardVerticalOffset ?? 0) + 24;
200
- const topReserve = 16;
201
- const spaceBelow = screenHeight - (pageY + height) - bottomReserve;
202
- const spaceAbove = pageY - topReserve;
203
- let menuY;
204
- if (spaceBelow >= MENU_HEIGHT) {
205
- menuY = pageY + height;
206
- } else if (spaceAbove >= MENU_HEIGHT) {
207
- menuY = pageY - MENU_HEIGHT;
208
- } else {
209
- // Neither side has room (e.g. very small phone, large
210
- // menu) — clamp to the visible region so at least the
211
- // top of the menu is reachable.
212
- menuY = Math.max(topReserve, screenHeight - MENU_HEIGHT - bottomReserve);
213
- }
233
+ UIManager.measure(nodeHandle, (_x, _y, width, height, pageX, pageY) => {
214
234
  setContextMenuPosition({
215
- x: pageX,
216
- y: menuY
235
+ left: pageX,
236
+ right: pageX + width,
237
+ top: pageY,
238
+ bottom: pageY + height
217
239
  });
218
240
  });
219
241
  }
@@ -245,8 +267,17 @@ const Message = ({
245
267
  // justify-content: ${({ isUser }) => (isUser ? "flex-end" : "flex-start")},
246
268
  // margin-bottom: ${(props) => !!props.reply && "20px"},
247
269
  ],
248
- children: [!isUser && /*#__PURE__*/_jsx(CustomMessagePhotoContainer, {
249
- onPress: () => handleUserAvatarClick(message.user),
270
+ children: [!isUser && /*#__PURE__*/_jsx(CustomMessagePhotoContainer
271
+ // `disableProfilesInteractions` gates every entry point to the
272
+ // user-profile popup: this in-bubble avatar AND the chat-title
273
+ // press in ChatHeader. When disabled we still render the avatar
274
+ // visually but make it non-interactive (no press, no a11y
275
+ // affordance) — consumers who want it gone entirely can return
276
+ // null from a custom message component.
277
+ , {
278
+ onPress: config?.disableProfilesInteractions ? undefined : () => handleUserAvatarClick(message.user),
279
+ disabled: !!config?.disableProfilesInteractions,
280
+ accessible: !config?.disableProfilesInteractions,
250
281
  children: message.user?.profileImage ? /*#__PURE__*/_jsx(CustomMessagePhoto, {
251
282
  source: {
252
283
  uri: message.user.profileImage
@@ -255,12 +286,36 @@ const Message = ({
255
286
  username: message.user.name
256
287
  })
257
288
  }), /*#__PURE__*/_jsx(Pressable
258
- // disableInteractions hides the long-press → context menu
259
- // (delete / edit / reply / react). Mirrors web's config gate.
289
+ // The Pressable fills the row's content area, so the bubble
290
+ // inside must be aligned to the sender's side — otherwise it
291
+ // hugs the left and own media bubbles sit with a right-side
292
+ // gap (text bubbles only looked right because they're narrow).
293
+ // flex-end for own, flex-start for others.
260
294
  , {
295
+ style: {
296
+ flex: 1,
297
+ alignItems: isUser ? 'flex-end' : 'flex-start'
298
+ }
299
+ // A plain tap anywhere on a message bubble dismisses the
300
+ // keyboard. The FlatList's keyboardShouldPersistTaps="handled"
301
+ // already dismisses taps on the empty GAPS between bubbles, but
302
+ // the bubble Pressable itself is a touch responder, so taps that
303
+ // landed on a message were "handled" and the keyboard stayed —
304
+ // which is exactly the "closes only every other time" symptom
305
+ // (hit a gap → close, hit a bubble → stay). Explicitly dismissing
306
+ // here makes it reliable across the whole list. onPress does NOT
307
+ // fire when onLongPress fires, so opening MessageInteractions via
308
+ // long-press never triggers this dismiss.
309
+ ,
310
+ onPress: () => Keyboard.dismiss()
311
+ // disableInteractions hides the long-press → context menu
312
+ // (delete / edit / reply / react). Mirrors web's config gate.
313
+ ,
261
314
  onLongPress: config?.disableInteractions ? undefined : handleLongPress,
262
315
  delayLongPress: 500,
263
316
  children: /*#__PURE__*/_jsxs(CustomMessageBubble, {
317
+ ref: bubbleRef,
318
+ collapsable: false,
264
319
  isUser: isUser,
265
320
  deleted: message.isDeleted,
266
321
  isMedia: message?.isMediafile === 'true' && !message?.isDeleted,
@@ -268,6 +323,7 @@ const Message = ({
268
323
  backgroundMessage: config?.messageColor?.backgroundMessage,
269
324
  children: [!isUser && /*#__PURE__*/_jsx(CustomUserName, {
270
325
  color: config?.colors?.primary,
326
+ media: message?.isMediafile === 'true',
271
327
  children: message.user.name
272
328
  }), !isReply && message.mainMessage && /*#__PURE__*/_jsx(MessageReply, {
273
329
  handleReplyMessage: handleReplyMessage,
@@ -278,7 +334,8 @@ const Message = ({
278
334
  mimeType: message.mimetype,
279
335
  messageText: message.locationPreview,
280
336
  location: message?.location,
281
- message: message
337
+ message: message,
338
+ isUser: isUser
282
339
  }) : /*#__PURE__*/_jsx(_Fragment, {
283
340
  children: message.isDeleted && message.id !== 'delimiter-new' ? /*#__PURE__*/_jsx(DeletedMessage, {}) : /*#__PURE__*/_jsx(CustomMessageText, {
284
341
  isUser: isUser,
@@ -292,8 +349,10 @@ const Message = ({
292
349
  message: message,
293
350
  config: config,
294
351
  langSource: langSource
295
- }), /*#__PURE__*/_jsxs(CustomMessageTimestamp, {
352
+ }), /*#__PURE__*/_jsxs(CustomTimestampRow, {
353
+ media: message?.isMediafile === 'true',
296
354
  children: [!config?.disableSentLogic && isUser && isPending && /*#__PURE__*/_jsx(Text, {
355
+ style: styles.timestampText,
297
356
  children: "sending..."
298
357
  }), !config?.disableSentLogic && isUser && isFailed && /*#__PURE__*/_jsx(Text, {
299
358
  onPress: onRetryPress,
@@ -301,9 +360,12 @@ const Message = ({
301
360
  accessibilityRole: "button",
302
361
  accessibilityLabel: "Retry sending message",
303
362
  children: "! Failed \u2014 tap to retry"
304
- }), new Date(message.date).toLocaleTimeString([], {
305
- hour: '2-digit',
306
- minute: '2-digit'
363
+ }), /*#__PURE__*/_jsx(Text, {
364
+ style: styles.timestampText,
365
+ children: new Date(message.date).toLocaleTimeString([], {
366
+ hour: '2-digit',
367
+ minute: '2-digit'
368
+ })
307
369
  }), !config?.disableSentLogic && isUser && !isPending && !isFailed && /*#__PURE__*/_jsx(DoubleTick, {})]
308
370
  }), message?.reply?.length && message?.reply?.length > 0 ? /*#__PURE__*/_jsx(BottomReplyContainer, {
309
371
  isUser: isUser,
@@ -360,6 +422,25 @@ const styles = StyleSheet.create({
360
422
  color: '#E53935',
361
423
  fontWeight: '600',
362
424
  marginRight: 6
425
+ },
426
+ // Row keeps the time text and the DoubleTick SVG on the same line.
427
+ // The time Text gets an explicit lineHeight equal to the 16px tick so
428
+ // both occupy the same-height box; with alignItems center they line up
429
+ // exactly. Without the lineHeight the Text's natural line box was
430
+ // shorter than the icon, so the centred tick floated above the digits.
431
+ timestampRow: {
432
+ flexDirection: 'row',
433
+ alignItems: 'center',
434
+ alignSelf: 'flex-end',
435
+ marginTop: 4,
436
+ gap: 4
437
+ },
438
+ timestampText: {
439
+ fontSize: 12,
440
+ lineHeight: 16,
441
+ color: '#999',
442
+ includeFontPadding: false,
443
+ textAlignVertical: 'center'
363
444
  }
364
445
  });
365
446
  //# sourceMappingURL=Message.js.map