@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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Ctx","createContext","present","dismiss","originX","originY","useInteractionsOverlay","useContext","exports","InteractionsOverlayProvider","children","entries","setEntries","useState","origin","setOrigin","x","y","hostRef","useRef","measure","useCallback","current","measureInWindow","prev","id","node","next","filter","push","some","ctxValue","useMemo","jsx","View","ref","style","styles","host","onLayout","collapsable","jsxs","Provider","value","length","overlay","pointerEvents","map","Fragment","StyleSheet","create","flex","absoluteFillObject","zIndex","elevation","_default"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/InteractionsOverlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -41,7 +41,13 @@ const CustomMessageContainer = _native.default.View`
41
41
  const CustomMessageBubble = _native.default.View`
42
42
  position: relative;
43
43
  max-width: 85%;
44
- min-width: 30%;
44
+ min-width: ${({
45
+ isMedia
46
+ }) => isMedia ? '0' : '30%'};
47
+ align-items: ${({
48
+ isMedia,
49
+ isUser
50
+ }) => isMedia ? isUser ? 'flex-end' : 'flex-start' : 'stretch'};
45
51
  padding: ${({
46
52
  isMedia
47
53
  }) => isMedia ? '0' : '10'}px;
@@ -88,6 +94,13 @@ const CustomMessagePhotoContainer = _native.default.TouchableOpacity`
88
94
  const CustomUserName = _native.default.Text`
89
95
  font-size: 14px;
90
96
  font-weight: 500;
97
+ padding-bottom: 8px;
98
+ padding-left: ${({
99
+ media
100
+ }) => media ? '16px' : 0};
101
+ padding-top: ${({
102
+ media
103
+ }) => media ? '8px' : 0};
91
104
  color: ${({
92
105
  color
93
106
  }) => color || '#333'};
@@ -103,6 +116,16 @@ const CustomMessageTimestamp = _native.default.Text`
103
116
  margin-top: 5px;
104
117
  align-self: flex-end;
105
118
  `;
119
+ const CustomTimestampRow = _native.default.View`
120
+ flex-direction: row;
121
+ align-items: center;
122
+ align-self: flex-end;
123
+ margin-top: 4;
124
+ gap: 4;
125
+ padding-right: ${({
126
+ media
127
+ }) => media ? '10px' : 0};
128
+ `;
106
129
  const Message = ({
107
130
  message,
108
131
  isUser,
@@ -131,6 +154,7 @@ const Message = ({
131
154
  const [contextMenuPosition, setContextMenuPosition] = (0, _react.useState)(null);
132
155
  const timerRef = (0, _react.useRef)(null);
133
156
  const messageRef = (0, _react.useRef)(null);
157
+ const bubbleRef = (0, _react.useRef)(null);
134
158
  const handleUserAvatarClick = user => {
135
159
  dispatch((0, _chatSettingsSlice.setActiveModal)(_MODAL_TYPES.MODAL_TYPES.PROFILE));
136
160
  dispatch((0, _chatSettingsSlice.setSelectedUser)(user));
@@ -186,40 +210,38 @@ const Message = ({
186
210
  }
187
211
  client?.sendMessageReactionStanza(message.id, message.roomJid, [...(message.reaction[user.xmppUsername || '']?.emoji || []), emoji], `${user.firstName} ${user.lastName}`);
188
212
  };
213
+
214
+ // Long-press → capture the bubble's on-screen bounding box. The actual
215
+ // menu placement (above / below, clamped to the viewport) is done in
216
+ // MessageInteractions, which measures the rendered menu height via
217
+ // onLayout — more accurate than estimating it here, and it's what keeps
218
+ // the menu adjacent to the message instead of floating far above (#13).
189
219
  const handleLongPress = () => {
190
- if (messageRef.current) {
191
- const nodeHandle = (0, _reactNative.findNodeHandle)(messageRef.current);
220
+ const target = bubbleRef.current ?? messageRef.current;
221
+ if (target?.measureInWindow) {
222
+ // Use measureInWindow — the SAME API the overlay host uses to find
223
+ // its own window origin. Both are then in identical window
224
+ // coordinates, so MessageInteractions' host-local conversion
225
+ // (subtract origin) is exact. Mixing this with UIManager.measure
226
+ // (pageX/pageY) drifted on Android (status-bar offset) and pushed the
227
+ // "below" menu too far from the message.
228
+ target.measureInWindow((x, y, width, height) => {
229
+ setContextMenuPosition({
230
+ left: x,
231
+ right: x + width,
232
+ top: y,
233
+ bottom: y + height
234
+ });
235
+ });
236
+ } else if (target) {
237
+ const nodeHandle = (0, _reactNative.findNodeHandle)(target);
192
238
  if (nodeHandle) {
193
- _reactNative.UIManager.measure(nodeHandle, (_x, _y, _width, height, pageX, pageY) => {
194
- const screenHeight = _reactNative.Dimensions.get('window').height;
195
- // MessageInteractions is ~5 rows (delete/edit/reply/react/copy)
196
- // at ~48px each + padding, plus emoji bar on top. 280 covers
197
- // both even with a couple of long labels. The legacy 150
198
- // figure assumed a much shorter menu and stranded the popup
199
- // off-screen on the last message of the room.
200
- const MENU_HEIGHT = 280;
201
- // Treat the consumer-supplied keyboardVerticalOffset as a
202
- // proxy for tab bar + bottom safe-area when present; falls
203
- // back to a reasonable default so the menu doesn't bump into
204
- // the nav bar on phones without one in config.
205
- const bottomReserve = (config?.keyboardVerticalOffset ?? 0) + 24;
206
- const topReserve = 16;
207
- const spaceBelow = screenHeight - (pageY + height) - bottomReserve;
208
- const spaceAbove = pageY - topReserve;
209
- let menuY;
210
- if (spaceBelow >= MENU_HEIGHT) {
211
- menuY = pageY + height;
212
- } else if (spaceAbove >= MENU_HEIGHT) {
213
- menuY = pageY - MENU_HEIGHT;
214
- } else {
215
- // Neither side has room (e.g. very small phone, large
216
- // menu) — clamp to the visible region so at least the
217
- // top of the menu is reachable.
218
- menuY = Math.max(topReserve, screenHeight - MENU_HEIGHT - bottomReserve);
219
- }
239
+ _reactNative.UIManager.measure(nodeHandle, (_x, _y, width, height, pageX, pageY) => {
220
240
  setContextMenuPosition({
221
- x: pageX,
222
- y: menuY
241
+ left: pageX,
242
+ right: pageX + width,
243
+ top: pageY,
244
+ bottom: pageY + height
223
245
  });
224
246
  });
225
247
  }
@@ -251,8 +273,17 @@ const Message = ({
251
273
  // justify-content: ${({ isUser }) => (isUser ? "flex-end" : "flex-start")},
252
274
  // margin-bottom: ${(props) => !!props.reply && "20px"},
253
275
  ],
254
- children: [!isUser && /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomMessagePhotoContainer, {
255
- onPress: () => handleUserAvatarClick(message.user),
276
+ children: [!isUser && /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomMessagePhotoContainer
277
+ // `disableProfilesInteractions` gates every entry point to the
278
+ // user-profile popup: this in-bubble avatar AND the chat-title
279
+ // press in ChatHeader. When disabled we still render the avatar
280
+ // visually but make it non-interactive (no press, no a11y
281
+ // affordance) — consumers who want it gone entirely can return
282
+ // null from a custom message component.
283
+ , {
284
+ onPress: config?.disableProfilesInteractions ? undefined : () => handleUserAvatarClick(message.user),
285
+ disabled: !!config?.disableProfilesInteractions,
286
+ accessible: !config?.disableProfilesInteractions,
256
287
  children: message.user?.profileImage ? /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomMessagePhoto, {
257
288
  source: {
258
289
  uri: message.user.profileImage
@@ -261,12 +292,36 @@ const Message = ({
261
292
  username: message.user.name
262
293
  })
263
294
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable
264
- // disableInteractions hides the long-press → context menu
265
- // (delete / edit / reply / react). Mirrors web's config gate.
295
+ // The Pressable fills the row's content area, so the bubble
296
+ // inside must be aligned to the sender's side — otherwise it
297
+ // hugs the left and own media bubbles sit with a right-side
298
+ // gap (text bubbles only looked right because they're narrow).
299
+ // flex-end for own, flex-start for others.
266
300
  , {
301
+ style: {
302
+ flex: 1,
303
+ alignItems: isUser ? 'flex-end' : 'flex-start'
304
+ }
305
+ // A plain tap anywhere on a message bubble dismisses the
306
+ // keyboard. The FlatList's keyboardShouldPersistTaps="handled"
307
+ // already dismisses taps on the empty GAPS between bubbles, but
308
+ // the bubble Pressable itself is a touch responder, so taps that
309
+ // landed on a message were "handled" and the keyboard stayed —
310
+ // which is exactly the "closes only every other time" symptom
311
+ // (hit a gap → close, hit a bubble → stay). Explicitly dismissing
312
+ // here makes it reliable across the whole list. onPress does NOT
313
+ // fire when onLongPress fires, so opening MessageInteractions via
314
+ // long-press never triggers this dismiss.
315
+ ,
316
+ onPress: () => _reactNative.Keyboard.dismiss()
317
+ // disableInteractions hides the long-press → context menu
318
+ // (delete / edit / reply / react). Mirrors web's config gate.
319
+ ,
267
320
  onLongPress: config?.disableInteractions ? undefined : handleLongPress,
268
321
  delayLongPress: 500,
269
322
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(CustomMessageBubble, {
323
+ ref: bubbleRef,
324
+ collapsable: false,
270
325
  isUser: isUser,
271
326
  deleted: message.isDeleted,
272
327
  isMedia: message?.isMediafile === 'true' && !message?.isDeleted,
@@ -274,6 +329,7 @@ const Message = ({
274
329
  backgroundMessage: config?.messageColor?.backgroundMessage,
275
330
  children: [!isUser && /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomUserName, {
276
331
  color: config?.colors?.primary,
332
+ media: message?.isMediafile === 'true',
277
333
  children: message.user.name
278
334
  }), !isReply && message.mainMessage && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageReply.MessageReply, {
279
335
  handleReplyMessage: handleReplyMessage,
@@ -284,7 +340,8 @@ const Message = ({
284
340
  mimeType: message.mimetype,
285
341
  messageText: message.locationPreview,
286
342
  location: message?.location,
287
- message: message
343
+ message: message,
344
+ isUser: isUser
288
345
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
289
346
  children: message.isDeleted && message.id !== 'delimiter-new' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_DeletedMessage.DeletedMessage, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomMessageText, {
290
347
  isUser: isUser,
@@ -298,8 +355,10 @@ const Message = ({
298
355
  message: message,
299
356
  config: config,
300
357
  langSource: langSource
301
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(CustomMessageTimestamp, {
358
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(CustomTimestampRow, {
359
+ media: message?.isMediafile === 'true',
302
360
  children: [!config?.disableSentLogic && isUser && isPending && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
361
+ style: styles.timestampText,
303
362
  children: "sending..."
304
363
  }), !config?.disableSentLogic && isUser && isFailed && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
305
364
  onPress: onRetryPress,
@@ -307,9 +366,12 @@ const Message = ({
307
366
  accessibilityRole: "button",
308
367
  accessibilityLabel: "Retry sending message",
309
368
  children: "! Failed \u2014 tap to retry"
310
- }), new Date(message.date).toLocaleTimeString([], {
311
- hour: '2-digit',
312
- minute: '2-digit'
369
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
370
+ style: styles.timestampText,
371
+ children: new Date(message.date).toLocaleTimeString([], {
372
+ hour: '2-digit',
373
+ minute: '2-digit'
374
+ })
313
375
  }), !config?.disableSentLogic && isUser && !isPending && !isFailed && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.DoubleTick, {})]
314
376
  }), message?.reply?.length && message?.reply?.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_BottomReplyContainer.BottomReplyContainer, {
315
377
  isUser: isUser,
@@ -366,6 +428,25 @@ const styles = _reactNative.StyleSheet.create({
366
428
  color: '#E53935',
367
429
  fontWeight: '600',
368
430
  marginRight: 6
431
+ },
432
+ // Row keeps the time text and the DoubleTick SVG on the same line.
433
+ // The time Text gets an explicit lineHeight equal to the 16px tick so
434
+ // both occupy the same-height box; with alignItems center they line up
435
+ // exactly. Without the lineHeight the Text's natural line box was
436
+ // shorter than the icon, so the centred tick floated above the digits.
437
+ timestampRow: {
438
+ flexDirection: 'row',
439
+ alignItems: 'center',
440
+ alignSelf: 'flex-end',
441
+ marginTop: 4,
442
+ gap: 4
443
+ },
444
+ timestampText: {
445
+ fontSize: 12,
446
+ lineHeight: 16,
447
+ color: '#999',
448
+ includeFontPadding: false,
449
+ textAlignVertical: 'center'
369
450
  }
370
451
  });
371
452
  //# sourceMappingURL=Message.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRedux","_Avatar","_MessageInteractions","_interopRequireDefault","_BottomReplyContainer","_MessageReply","_DeletedMessage","_chatSettingsSlice","_MODAL_TYPES","_roomsSlice","_native","_MediaMessage","_MessageTranslations","_useChatSettingState","_parseMessageBody","_useMessageHeapState","_icons","_xmppProvider","_useSendMessage","_MessageReaction","_StyledComponents","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CustomMessageContainer","styled","View","isUser","props","reply","CustomMessageBubble","isMedia","deleted","backgroundMessageUser","backgroundMessage","CustomMessageText","Text","color","colorUser","CustomMessagePhoto","Image","CustomMessagePhotoContainer","TouchableOpacity","CustomUserName","CustomMessageTimestamp","Message","message","isReply","dispatch","useDispatch","client","useXmppClient","config","langSource","user","useChatSettingState","idSet","failedIdSet","useMessageHeapState","retryMessage","useSendMessage","isPressed","setIsPressed","useState","__DEV__","id","globalThis","__loggedMsg","contextMenuPosition","setContextMenuPosition","timerRef","useRef","messageRef","handleUserAvatarClick","setActiveModal","MODAL_TYPES","PROFILE","setSelectedUser","handleReplyMessage","setEditAction","isEdit","mainMessage","messageCore","JSON","parse","setActiveMessage","chatJID","roomJid","handleDeleteMessage","setDeleteModal","isDeleteModal","messageId","handleEditMessage","text","body","handleReactionMessage","emoji","reaction","sendMessageReactionStanza","firstName","lastName","xmppUsername","includes","filterEmoji","filter","handleLongPress","current","nodeHandle","findNodeHandle","UIManager","measure","_x","_y","_width","height","pageX","pageY","screenHeight","Dimensions","MENU_HEIGHT","bottomReserve","keyboardVerticalOffset","topReserve","spaceBelow","spaceAbove","menuY","Math","max","x","y","messageText","messageTextFilter","enabled","parseMessageBody","filterFunction","isFailed","isPending","pending","onRetryPress","jsxs","children","jsx","style","styles","overlay","ref","customMessageContainer","justifyContent","marginBottom","length","keys","transform","scale","paddingRight","undefined","onPress","profileImage","source","uri","Avatar","username","name","Pressable","onLongPress","disableInteractions","delayLongPress","isDeleted","isMediafile","messageColor","colors","primary","MessageReply","mimeType","mimetype","locationPreview","location","Fragment","DeletedMessage","enableTranslates","disableSentLogic","failedText","accessibilityRole","accessibilityLabel","Date","date","toLocaleTimeString","hour","minute","DoubleTick","BottomReplyContainer","onClick","MessageFooter","disableReactions","MessageReaction","changeReaction","userName","position","closeMenu","exports","StyleSheet","create","flexDirection","padding","alignItems","absoluteFillObject","top","left","width","timestamp","fontSize","marginTop","alignSelf","fontWeight","marginRight"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/Message.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRedux","_Avatar","_MessageInteractions","_interopRequireDefault","_BottomReplyContainer","_MessageReply","_DeletedMessage","_chatSettingsSlice","_MODAL_TYPES","_roomsSlice","_native","_MediaMessage","_MessageTranslations","_useChatSettingState","_parseMessageBody","_useMessageHeapState","_icons","_xmppProvider","_useSendMessage","_MessageReaction","_StyledComponents","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CustomMessageContainer","styled","View","isUser","props","reply","CustomMessageBubble","isMedia","deleted","backgroundMessageUser","backgroundMessage","CustomMessageText","Text","color","colorUser","CustomMessagePhoto","Image","CustomMessagePhotoContainer","TouchableOpacity","CustomUserName","media","CustomMessageTimestamp","CustomTimestampRow","Message","message","isReply","dispatch","useDispatch","client","useXmppClient","config","langSource","user","useChatSettingState","idSet","failedIdSet","useMessageHeapState","retryMessage","useSendMessage","isPressed","setIsPressed","useState","__DEV__","id","globalThis","__loggedMsg","contextMenuPosition","setContextMenuPosition","timerRef","useRef","messageRef","bubbleRef","handleUserAvatarClick","setActiveModal","MODAL_TYPES","PROFILE","setSelectedUser","handleReplyMessage","setEditAction","isEdit","mainMessage","messageCore","JSON","parse","setActiveMessage","chatJID","roomJid","handleDeleteMessage","setDeleteModal","isDeleteModal","messageId","handleEditMessage","text","body","handleReactionMessage","emoji","reaction","sendMessageReactionStanza","firstName","lastName","xmppUsername","includes","filterEmoji","filter","handleLongPress","target","current","measureInWindow","x","y","width","height","left","right","top","bottom","nodeHandle","findNodeHandle","UIManager","measure","_x","_y","pageX","pageY","messageText","messageTextFilter","enabled","parseMessageBody","filterFunction","isFailed","isPending","pending","onRetryPress","jsxs","children","jsx","style","styles","overlay","ref","customMessageContainer","justifyContent","marginBottom","length","keys","transform","scale","paddingRight","undefined","onPress","disableProfilesInteractions","disabled","accessible","profileImage","source","uri","Avatar","username","name","Pressable","flex","alignItems","Keyboard","dismiss","onLongPress","disableInteractions","delayLongPress","collapsable","isDeleted","isMediafile","messageColor","colors","primary","MessageReply","mimeType","mimetype","locationPreview","location","Fragment","DeletedMessage","enableTranslates","disableSentLogic","timestampText","failedText","accessibilityRole","accessibilityLabel","Date","date","toLocaleTimeString","hour","minute","DoubleTick","BottomReplyContainer","onClick","MessageFooter","disableReactions","MessageReaction","changeReaction","userName","position","closeMenu","exports","StyleSheet","create","flexDirection","padding","absoluteFillObject","timestamp","fontSize","marginTop","alignSelf","fontWeight","marginRight","timestampRow","gap","lineHeight","includeFontPadding","textAlignVertical"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/Message.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ var _MESSAGE_INTERACTIONS = require("../../helpers/constants/MESSAGE_INTERACTION
11
11
  var _reactNative = require("react-native");
12
12
  var Clipboard = _interopRequireWildcard(require("expo-clipboard"));
13
13
  var _ToastContext = require("../../context/ToastContext");
14
+ var _InteractionsOverlay = require("./InteractionsOverlay");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
17
  const MessageInteractions = ({
@@ -26,7 +27,30 @@ const MessageInteractions = ({
26
27
  const {
27
28
  showToast
28
29
  } = (0, _ToastContext.useToast)();
30
+ const {
31
+ present,
32
+ dismiss,
33
+ originX,
34
+ originY
35
+ } = (0, _InteractionsOverlay.useInteractionsOverlay)();
36
+ const overlayId = (0, _react.useId)();
29
37
  const config = (0, _reactRedux.useSelector)(state => state.chatSettingStore.config);
38
+ const [menuSize, setMenuSize] = (0, _react.useState)({
39
+ width: 0,
40
+ height: 0
41
+ });
42
+ const handleMenuLayout = e => {
43
+ const {
44
+ width,
45
+ height
46
+ } = e.nativeEvent.layout;
47
+ if (width && height && (width !== menuSize.width || height !== menuSize.height)) {
48
+ setMenuSize({
49
+ width,
50
+ height
51
+ });
52
+ }
53
+ };
30
54
  const handleCopyMessage = async text => {
31
55
  try {
32
56
  await Clipboard.setStringAsync(text);
@@ -51,55 +75,105 @@ const MessageInteractions = ({
51
75
  replyMessage();
52
76
  };
53
77
  const memoPosition = (0, _react.useMemo)(() => {
54
- if (position) {
55
- if (isUser) {
56
- return {
57
- top: position.y,
58
- right: 10
59
- };
60
- }
78
+ if (!position) {
79
+ return undefined;
80
+ }
81
+ if (!menuSize.width || !menuSize.height) {
61
82
  return {
62
- top: position.y,
63
- left: 10
83
+ top: position.bottom,
84
+ left: position.left,
85
+ opacity: 0
64
86
  };
65
87
  }
66
- }, [position, isUser]);
67
- if (config?.disableInteractions) {
68
- return null;
69
- }
70
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
71
- transparent: true,
72
- animationType: "fade",
73
- visible: true,
74
- onRequestClose: closeMenu,
75
- children: !message.isDeleted && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
76
- style: styles.overlayFill,
77
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
78
- style: _reactNative.StyleSheet.absoluteFill,
79
- onPress: closeMenu
80
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
81
- style: [styles.contextMenu, memoPosition],
82
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_ContextMenuComponents.MenuItem, {
83
- onPress: () => handleCopyMessage(message.body),
84
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
85
- children: _MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS.COPY
86
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS_ICONS.COPY, {})]
87
- }), isUser && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
88
+ const {
89
+ width: screenWidth,
90
+ height: screenHeight
91
+ } = _reactNative.Dimensions.get('window');
92
+ const bottomReserve = (config?.keyboardVerticalOffset ?? 0) + 24;
93
+ const topReserve = 16;
94
+ const sideMargin = 8;
95
+ const spaceBelow = screenHeight - position.bottom - bottomReserve;
96
+ const spaceAbove = position.top - topReserve;
97
+ let top;
98
+ if (spaceBelow >= menuSize.height) {
99
+ top = position.bottom;
100
+ } else if (spaceAbove >= menuSize.height) {
101
+ top = position.top - menuSize.height;
102
+ } else {
103
+ top = Math.max(topReserve, screenHeight - menuSize.height - bottomReserve);
104
+ }
105
+ const leftMargin = position.left;
106
+ const rightMargin = screenWidth - position.right;
107
+ const rightAligned = rightMargin < leftMargin;
108
+ let left = rightAligned ? position.right - menuSize.width : position.left;
109
+ left = Math.max(sideMargin, Math.min(left, screenWidth - menuSize.width - sideMargin));
110
+ return {
111
+ top,
112
+ left
113
+ };
114
+ }, [position, menuSize, config?.keyboardVerticalOffset]);
115
+
116
+ // Window coords (memoPosition) → host-local coords. The overlay host
117
+ // sits below the status bar / header, so subtract its measured origin.
118
+ const localPosition = (0, _react.useMemo)(() => {
119
+ if (!memoPosition) {
120
+ return undefined;
121
+ }
122
+ return {
123
+ ...memoPosition,
124
+ top: memoPosition.top - originY,
125
+ left: memoPosition.left - originX
126
+ };
127
+ }, [memoPosition, originX, originY]);
128
+ const content = config?.disableInteractions || message.isDeleted ? null : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
129
+ style: styles.overlayFill,
130
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
131
+ style: _reactNative.StyleSheet.absoluteFill,
132
+ onPress: closeMenu
133
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
134
+ style: [styles.contextMenu, localPosition],
135
+ onLayout: handleMenuLayout,
136
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_ContextMenuComponents.MenuItem, {
137
+ onPress: () => handleCopyMessage(message.body),
138
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
139
+ style: styles.menuText,
140
+ children: _MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS.COPY
141
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS_ICONS.COPY, {})]
142
+ }), isUser && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
143
+ children: [message?.isMediafile !== 'true' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
88
144
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ContextMenuComponents.Delimeter, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ContextMenuComponents.MenuItem, {
89
145
  onPress: handleEditMessage,
90
146
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
147
+ style: styles.menuText,
91
148
  children: _MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS.EDIT
92
149
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS_ICONS.EDIT, {})]
93
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ContextMenuComponents.Delimeter, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ContextMenuComponents.MenuItem, {
94
- onPress: handleDeleteMessage,
95
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
96
- children: _MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS.DELETE
97
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS_ICONS.DELETE, {})]
98
150
  })]
151
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ContextMenuComponents.Delimeter, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ContextMenuComponents.MenuItem, {
152
+ onPress: handleDeleteMessage,
153
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
154
+ style: styles.menuText,
155
+ children: _MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS.DELETE
156
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MESSAGE_INTERACTIONS.MESSAGE_INTERACTIONS_ICONS.DELETE, {})]
99
157
  })]
100
158
  })]
101
- })
159
+ })]
102
160
  });
161
+
162
+ // Render the menu in the in-tree overlay host instead of a React Native
163
+ // <Modal>. A Modal opens its own window on Android, which steals focus
164
+ // from the chat input and dismisses the keyboard when the menu opens;
165
+ // hosting it in the same view tree keeps the keyboard up. Re-run every
166
+ // render so menuSize/position updates refresh the hosted node.
167
+ // eslint-disable-next-line react-hooks/exhaustive-deps
168
+ (0, _react.useEffect)(() => {
169
+ if (content) {
170
+ present(overlayId, content);
171
+ } else {
172
+ dismiss(overlayId);
173
+ }
174
+ });
175
+ (0, _react.useEffect)(() => () => dismiss(overlayId), [dismiss, overlayId]);
176
+ return null;
103
177
  };
104
178
  var _default = exports.default = MessageInteractions;
105
179
  const styles = _reactNative.StyleSheet.create({
@@ -110,18 +184,32 @@ const styles = _reactNative.StyleSheet.create({
110
184
  contextMenu: {
111
185
  position: 'absolute',
112
186
  backgroundColor: 'white',
113
- paddingVertical: 8,
114
- paddingHorizontal: 16,
115
- borderRadius: 8,
187
+ paddingVertical: 4,
188
+ paddingHorizontal: 8,
189
+ borderRadius: 12,
116
190
  shadowColor: '#000',
117
191
  shadowOffset: {
118
192
  width: 0,
119
193
  height: 2
120
194
  },
121
- shadowOpacity: 0.25,
122
- shadowRadius: 4,
123
- elevation: 5,
124
- minWidth: 180
195
+ shadowOpacity: 0.18,
196
+ shadowRadius: 8,
197
+ elevation: 6,
198
+ minWidth: 180,
199
+ // Clip the children to the rounded corners (the hairline dividers
200
+ // run full width; without this they'd poke past the rounding on
201
+ // Android).
202
+ overflow: 'hidden'
203
+ },
204
+ // Explicit label styling so rows are the same height on both platforms
205
+ // — Android's default includeFontPadding made the menu rows taller and
206
+ // misaligned vs iOS. marginRight keeps the label off the trailing icon.
207
+ menuText: {
208
+ fontSize: 16,
209
+ color: '#141414',
210
+ includeFontPadding: false,
211
+ textAlignVertical: 'center',
212
+ marginRight: 16
125
213
  }
126
214
  });
127
215
  //# sourceMappingURL=MessageInteractions.js.map
@@ -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","_InteractionsOverlay","_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","present","dismiss","originX","originY","useInteractionsOverlay","overlayId","useId","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","localPosition","content","disableInteractions","isDeleted","jsxs","View","style","styles","overlayFill","children","jsx","Pressable","StyleSheet","absoluteFill","onPress","contextMenu","onLayout","MenuItem","body","Text","menuText","MESSAGE_INTERACTIONS","COPY","MESSAGE_INTERACTIONS_ICONS","Fragment","isMediafile","Delimeter","EDIT","DELETE","useEffect","_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":[]}