@ethora/chat-component-rn 26.8.1 → 26.8.2

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 (604) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/README.md +43 -10
  3. package/lib/commonjs/assets/icons.js +7 -2
  4. package/lib/commonjs/assets/icons.js.map +1 -1
  5. package/lib/commonjs/components/AuthForms/Login.js +4 -4
  6. package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
  7. package/lib/commonjs/components/Header/HeaderRoomList.js +29 -8
  8. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js +9 -3
  10. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js +150 -14
  12. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js +34 -13
  14. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  15. package/lib/commonjs/components/MainComponents/LoginWrapper.js +2 -1
  16. package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
  17. package/lib/commonjs/components/MainComponents/MediaMessage.js +29 -9
  18. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  19. package/lib/commonjs/components/MainComponents/MessageContainer.js +5 -1
  20. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  21. package/lib/commonjs/components/MainComponents/MessageList.js +13 -5
  22. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  23. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  24. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  25. package/lib/commonjs/components/MainComponents/RoomList.js +208 -35
  26. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  27. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +317 -98
  28. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  29. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +322 -110
  30. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  31. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +546 -203
  32. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  33. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +226 -0
  34. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  35. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +69 -27
  36. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  37. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +2 -1
  38. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  39. package/lib/commonjs/components/Modals/Modal/Modal.js +8 -0
  40. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  41. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +2 -1
  42. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  43. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +202 -106
  44. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  45. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  46. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  47. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +563 -0
  48. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  49. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +210 -0
  50. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  51. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  52. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  53. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +7 -21
  54. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  55. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +507 -244
  56. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  57. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +74 -46
  58. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  59. package/lib/commonjs/components/Modals/styledModalComponents.js +9 -2
  60. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  61. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +21 -7
  62. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  63. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +22 -3
  64. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  65. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +17 -3
  66. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  67. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +17 -3
  68. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  69. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +6 -3
  70. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  71. package/lib/commonjs/components/styled/AudioMessage.js +2 -1
  72. package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
  73. package/lib/commonjs/components/styled/MessageImage.js +37 -9
  74. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  75. package/lib/commonjs/components/styled/SendInput.js +80 -11
  76. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  77. package/lib/commonjs/components/styled/StyledComponents.js +9 -3
  78. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  79. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  80. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  81. package/lib/commonjs/components/styled/UnsupportedType.js +14 -4
  82. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  83. package/lib/commonjs/components/styled/VideoMessage.js +119 -61
  84. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  85. package/lib/commonjs/context/xmppProvider.js +184 -59
  86. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  87. package/lib/commonjs/helpers/createMessageFromXml.js +19 -1
  88. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  89. package/lib/commonjs/helpers/ensureScopedChatCache.js +2 -2
  90. package/lib/commonjs/helpers/ensureScopedChatCache.js.map +1 -1
  91. package/lib/commonjs/helpers/getChatBackground.js +23 -0
  92. package/lib/commonjs/helpers/getChatBackground.js.map +1 -0
  93. package/lib/commonjs/helpers/getDisplayFileName.js +79 -0
  94. package/lib/commonjs/helpers/getDisplayFileName.js.map +1 -0
  95. package/lib/commonjs/helpers/getServerReadTimestamp.js +188 -0
  96. package/lib/commonjs/helpers/getServerReadTimestamp.js.map +1 -0
  97. package/lib/commonjs/helpers/historyPreloadScheduler.js +65 -2
  98. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  99. package/lib/commonjs/helpers/initXmppRooms.js +14 -8
  100. package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
  101. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +51 -9
  102. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  103. package/lib/commonjs/helpers/isOwnMessage.js +75 -0
  104. package/lib/commonjs/helpers/isOwnMessage.js.map +1 -0
  105. package/lib/commonjs/helpers/keyboardLayout.js +12 -2
  106. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
  107. package/lib/commonjs/helpers/mediaLibraryRuntime.js +31 -0
  108. package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +1 -0
  109. package/lib/commonjs/helpers/mimeToExtension.js +6 -14
  110. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  111. package/lib/commonjs/helpers/msgSortableMs.js +37 -0
  112. package/lib/commonjs/helpers/msgSortableMs.js.map +1 -0
  113. package/lib/commonjs/helpers/persistCrypto.js +122 -0
  114. package/lib/commonjs/helpers/persistCrypto.js.map +1 -0
  115. package/lib/commonjs/helpers/pickImageAsset.js +68 -0
  116. package/lib/commonjs/helpers/pickImageAsset.js.map +1 -0
  117. package/lib/commonjs/helpers/pushPayload.js +71 -0
  118. package/lib/commonjs/helpers/pushPayload.js.map +1 -0
  119. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +130 -17
  120. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  121. package/lib/commonjs/helpers/secureFileUrl.js +101 -0
  122. package/lib/commonjs/helpers/secureFileUrl.js.map +1 -0
  123. package/lib/commonjs/helpers/secureKeyValue.js +83 -0
  124. package/lib/commonjs/helpers/secureKeyValue.js.map +1 -0
  125. package/lib/commonjs/helpers/secureStoreRuntime.js +59 -0
  126. package/lib/commonjs/helpers/secureStoreRuntime.js.map +1 -0
  127. package/lib/commonjs/helpers/secureUserStorage.js +75 -0
  128. package/lib/commonjs/helpers/secureUserStorage.js.map +1 -0
  129. package/lib/commonjs/helpers/shallowEqual.js +36 -0
  130. package/lib/commonjs/helpers/shallowEqual.js.map +1 -0
  131. package/lib/commonjs/helpers/sheetGestures.js +32 -0
  132. package/lib/commonjs/helpers/sheetGestures.js.map +1 -0
  133. package/lib/commonjs/hooks/useChatRoomFocus.js +45 -12
  134. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  135. package/lib/commonjs/hooks/useChatWrapperInit.js +30 -10
  136. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  137. package/lib/commonjs/hooks/useComposing.js +27 -0
  138. package/lib/commonjs/hooks/useComposing.js.map +1 -1
  139. package/lib/commonjs/hooks/useFileToken.js +10 -0
  140. package/lib/commonjs/hooks/useFileToken.js.map +1 -0
  141. package/lib/commonjs/hooks/useLogout.js +23 -7
  142. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  143. package/lib/commonjs/hooks/usePendingNotification.js +8 -11
  144. package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
  145. package/lib/commonjs/hooks/useSendMessage.js +50 -14
  146. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  147. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +6 -1
  148. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  149. package/lib/commonjs/i18n/strings.js +145 -37
  150. package/lib/commonjs/i18n/strings.js.map +1 -1
  151. package/lib/commonjs/main.js +44 -0
  152. package/lib/commonjs/main.js.map +1 -1
  153. package/lib/commonjs/networking/api-requests/auth.api.js +134 -60
  154. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  155. package/lib/commonjs/networking/api-requests/roomMembers.api.js +1 -1
  156. package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
  157. package/lib/commonjs/networking/api-requests/rooms.api.js +9 -9
  158. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  159. package/lib/commonjs/networking/api-requests/user.api.js +68 -9
  160. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  161. package/lib/commonjs/networking/apiClient.js +62 -112
  162. package/lib/commonjs/networking/apiClient.js.map +1 -1
  163. package/lib/commonjs/networking/authRefresh.js +332 -0
  164. package/lib/commonjs/networking/authRefresh.js.map +1 -0
  165. package/lib/commonjs/networking/stanzaHandlers.js +41 -28
  166. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  167. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +46 -8
  168. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  169. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  170. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  171. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  172. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  173. package/lib/commonjs/networking/xmppClient.js +124 -8
  174. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  175. package/lib/commonjs/roomStore/chatSettingsSlice.js +26 -7
  176. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  177. package/lib/commonjs/roomStore/index.js +35 -2
  178. package/lib/commonjs/roomStore/index.js.map +1 -1
  179. package/lib/commonjs/roomStore/persistence.js +226 -23
  180. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  181. package/lib/commonjs/roomStore/roomsSlice.js +151 -38
  182. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  183. package/lib/commonjs/services/pushSubscriptionService.js +15 -13
  184. package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
  185. package/lib/commonjs/version.js +1 -1
  186. package/lib/module/assets/icons.js +6 -1
  187. package/lib/module/assets/icons.js.map +1 -1
  188. package/lib/module/components/AuthForms/Login.js +4 -4
  189. package/lib/module/components/AuthForms/Login.js.map +1 -1
  190. package/lib/module/components/Header/HeaderRoomList.js +29 -8
  191. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  192. package/lib/module/components/MainComponents/ChatHeader.js +9 -3
  193. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  194. package/lib/module/components/MainComponents/ChatRoom.js +152 -16
  195. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  196. package/lib/module/components/MainComponents/ChatWrapper.js +35 -14
  197. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  198. package/lib/module/components/MainComponents/LoginWrapper.js +2 -1
  199. package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
  200. package/lib/module/components/MainComponents/MediaMessage.js +30 -10
  201. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  202. package/lib/module/components/MainComponents/MessageContainer.js +5 -1
  203. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  204. package/lib/module/components/MainComponents/MessageList.js +13 -5
  205. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  206. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  207. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  208. package/lib/module/components/MainComponents/RoomList.js +207 -35
  209. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  210. package/lib/module/components/Menu/HeaderRoomListMenu.js +319 -101
  211. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  212. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +313 -113
  213. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  214. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +549 -207
  215. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  216. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +223 -0
  217. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  218. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +70 -28
  219. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  220. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +2 -1
  221. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  222. package/lib/module/components/Modals/Modal/Modal.js +9 -1
  223. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  224. package/lib/module/components/Modals/NewChatModal/ModalContent.js +2 -1
  225. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  226. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +205 -108
  227. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  228. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  229. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  230. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +555 -0
  231. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  232. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +205 -0
  233. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  234. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  235. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  236. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +9 -23
  237. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  238. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +509 -248
  239. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  240. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +76 -48
  241. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  242. package/lib/module/components/Modals/styledModalComponents.js +9 -2
  243. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  244. package/lib/module/components/RoomComponents/ChatRoomItem.js +21 -7
  245. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  246. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +22 -3
  247. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  248. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +17 -3
  249. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  250. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +17 -3
  251. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  252. package/lib/module/components/VideoCalls/VideoCallSession.js +6 -3
  253. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  254. package/lib/module/components/styled/AudioMessage.js +2 -1
  255. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  256. package/lib/module/components/styled/MessageImage.js +37 -9
  257. package/lib/module/components/styled/MessageImage.js.map +1 -1
  258. package/lib/module/components/styled/SendInput.js +81 -12
  259. package/lib/module/components/styled/SendInput.js.map +1 -1
  260. package/lib/module/components/styled/StyledComponents.js +9 -3
  261. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  262. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  263. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  264. package/lib/module/components/styled/UnsupportedType.js +14 -4
  265. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  266. package/lib/module/components/styled/VideoMessage.js +120 -62
  267. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  268. package/lib/module/context/xmppProvider.js +184 -60
  269. package/lib/module/context/xmppProvider.js.map +1 -1
  270. package/lib/module/helpers/createMessageFromXml.js +19 -1
  271. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  272. package/lib/module/helpers/ensureScopedChatCache.js +2 -2
  273. package/lib/module/helpers/ensureScopedChatCache.js.map +1 -1
  274. package/lib/module/helpers/getChatBackground.js +18 -0
  275. package/lib/module/helpers/getChatBackground.js.map +1 -0
  276. package/lib/module/helpers/getDisplayFileName.js +73 -0
  277. package/lib/module/helpers/getDisplayFileName.js.map +1 -0
  278. package/lib/module/helpers/getServerReadTimestamp.js +181 -0
  279. package/lib/module/helpers/getServerReadTimestamp.js.map +1 -0
  280. package/lib/module/helpers/historyPreloadScheduler.js +66 -3
  281. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  282. package/lib/module/helpers/initXmppRooms.js +14 -8
  283. package/lib/module/helpers/initXmppRooms.js.map +1 -1
  284. package/lib/module/helpers/insertMessageWithDelimiter.js +52 -9
  285. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  286. package/lib/module/helpers/isOwnMessage.js +70 -0
  287. package/lib/module/helpers/isOwnMessage.js.map +1 -0
  288. package/lib/module/helpers/keyboardLayout.js +12 -2
  289. package/lib/module/helpers/keyboardLayout.js.map +1 -1
  290. package/lib/module/helpers/mediaLibraryRuntime.js +25 -0
  291. package/lib/module/helpers/mediaLibraryRuntime.js.map +1 -0
  292. package/lib/module/helpers/mimeToExtension.js +6 -13
  293. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  294. package/lib/module/helpers/msgSortableMs.js +32 -0
  295. package/lib/module/helpers/msgSortableMs.js.map +1 -0
  296. package/lib/module/helpers/persistCrypto.js +115 -0
  297. package/lib/module/helpers/persistCrypto.js.map +1 -0
  298. package/lib/module/helpers/pickImageAsset.js +63 -0
  299. package/lib/module/helpers/pickImageAsset.js.map +1 -0
  300. package/lib/module/helpers/pushPayload.js +63 -0
  301. package/lib/module/helpers/pushPayload.js.map +1 -0
  302. package/lib/module/helpers/resolveInitBeforeLoadUser.js +130 -16
  303. package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  304. package/lib/module/helpers/secureFileUrl.js +91 -0
  305. package/lib/module/helpers/secureFileUrl.js.map +1 -0
  306. package/lib/module/helpers/secureKeyValue.js +75 -0
  307. package/lib/module/helpers/secureKeyValue.js.map +1 -0
  308. package/lib/module/helpers/secureStoreRuntime.js +52 -0
  309. package/lib/module/helpers/secureStoreRuntime.js.map +1 -0
  310. package/lib/module/helpers/secureUserStorage.js +72 -0
  311. package/lib/module/helpers/secureUserStorage.js.map +1 -0
  312. package/lib/module/helpers/shallowEqual.js +31 -0
  313. package/lib/module/helpers/shallowEqual.js.map +1 -0
  314. package/lib/module/helpers/sheetGestures.js +26 -0
  315. package/lib/module/helpers/sheetGestures.js.map +1 -0
  316. package/lib/module/hooks/useChatRoomFocus.js +46 -13
  317. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  318. package/lib/module/hooks/useChatWrapperInit.js +30 -10
  319. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  320. package/lib/module/hooks/useComposing.js +28 -1
  321. package/lib/module/hooks/useComposing.js.map +1 -1
  322. package/lib/module/hooks/useFileToken.js +5 -0
  323. package/lib/module/hooks/useFileToken.js.map +1 -0
  324. package/lib/module/hooks/useLogout.js +23 -7
  325. package/lib/module/hooks/useLogout.js.map +1 -1
  326. package/lib/module/hooks/usePendingNotification.js +8 -11
  327. package/lib/module/hooks/usePendingNotification.js.map +1 -1
  328. package/lib/module/hooks/useSendMessage.js +52 -16
  329. package/lib/module/hooks/useSendMessage.js.map +1 -1
  330. package/lib/module/hooks/useUnreadMessagesCounter.js +6 -1
  331. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  332. package/lib/module/i18n/strings.js +145 -37
  333. package/lib/module/i18n/strings.js.map +1 -1
  334. package/lib/module/main.js +14 -2
  335. package/lib/module/main.js.map +1 -1
  336. package/lib/module/networking/api-requests/auth.api.js +131 -59
  337. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  338. package/lib/module/networking/api-requests/roomMembers.api.js +1 -1
  339. package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
  340. package/lib/module/networking/api-requests/rooms.api.js +9 -9
  341. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  342. package/lib/module/networking/api-requests/user.api.js +64 -7
  343. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  344. package/lib/module/networking/apiClient.js +61 -113
  345. package/lib/module/networking/apiClient.js.map +1 -1
  346. package/lib/module/networking/authRefresh.js +321 -0
  347. package/lib/module/networking/authRefresh.js.map +1 -0
  348. package/lib/module/networking/stanzaHandlers.js +41 -28
  349. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  350. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +46 -8
  351. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  352. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  353. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  354. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  355. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  356. package/lib/module/networking/xmppClient.js +124 -8
  357. package/lib/module/networking/xmppClient.js.map +1 -1
  358. package/lib/module/roomStore/chatSettingsSlice.js +26 -7
  359. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  360. package/lib/module/roomStore/index.js +37 -4
  361. package/lib/module/roomStore/index.js.map +1 -1
  362. package/lib/module/roomStore/persistence.js +223 -22
  363. package/lib/module/roomStore/persistence.js.map +1 -1
  364. package/lib/module/roomStore/roomsSlice.js +139 -34
  365. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  366. package/lib/module/services/pushSubscriptionService.js +15 -13
  367. package/lib/module/services/pushSubscriptionService.js.map +1 -1
  368. package/lib/module/version.js +1 -1
  369. package/lib/typescript/assets/icons.d.ts +16 -0
  370. package/lib/typescript/assets/icons.d.ts.map +1 -1
  371. package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
  372. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  373. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  374. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  375. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  376. package/lib/typescript/components/MainComponents/LoginWrapper.d.ts.map +1 -1
  377. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  378. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  379. package/lib/typescript/components/MainComponents/MessageList.d.ts +10 -1
  380. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  381. package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
  382. package/lib/typescript/components/MainComponents/RoomList.d.ts +7 -0
  383. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  384. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +3 -0
  385. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  386. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +9 -0
  387. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  388. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +10 -0
  389. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  390. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +9 -0
  391. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -0
  392. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  393. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  394. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  395. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +4 -2
  396. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  397. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
  398. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  399. package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
  400. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +75 -0
  401. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -0
  402. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +25 -0
  403. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -0
  404. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +6 -1
  405. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  406. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  407. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +16 -0
  408. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  409. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +1 -0
  410. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  411. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  412. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  413. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
  414. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  415. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
  416. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  417. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
  418. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  419. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  420. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  421. package/lib/typescript/components/styled/MessageImage.d.ts +14 -0
  422. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  423. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  424. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  425. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  426. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  427. package/lib/typescript/components/styled/VideoMessage.d.ts +8 -0
  428. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  429. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  430. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  431. package/lib/typescript/helpers/getChatBackground.d.ts +15 -0
  432. package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -0
  433. package/lib/typescript/helpers/getDisplayFileName.d.ts +49 -0
  434. package/lib/typescript/helpers/getDisplayFileName.d.ts.map +1 -0
  435. package/lib/typescript/helpers/getServerReadTimestamp.d.ts +108 -0
  436. package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +1 -0
  437. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  438. package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
  439. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts +1 -1
  440. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  441. package/lib/typescript/helpers/isOwnMessage.d.ts +36 -0
  442. package/lib/typescript/helpers/isOwnMessage.d.ts.map +1 -0
  443. package/lib/typescript/helpers/keyboardLayout.d.ts +5 -1
  444. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
  445. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +3 -0
  446. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +1 -0
  447. package/lib/typescript/helpers/mimeToExtension.d.ts +0 -15
  448. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  449. package/lib/typescript/helpers/msgSortableMs.d.ts +2 -0
  450. package/lib/typescript/helpers/msgSortableMs.d.ts.map +1 -0
  451. package/lib/typescript/helpers/persistCrypto.d.ts +13 -0
  452. package/lib/typescript/helpers/persistCrypto.d.ts.map +1 -0
  453. package/lib/typescript/helpers/pickImageAsset.d.ts +27 -0
  454. package/lib/typescript/helpers/pickImageAsset.d.ts.map +1 -0
  455. package/lib/typescript/helpers/pushPayload.d.ts +7 -0
  456. package/lib/typescript/helpers/pushPayload.d.ts.map +1 -0
  457. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
  458. package/lib/typescript/helpers/secureFileUrl.d.ts +7 -0
  459. package/lib/typescript/helpers/secureFileUrl.d.ts.map +1 -0
  460. package/lib/typescript/helpers/secureKeyValue.d.ts +13 -0
  461. package/lib/typescript/helpers/secureKeyValue.d.ts.map +1 -0
  462. package/lib/typescript/helpers/secureStoreRuntime.d.ts +29 -0
  463. package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +1 -0
  464. package/lib/typescript/helpers/secureUserStorage.d.ts +23 -0
  465. package/lib/typescript/helpers/secureUserStorage.d.ts.map +1 -0
  466. package/lib/typescript/helpers/shallowEqual.d.ts +11 -0
  467. package/lib/typescript/helpers/shallowEqual.d.ts.map +1 -0
  468. package/lib/typescript/helpers/sheetGestures.d.ts +20 -0
  469. package/lib/typescript/helpers/sheetGestures.d.ts.map +1 -0
  470. package/lib/typescript/hooks/useChatRoomFocus.d.ts +4 -1
  471. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  472. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  473. package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
  474. package/lib/typescript/hooks/useFileToken.d.ts +2 -0
  475. package/lib/typescript/hooks/useFileToken.d.ts.map +1 -0
  476. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  477. package/lib/typescript/hooks/usePendingNotification.d.ts.map +1 -1
  478. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  479. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
  480. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  481. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  482. package/lib/typescript/main.d.ts +9 -2
  483. package/lib/typescript/main.d.ts.map +1 -1
  484. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -1
  485. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  486. package/lib/typescript/networking/api-requests/user.api.d.ts +27 -0
  487. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  488. package/lib/typescript/networking/apiClient.d.ts +12 -6
  489. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  490. package/lib/typescript/networking/authRefresh.d.ts +95 -0
  491. package/lib/typescript/networking/authRefresh.d.ts.map +1 -0
  492. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  493. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +10 -2
  494. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  495. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  496. package/lib/typescript/networking/xmpp/subscribeToRoomMessages.xmpp.d.ts.map +1 -1
  497. package/lib/typescript/networking/xmppClient.d.ts +14 -0
  498. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  499. package/lib/typescript/roomStore/chatSettingsSlice.d.ts +16 -0
  500. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  501. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  502. package/lib/typescript/roomStore/persistence.d.ts +18 -1
  503. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  504. package/lib/typescript/roomStore/roomsSlice.d.ts +43 -3
  505. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  506. package/lib/typescript/services/pushSubscriptionService.d.ts +1 -1
  507. package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
  508. package/lib/typescript/types/types.d.ts +50 -5
  509. package/lib/typescript/types/types.d.ts.map +1 -1
  510. package/lib/typescript/version.d.ts +1 -1
  511. package/package.json +41 -28
  512. package/src/assets/icons.tsx +48 -9
  513. package/src/components/AuthForms/Login.tsx +3 -3
  514. package/src/components/Header/HeaderRoomList.tsx +29 -7
  515. package/src/components/MainComponents/ChatHeader.tsx +9 -3
  516. package/src/components/MainComponents/ChatRoom.tsx +161 -15
  517. package/src/components/MainComponents/ChatWrapper.tsx +36 -20
  518. package/src/components/MainComponents/LoginWrapper.tsx +1 -0
  519. package/src/components/MainComponents/MediaMessage.tsx +26 -8
  520. package/src/components/MainComponents/MessageContainer.tsx +5 -1
  521. package/src/components/MainComponents/MessageList.tsx +23 -4
  522. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +21 -14
  523. package/src/components/MainComponents/RoomList.tsx +236 -39
  524. package/src/components/Menu/HeaderRoomListMenu.tsx +328 -75
  525. package/src/components/Modals/AttachSheet/AttachSheet.tsx +333 -97
  526. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +600 -282
  527. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +244 -0
  528. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +79 -38
  529. package/src/components/Modals/FilePreviewModal/PdfView.tsx +2 -1
  530. package/src/components/Modals/Modal/Modal.tsx +7 -0
  531. package/src/components/Modals/NewChatModal/ModalContent.tsx +6 -3
  532. package/src/components/Modals/NewChatModal/NewChatModal.tsx +219 -119
  533. package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +12 -1
  534. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +624 -0
  535. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +217 -0
  536. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +14 -4
  537. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +9 -25
  538. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +617 -307
  539. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +75 -58
  540. package/src/components/Modals/styledModalComponents.tsx +9 -2
  541. package/src/components/RoomComponents/ChatRoomItem.tsx +18 -3
  542. package/src/components/RoomComponents/styled/LastMessageFile.tsx +28 -4
  543. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +18 -3
  544. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +18 -3
  545. package/src/components/VideoCalls/VideoCallSession.tsx +8 -3
  546. package/src/components/styled/AudioMessage.tsx +2 -1
  547. package/src/components/styled/MessageImage.tsx +53 -7
  548. package/src/components/styled/SendInput.tsx +83 -12
  549. package/src/components/styled/StyledComponents.ts +9 -3
  550. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +11 -4
  551. package/src/components/styled/UnsupportedType.tsx +14 -4
  552. package/src/components/styled/VideoMessage.tsx +131 -54
  553. package/src/context/xmppProvider.tsx +216 -57
  554. package/src/helpers/createMessageFromXml.ts +20 -1
  555. package/src/helpers/ensureScopedChatCache.ts +2 -2
  556. package/src/helpers/getChatBackground.ts +18 -0
  557. package/src/helpers/getDisplayFileName.ts +87 -0
  558. package/src/helpers/getServerReadTimestamp.ts +197 -0
  559. package/src/helpers/historyPreloadScheduler.ts +80 -3
  560. package/src/helpers/initXmppRooms.tsx +14 -10
  561. package/src/helpers/insertMessageWithDelimiter.ts +55 -19
  562. package/src/helpers/isOwnMessage.ts +90 -0
  563. package/src/helpers/keyboardLayout.ts +23 -2
  564. package/src/helpers/mediaLibraryRuntime.ts +25 -0
  565. package/src/helpers/mimeToExtension.ts +6 -22
  566. package/src/helpers/msgSortableMs.ts +25 -0
  567. package/src/helpers/persistCrypto.ts +127 -0
  568. package/src/helpers/pickImageAsset.ts +68 -0
  569. package/src/helpers/pushPayload.ts +62 -0
  570. package/src/helpers/resolveInitBeforeLoadUser.ts +125 -18
  571. package/src/helpers/secureFileUrl.ts +103 -0
  572. package/src/helpers/secureKeyValue.ts +80 -0
  573. package/src/helpers/secureStoreRuntime.ts +62 -0
  574. package/src/helpers/secureUserStorage.ts +80 -0
  575. package/src/helpers/shallowEqual.ts +33 -0
  576. package/src/helpers/sheetGestures.ts +25 -0
  577. package/src/hooks/useChatRoomFocus.ts +49 -9
  578. package/src/hooks/useChatWrapperInit.ts +30 -10
  579. package/src/hooks/useComposing.tsx +37 -1
  580. package/src/hooks/useFileToken.ts +7 -0
  581. package/src/hooks/useLogout.tsx +29 -9
  582. package/src/hooks/usePendingNotification.ts +5 -11
  583. package/src/hooks/useSendMessage.tsx +60 -15
  584. package/src/hooks/useUnreadMessagesCounter.ts +11 -0
  585. package/src/i18n/strings.ts +145 -37
  586. package/src/main.ts +26 -2
  587. package/src/networking/api-requests/auth.api.ts +156 -48
  588. package/src/networking/api-requests/roomMembers.api.ts +1 -1
  589. package/src/networking/api-requests/rooms.api.ts +9 -9
  590. package/src/networking/api-requests/user.api.ts +79 -7
  591. package/src/networking/apiClient.ts +68 -123
  592. package/src/networking/authRefresh.ts +451 -0
  593. package/src/networking/stanzaHandlers.ts +44 -28
  594. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +71 -10
  595. package/src/networking/xmpp/presenceInRoom.xmpp.ts +6 -1
  596. package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +12 -1
  597. package/src/networking/xmppClient.ts +141 -9
  598. package/src/roomStore/chatSettingsSlice.ts +34 -10
  599. package/src/roomStore/index.ts +40 -4
  600. package/src/roomStore/persistence.ts +234 -24
  601. package/src/roomStore/roomsSlice.ts +161 -29
  602. package/src/services/pushSubscriptionService.ts +18 -13
  603. package/src/types/types.ts +72 -5
  604. package/src/version.ts +1 -1
@@ -30,9 +30,15 @@ export const ChatContainerHeader = styled.View`
30
30
  background-color: #ffffff;
31
31
  align-items: center;
32
32
  justify-content: space-between;
33
- border-bottom-width: 1px;
34
- border-bottom-color: #e5e7eb;
35
- border-style: solid;
33
+ /* Rounded bottom corners + a soft drop shadow instead of the hairline
34
+ * rule, so the header reads as a card over the conversation. */
35
+ border-bottom-left-radius: 20px;
36
+ border-bottom-right-radius: 20px;
37
+ shadow-color: #101828;
38
+ shadow-offset: 0px 4px;
39
+ shadow-opacity: 0.06;
40
+ shadow-radius: 12px;
41
+ elevation: 4;
36
42
  z-index: 1000;
37
43
  `;
38
44
  export const CenterContainer = styled.View`
@@ -1 +1 @@
1
- {"version":3,"names":["styled","Dimensions","width","height","get","ChatContainer","View","ThreadContainer","ChatContainerHeader","CenterContainer","rightSpace","leftSpace","ChatContainerHeaderBoxInfo","TouchableOpacity","ChatContainerHeaderInfo","ChatContainerHeaderLabel","Text","fontWeight","fontSize","NonRoomChat","MessagesScroll","ScrollView","MessagesList","MessageTimestamp","Message","props","isUser","MessageText","UserName","InputContainer","MessageInput","TextInput","IconButton","SendButton","SendButtonText","AvatarCircle","size","bgColor","AvatarImage","Image","RemoveButton","RemoveButtonText","InitialsText","color","Overlay","CustomMessageText","colorUser","FileInput","StyledLoaderWrapper","OrDelimiter","OrDelimiterText","Line","AlsoCheckbox","accentColor","AlsoContainer","Wrapper","CustomSystemMessage","MessageFooter"],"sourceRoot":"../../../../src","sources":["components/styled/StyledComponents.ts"],"mappings":";;AAAA;;AAEA,OAAOA,MAAM,MAAM,0BAA0B;AAC7C,SAASC,UAAU,QAAQ,cAAc;AAEzC,MAAM;EAAEC,KAAK;EAAEC;AAAO,CAAC,GAAGF,UAAU,CAACG,GAAG,CAAC,QAAQ,CAAC;;AAElD;AACA,OAAO,MAAMC,aAAa,GAAGL,MAAM,CAACM,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,eAAe,GAAGP,MAAM,CAACM,IAAI;AAC1C;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAME,mBAAmB,GAAGR,MAAM,CAACM,IAAI;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMG,eAAe,GAAGT,MAAM,CAACM,IAGpC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,CAAC;EAAEI;AAAW,CAAC,KAAMA,UAAU,GAAG,IAAI,GAAG,GAAI;AAChE,kBAAkB,CAAC;EAAEC;AAAU,CAAC,KAAMA,SAAS,GAAG,IAAI,GAAG,GAAI;AAC7D,CAAC;AAED,OAAO,MAAMC,0BAA0B,GAAGZ,MAAM,CAACa,gBAAgB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAAGd,MAAM,CAACM,IAAI;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMS,wBAAwB,GAAGf,MAAM,CAACgB,IAG7C;AACF;AACA,iBAAiB,CAAC;EAAEC;AAAW,CAAC,KAAKA,UAAU,IAAI,GAAG;AACtD,eAAe,CAAC;EAAEC;AAAS,CAAC,KAAKA,QAAQ,IAAI,EAAE;AAC/C;AACA;AACA;AACA,CAAC;;AAED;AACA,OAAO,MAAMC,WAAW,GAAGnB,MAAM,CAACM,IAAI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMc,cAAc,GAAGpB,MAAM,CAACqB,UAAU;AAC/C;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,YAAY,GAAGtB,MAAM,CAACM,IAAI;AACvC;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMiB,gBAAgB,GAAGvB,MAAM,CAACgB,IAAI;AAC3C;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMQ,OAAO,GAAGxB,MAAM,CAACM,IAAyB;AACvD,sBAAuBmB,KAAK,IAAMA,KAAK,CAACC,MAAM,GAAG,SAAS,GAAG,SAAU;AACvE;AACA;AACA;AACA;AACA;AACA,gBAAiBD,KAAK,IAAMA,KAAK,CAACC,MAAM,GAAG,UAAU,GAAG,YAAa;AACrE,CAAC;AAED,OAAO,MAAMC,WAAW,GAAG3B,MAAM,CAACgB,IAAI;AACtC;AACA;AACA,CAAC;AAED,OAAO,MAAMY,QAAQ,GAAG5B,MAAM,CAACgB,IAAI;AACnC;AACA;AACA,CAAC;;AAED;AACA,OAAO,MAAMa,cAAc,GAAG7B,MAAM,CAACM,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMwB,YAAY,GAAG9B,MAAM,CAAC+B,SAAS;AAC5C;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,UAAU,GAAGhC,MAAM,CAACa,gBAAgB;AACjD;AACA;AACA,CAAC;AAED,OAAO,MAAMoB,UAAU,GAAGjC,MAAM,CAACa,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMqB,cAAc,GAAGlC,MAAM,CAACgB,IAAI;AACzC;AACA,CAAC;;AAED;AACA,OAAO,MAAMmB,YAAY,GAAGnC,MAAM,CAACa,gBAIjC;AACF,WAAW,CAAC;EAAEuB;AAAK,CAAC,KAAK,GAAGA,IAAI,IAAI,IAAI,MAAM;AAC9C,YAAY,CAAC;EAAEA;AAAK,CAAC,KAAK,GAAGA,IAAI,IAAI,IAAI,MAAM;AAC/C;AACA,sBAAsB,CAAC;EAAEC;AAAQ,CAAC,KAAKA,OAAO;AAC9C;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,WAAW,GAAGtC,MAAM,CAACuC,KAAwB;AAC1D;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,YAAY,GAAGxC,MAAM,CAACa,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAM4B,gBAAgB,GAAGzC,MAAM,CAACgB,IAAI;AAC3C;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAM0B,YAAY,GAAG1C,MAAM,CAACgB,IAAuC;AAC1E,eAAe,CAAC;EAAEoB;AAAK,CAAC,KAAMA,IAAI,IAAIA,IAAI,IAAI,EAAE,GAAG,MAAM,GAAG,MAAO;AACnE,WAAW,CAAC;EAAEO;AAAM,CAAC,KAAMA,KAAK,GAAGA,KAAK,GAAG,MAAO;AAClD;AACA,CAAC;AAED,OAAO,MAAMC,OAAO,GAAG5C,MAAM,CAACM,IAAI;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMuC,iBAAiB,GAAG7C,MAAM,CAACgB,IAItC;AACF;AACA,WAAW,CAAC;EAAE2B,KAAK;EAAEjB,MAAM;EAAEoB;AAAU,CAAC,KACpCpB,MAAM,GAAGoB,SAAS,IAAI,MAAM,GAAGH,KAAK,IAAI,MAAM;AAClD,CAAC;AAED,OAAO,MAAMI,SAAS,GAAG/C,MAAM,CAAC+B,SAAS;AACzC;AACA,CAAC;AAED,OAAO,MAAMiB,mBAAmB,GAAGhD,MAAM,CAACM,IAAI;AAC9C,WAAWJ,KAAK;AAChB,YAAYC,MAAM;AAClB;AACA;AACA,CAAC;AAED,OAAO,MAAM8C,WAAW,GAAGjD,MAAM,CAACgB,IAAI;AACtC;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMkC,eAAe,GAAGlD,MAAM,CAACgB,IAAI;AAC1C;AACA;AACA,CAAC;AAED,OAAO,MAAMmC,IAAI,GAAGnD,MAAM,CAACM,IAAI;AAC/B;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAM8C,YAAY,GAAGpD,MAAM,CAACM,IAA6B;AAChE;AACA;AACA,sBAAuBmB,KAAK,IAAKA,KAAK,CAAC4B,WAAW;AAClD;AACA,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGtD,MAAM,CAACa,gBAAgB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAM0C,OAAO,GAAGvD,MAAM,CAACM,IAI5B;AACF,WAAW,CAAC;EAAE8B;AAAK,CAAC,KAAK,GAAGA,IAAI,IAAI,IAAI,MAAM;AAC9C,YAAY,CAAC;EAAEA;AAAK,CAAC,KAAK,GAAGA,IAAI,IAAI,IAAI,MAAM;AAC/C;AACA;AACA,sBAAsB,CAAC;EAAEC;AAAQ,CAAC,KAAKA,OAAO;AAC9C;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMmB,mBAAmB,GAAGxD,MAAM,CAACM,IAAI;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMmD,aAAa,GAAGzD,MAAM,CAACM,IAAyB;AAC7D;AACA;AACA;AACA;AACA;AACA,UAAWmB,KAAK,IAAM,CAACA,KAAK,CAACC,MAAM,GAAG,MAAM,GAAG,MAAO;AACtD,WAAYD,KAAK,IAAMA,KAAK,CAACC,MAAM,GAAG,MAAM,GAAG,MAAO;AACtD;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["styled","Dimensions","width","height","get","ChatContainer","View","ThreadContainer","ChatContainerHeader","CenterContainer","rightSpace","leftSpace","ChatContainerHeaderBoxInfo","TouchableOpacity","ChatContainerHeaderInfo","ChatContainerHeaderLabel","Text","fontWeight","fontSize","NonRoomChat","MessagesScroll","ScrollView","MessagesList","MessageTimestamp","Message","props","isUser","MessageText","UserName","InputContainer","MessageInput","TextInput","IconButton","SendButton","SendButtonText","AvatarCircle","size","bgColor","AvatarImage","Image","RemoveButton","RemoveButtonText","InitialsText","color","Overlay","CustomMessageText","colorUser","FileInput","StyledLoaderWrapper","OrDelimiter","OrDelimiterText","Line","AlsoCheckbox","accentColor","AlsoContainer","Wrapper","CustomSystemMessage","MessageFooter"],"sourceRoot":"../../../../src","sources":["components/styled/StyledComponents.ts"],"mappings":"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","ignoreList":[]}
@@ -14,14 +14,21 @@ const colors = {
14
14
  };
15
15
  export const InputContainer = styled.View`
16
16
  flex-direction: column;
17
- padding: 8px 16px 4px 16px;
18
- background-color: ${colors.white};
17
+ padding: 12px 16px 8px 16px;
18
+ /* Transparent, so the dock's white surface — and its rounded top
19
+ * corners — are what shows. An opaque child painted straight over those
20
+ * corners (a parent's border radius does not clip children without
21
+ * overflow:hidden, and that would clip the dock's shadow too). */
22
+ background-color: transparent;
19
23
  z-index: 100;
20
24
  width: 100%;
21
25
  bottom: 0;
22
26
  left: 0;
23
- border-top-width: 1px;
24
- border-top-color: #e5e7eb;
27
+ /* No radius or shadow here: the dock this sits in (ChatRoom's
28
+ * InputDockTag) is the composer's outer surface and carries both. Having
29
+ * them on this inner view too drew its shadow onto the dock's white
30
+ * background — the faint seam that made the strip below look like a
31
+ * different colour. */
25
32
  `;
26
33
  export const MediaContainer = styled.View`
27
34
  flex-direction: row;
@@ -1 +1 @@
1
- {"version":3,"names":["styled","colors","primary","secondary","border","white","black","InputContainer","View","MediaContainer","MediaImage","Image","MessageInputContainer","MessageInput","TextInput","props","isFocused","color","fontSize","fontWeight","HiddenFileInput","Timer","Text","TimerText","WaveformContainer","RecordContainer","FilePreviewContainer","FilePreview","FileIcon","VideoPreview","StyledInput","TextareaInput"],"sourceRoot":"../../../../../src","sources":["components/styled/StyledInputComponents/StyledInputComponents.tsx"],"mappings":";;AAAA;;AAEA,OAAOA,MAAM,MAAM,0BAA0B;;AAE7C;AACA,MAAMC,MAAM,GAAG;EACbC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,MAAM;EACdC,KAAK,EAAE,MAAM;EACbC,KAAK,EAAE;AACT,CAAC;AAED,OAAO,MAAMC,cAAc,GAAGP,MAAM,CAACQ,IAA0B;AAC/D;AACA;AACA,sBAAsBP,MAAM,CAACI,KAAK;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMI,cAAc,GAAGT,MAAM,CAACQ,IAAI;AACzC;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAME,UAAU,GAAGV,MAAM,CAACW,KAAK;AACtC;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGZ,MAAM,CAACQ,IAAI;AAChD;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMK,YAAY,GAAGb,MAAM,CAACc,SAKjC;AACF;AACA;AACA;AACA,kBAAmBC,KAAK,IACpBA,KAAK,CAACC,SAAS,GAAGD,KAAK,CAACE,KAAK,IAAI,SAAS,GAAG,aAAa;AAC9D;AACA,eAAe,CAAC;EAAEC;AAAS,CAAC,KAAKA,QAAQ,IAAI,EAAE;AAC/C,IAAI,CAAC;EAAEC;AAAW,CAAC,KAAMA,UAAU,GAAG,gBAAgBA,UAAU,GAAG,GAAG,EAAG;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,eAAe,GAAGpB,MAAM,CAACQ,IAAI,EAAE;AAE5C,OAAO,MAAMa,KAAK,GAAGrB,MAAM,CAACsB,IAAI;AAChC;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,SAAS,GAAGvB,MAAM,CAACsB,IAAI;AACpC;AACA;AACA,WAAWrB,MAAM,CAACK,KAAK;AACvB,CAAC;AAED,OAAO,MAAMkB,iBAAiB,GAAGxB,MAAM,CAACQ,IAAI;AAC5C;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMiB,eAAe,GAAGzB,MAAM,CAACQ,IAAI;AAC1C;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMkB,oBAAoB,GAAG1B,MAAM,CAACQ,IAAI;AAC/C;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMmB,WAAW,GAAG3B,MAAM,CAACQ,IAAI;AACtC;AACA;AACA;AACA;AACA;AACA,kBAAkBP,MAAM,CAACG,MAAM;AAC/B;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMwB,QAAQ,GAAG5B,MAAM,CAACW,KAAK;AACpC;AACA;AACA,CAAC;AAED,OAAO,MAAMkB,YAAY,GAAG7B,MAAM,CAACQ,IAAI;AACvC;AACA;AACA,CAAC;AAED,OAAO,MAAMsB,WAAW,GAAG9B,MAAM,CAACc,SAAS;AAC3C;AACA,sBAAsBb,MAAM,CAACE,SAAS;AACtC;AACA;AACA,CAAC;AAED,OAAO,MAAM4B,aAAa,GAAG/B,MAAM,CAACc,SAAS;AAC7C;AACA,sBAAsBb,MAAM,CAACE,SAAS;AACtC;AACA,WAAWF,MAAM,CAACK,KAAK;AACvB;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["styled","colors","primary","secondary","border","white","black","InputContainer","View","MediaContainer","MediaImage","Image","MessageInputContainer","MessageInput","TextInput","props","isFocused","color","fontSize","fontWeight","HiddenFileInput","Timer","Text","TimerText","WaveformContainer","RecordContainer","FilePreviewContainer","FilePreview","FileIcon","VideoPreview","StyledInput","TextareaInput"],"sourceRoot":"../../../../../src","sources":["components/styled/StyledInputComponents/StyledInputComponents.tsx"],"mappings":";;AAAA;;AAEA,OAAOA,MAAM,MAAM,0BAA0B;;AAE7C;AACA,MAAMC,MAAM,GAAG;EACbC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,MAAM;EACdC,KAAK,EAAE,MAAM;EACbC,KAAK,EAAE;AACT,CAAC;AAED,OAAO,MAAMC,cAAc,GAAGP,MAAM,CAACQ,IAA0B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,cAAc,GAAGT,MAAM,CAACQ,IAAI;AACzC;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAME,UAAU,GAAGV,MAAM,CAACW,KAAK;AACtC;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGZ,MAAM,CAACQ,IAAI;AAChD;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMK,YAAY,GAAGb,MAAM,CAACc,SAKjC;AACF;AACA;AACA;AACA,kBAAmBC,KAAK,IACpBA,KAAK,CAACC,SAAS,GAAGD,KAAK,CAACE,KAAK,IAAI,SAAS,GAAG,aAAa;AAC9D;AACA,eAAe,CAAC;EAAEC;AAAS,CAAC,KAAKA,QAAQ,IAAI,EAAE;AAC/C,IAAI,CAAC;EAAEC;AAAW,CAAC,KAAMA,UAAU,GAAG,gBAAgBA,UAAU,GAAG,GAAG,EAAG;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,eAAe,GAAGpB,MAAM,CAACQ,IAAI,EAAE;AAE5C,OAAO,MAAMa,KAAK,GAAGrB,MAAM,CAACsB,IAAI;AAChC;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,SAAS,GAAGvB,MAAM,CAACsB,IAAI;AACpC;AACA;AACA,WAAWrB,MAAM,CAACK,KAAK;AACvB,CAAC;AAED,OAAO,MAAMkB,iBAAiB,GAAGxB,MAAM,CAACQ,IAAI;AAC5C;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMiB,eAAe,GAAGzB,MAAM,CAACQ,IAAI;AAC1C;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMkB,oBAAoB,GAAG1B,MAAM,CAACQ,IAAI;AAC/C;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMmB,WAAW,GAAG3B,MAAM,CAACQ,IAAI;AACtC;AACA;AACA;AACA;AACA;AACA,kBAAkBP,MAAM,CAACG,MAAM;AAC/B;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMwB,QAAQ,GAAG5B,MAAM,CAACW,KAAK;AACpC;AACA;AACA,CAAC;AAED,OAAO,MAAMkB,YAAY,GAAG7B,MAAM,CAACQ,IAAI;AACvC;AACA;AACA,CAAC;AAED,OAAO,MAAMsB,WAAW,GAAG9B,MAAM,CAACc,SAAS;AAC3C;AACA,sBAAsBb,MAAM,CAACE,SAAS;AACtC;AACA;AACA,CAAC;AAED,OAAO,MAAM4B,aAAa,GAAG/B,MAAM,CAACc,SAAS;AAC7C;AACA,sBAAsBb,MAAM,CAACE,SAAS;AACtC;AACA,WAAWF,MAAM,CAACK,KAAK;AACvB;AACA,CAAC","ignoreList":[]}
@@ -9,6 +9,7 @@ import { ActivityIndicator, View } from 'react-native';
9
9
  import { useChatSettingState } from '../../hooks/useChatSettingState';
10
10
  import { FileIcon } from '../../assets/icons';
11
11
  import { getExtensionForMime } from '../../helpers/mimeToExtension';
12
+ import { getDisplayFileName } from '../../helpers/getDisplayFileName';
12
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
14
  const FileDownload = ({
14
15
  fileName,
@@ -26,6 +27,15 @@ const FileDownload = ({
26
27
  const {
27
28
  config
28
29
  } = useChatSettingState();
30
+
31
+ // Bug #40: prefer the sender's original name over the server's stored
32
+ // hash name for both the visible label and the extension badge below.
33
+ const displayName = getDisplayFileName({
34
+ originalName,
35
+ fileName,
36
+ location: fileURL,
37
+ mimetype
38
+ });
29
39
  const formatFileSize = sizeInBytes => {
30
40
  const size = parseInt(sizeInBytes, 10);
31
41
  if (isNaN(size)) {
@@ -66,9 +76,9 @@ const FileDownload = ({
66
76
  dispatch(setActiveModal(MODAL_TYPES.FILE_PREVIEW));
67
77
  };
68
78
  const extensionLabel = (() => {
69
- const dotIndex = fileName.lastIndexOf('.');
70
- if (dotIndex !== -1 && dotIndex < fileName.length - 1) {
71
- return fileName.slice(dotIndex + 1).toUpperCase();
79
+ const dotIndex = displayName.lastIndexOf('.');
80
+ if (dotIndex !== -1 && dotIndex < displayName.length - 1) {
81
+ return displayName.slice(dotIndex + 1).toUpperCase();
72
82
  }
73
83
  return getExtensionForMime(mimetype).replace('.', '').toUpperCase();
74
84
  })();
@@ -87,7 +97,7 @@ const FileDownload = ({
87
97
  isUser: isUser,
88
98
  colorIsUser: config?.colors?.primary,
89
99
  colorUsers: config?.colors?.secondary,
90
- children: formatFileName(fileName, 20)
100
+ children: formatFileName(displayName, 20)
91
101
  }), (pending || size) && /*#__PURE__*/_jsx(FileSizeContainer, {
92
102
  children: pending ? /*#__PURE__*/_jsxs(View, {
93
103
  style: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","BackgroundFile","FileInformation","FileName","FileSize","FileSizeContainer","UnsupportedContainer","useDispatch","MODAL_TYPES","setActiveFile","setActiveModal","ActivityIndicator","View","useChatSettingState","FileIcon","getExtensionForMime","jsx","_jsx","jsxs","_jsxs","FileDownload","fileName","fileURL","mimetype","size","isUser","originalName","duration","waveForm","pending","placeholderIcon","dispatch","config","formatFileSize","sizeInBytes","parseInt","isNaN","toFixed","formatFileName","name","maxLength","dotIndex","lastIndexOf","extension","substring","baseName","length","shortenedBaseName","handleOpen","FILE_PREVIEW","extensionLabel","slice","toUpperCase","replace","onPress","activeOpacity","children","width","height","numberOfLines","colorIsUser","colors","primary","colorUsers","secondary","style","flexDirection","alignItems","gap","color"],"sourceRoot":"../../../../src","sources":["components/styled/UnsupportedType.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","BackgroundFile","FileInformation","FileName","FileSize","FileSizeContainer","UnsupportedContainer","useDispatch","MODAL_TYPES","setActiveFile","setActiveModal","ActivityIndicator","View","useChatSettingState","FileIcon","getExtensionForMime","getDisplayFileName","jsx","_jsx","jsxs","_jsxs","FileDownload","fileName","fileURL","mimetype","size","isUser","originalName","duration","waveForm","pending","placeholderIcon","dispatch","config","displayName","location","formatFileSize","sizeInBytes","parseInt","isNaN","toFixed","formatFileName","name","maxLength","dotIndex","lastIndexOf","extension","substring","baseName","length","shortenedBaseName","handleOpen","FILE_PREVIEW","extensionLabel","slice","toUpperCase","replace","onPress","activeOpacity","children","width","height","numberOfLines","colorIsUser","colors","primary","colorUsers","secondary","style","flexDirection","alignItems","gap","color"],"sourceRoot":"../../../../src","sources":["components/styled/UnsupportedType.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,86 +1,144 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useEffect, useState } from 'react';
4
- import { Pressable, StyleSheet, View } from 'react-native';
5
- import { useVideoPlayer, VideoView } from 'expo-video';
4
+ import { isSecureFileUrl, requestFileTokenRecovery } from '../../helpers/secureFileUrl';
5
+ import { Image, Pressable, StyleSheet, View } from 'react-native';
6
6
  import { useDispatch } from 'react-redux';
7
7
  import { setActiveFile, setActiveModal } from '../../roomStore/chatSettingsSlice';
8
8
  import { MODAL_TYPES } from '../../helpers/constants/MODAL_TYPES';
9
9
  import { PlayIcon } from '../../assets/icons';
10
10
  import { defaultMediaDims, fitMediaDimensions } from '../../helpers/mediaDimensions';
11
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- const CustomMessageVideo = ({
13
- fileName,
14
- fileURL,
15
- mimetype
12
+ const PlayBadge = () => /*#__PURE__*/_jsx(View, {
13
+ style: styles.overlay,
14
+ pointerEvents: "none",
15
+ children: /*#__PURE__*/_jsx(View, {
16
+ style: styles.playButton,
17
+ children: /*#__PURE__*/_jsx(PlayIcon, {
18
+ width: 28,
19
+ height: 28
20
+ })
21
+ })
22
+ });
23
+
24
+ /**
25
+ * Poster path — taken whenever the message carries a `locationPreview`.
26
+ *
27
+ * A chat row only ever needs a still and a play affordance; actual
28
+ * playback happens in the full-screen preview. Drawing that still with a
29
+ * plain <Image> keeps the whole bubble inside the RN view hierarchy, so
30
+ * the play badge is guaranteed to composite on top of it.
31
+ */
32
+ const PosterVideo = ({
33
+ previewURL,
34
+ onOpen,
35
+ onPosterError
16
36
  }) => {
17
- const dispatch = useDispatch();
18
37
  const [dims, setDims] = useState(defaultMediaDims());
19
- const player = useVideoPlayer(fileURL, p => {
20
- p.muted = true;
21
- });
22
38
  useEffect(() => {
23
- const sub = player.addListener('statusChange', () => {
24
- const size = player.videoTrack?.size;
25
- if (size?.width && size?.height) {
26
- setDims(fitMediaDimensions(size.width, size.height));
39
+ if (!previewURL) {
40
+ return;
41
+ }
42
+ let active = true;
43
+ Image.getSize(previewURL, (w, h) => {
44
+ if (active) {
45
+ setDims(fitMediaDimensions(w, h));
27
46
  }
47
+ }, () => {
48
+ /* keep the default box if the size probe fails */
28
49
  });
29
- return () => sub.remove();
30
- }, [player]);
50
+ return () => {
51
+ active = false;
52
+ };
53
+ }, [previewURL]);
54
+ return /*#__PURE__*/_jsxs(Pressable, {
55
+ onPress: onOpen,
56
+ style: [styles.wrapper, {
57
+ width: dims.width,
58
+ height: dims.height
59
+ }],
60
+ accessibilityRole: "button",
61
+ accessibilityLabel: "Play video",
62
+ children: [/*#__PURE__*/_jsx(Image, {
63
+ source: {
64
+ uri: previewURL
65
+ },
66
+ style: styles.video,
67
+ resizeMode: "cover"
68
+ // Not every backend returns a real still — some set
69
+ // locationPreview to the video URL itself, which decodes to
70
+ // nothing. Rather than show an empty box, fall back to the
71
+ // static placeholder branch.
72
+ ,
73
+ onError: onPosterError
74
+ }), /*#__PURE__*/_jsx(PlayBadge, {})]
75
+ });
76
+ };
77
+
78
+ /**
79
+ * Fallback for messages with no usable poster frame: a static dark
80
+ * placeholder behind the play badge.
81
+ *
82
+ * This branch used to mount an expo-video player purely to paint the
83
+ * first frame (`VideoView` + `surfaceType="textureView"`). That never
84
+ * composited reliably: on Android (Pixel, Android 16, New Architecture)
85
+ * the native video surface draws ABOVE sibling RN views, swallowing the
86
+ * play badge — the video looked like a plain photo. There is no
87
+ * surfaceType/zIndex combination that guarantees ordering across SDK 54
88
+ * and 57, so we don't fight it: no live surface in the bubble at all.
89
+ * The badge is plain RN views over a plain RN background, which cannot
90
+ * be occluded, and we drop the per-row player instance as a bonus.
91
+ * Actual playback (and the real first frame) happens in the full-screen
92
+ * preview modal.
93
+ */
94
+ const PlaceholderVideo = ({
95
+ onOpen
96
+ }) => {
97
+ const dims = defaultMediaDims();
98
+ return /*#__PURE__*/_jsx(Pressable, {
99
+ onPress: onOpen,
100
+ style: [styles.wrapper, {
101
+ width: dims.width,
102
+ height: dims.height
103
+ }],
104
+ accessibilityRole: "button",
105
+ accessibilityLabel: "Play video",
106
+ children: /*#__PURE__*/_jsx(PlayBadge, {})
107
+ });
108
+ };
109
+ const CustomMessageVideo = ({
110
+ fileName,
111
+ originalName,
112
+ fileURL,
113
+ mimetype,
114
+ previewURL
115
+ }) => {
116
+ const dispatch = useDispatch();
117
+ const [posterFailed, setPosterFailed] = useState(false);
31
118
  const handleOpen = () => {
32
119
  dispatch(setActiveFile({
33
120
  fileName,
34
121
  fileURL,
35
- mimetype
122
+ mimetype,
123
+ originalName
36
124
  }));
37
125
  dispatch(setActiveModal(MODAL_TYPES.FILE_PREVIEW));
38
126
  };
39
- return (
40
- /*#__PURE__*/
41
- // Capture-overlay pattern: VideoView sits underneath without ANY
42
- // touch participation; a transparent absolute-fill <Pressable> on
43
- // top owns the tap. Previously we wrapped VideoView in a
44
- // TouchableOpacity and set `pointerEvents="none"` on the inner
45
- // VideoView — but on some expo-video versions / iOS the native
46
- // VideoView still intercepted gestures despite that hint, so
47
- // tapping the poster did nothing. Customer-reported #9 (video
48
- // preview unresponsive). The Pressable now guarantees the tap
49
- // reaches `handleOpen`.
50
- _jsxs(View, {
51
- style: [styles.wrapper, {
52
- width: dims.width,
53
- height: dims.height
54
- }],
55
- children: [/*#__PURE__*/_jsx(VideoView, {
56
- player: player,
57
- style: styles.video,
58
- contentFit: "cover",
59
- nativeControls: false,
60
- surfaceType: "textureView",
61
- pointerEvents: "none"
62
- }), /*#__PURE__*/_jsx(View, {
63
- style: styles.overlay,
64
- pointerEvents: "none",
65
- children: /*#__PURE__*/_jsx(View, {
66
- style: styles.playButton,
67
- children: /*#__PURE__*/_jsx(PlayIcon, {
68
- width: 28,
69
- height: 28
70
- })
71
- })
72
- }), /*#__PURE__*/_jsx(Pressable, {
73
- onPress: handleOpen
74
- // Sits ON TOP of VideoView + the play-button overlay; transparent
75
- // so the poster + play icon show through. Captures the tap and
76
- // routes to handleOpen → setActiveModal(FILE_PREVIEW).
77
- ,
78
- style: StyleSheet.absoluteFill,
79
- accessibilityRole: "button",
80
- accessibilityLabel: "Play video"
81
- })]
82
- })
83
- );
127
+ if (previewURL && !posterFailed) {
128
+ return /*#__PURE__*/_jsx(PosterVideo, {
129
+ previewURL: previewURL,
130
+ onOpen: handleOpen,
131
+ onPosterError: () => {
132
+ if (isSecureFileUrl(previewURL)) {
133
+ requestFileTokenRecovery();
134
+ }
135
+ setPosterFailed(true);
136
+ }
137
+ });
138
+ }
139
+ return /*#__PURE__*/_jsx(PlaceholderVideo, {
140
+ onOpen: handleOpen
141
+ });
84
142
  };
85
143
  export default CustomMessageVideo;
86
144
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","Pressable","StyleSheet","View","useVideoPlayer","VideoView","useDispatch","setActiveFile","setActiveModal","MODAL_TYPES","PlayIcon","defaultMediaDims","fitMediaDimensions","jsx","_jsx","jsxs","_jsxs","CustomMessageVideo","fileName","fileURL","mimetype","dispatch","dims","setDims","player","p","muted","sub","addListener","size","videoTrack","width","height","remove","handleOpen","FILE_PREVIEW","style","styles","wrapper","children","video","contentFit","nativeControls","surfaceType","pointerEvents","overlay","playButton","onPress","absoluteFill","accessibilityRole","accessibilityLabel","create","borderRadius","overflow","backgroundColor","justifyContent","alignItems"],"sourceRoot":"../../../../src","sources":["components/styled/VideoMessage.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","isSecureFileUrl","requestFileTokenRecovery","Image","Pressable","StyleSheet","View","useDispatch","setActiveFile","setActiveModal","MODAL_TYPES","PlayIcon","defaultMediaDims","fitMediaDimensions","jsx","_jsx","jsxs","_jsxs","PlayBadge","style","styles","overlay","pointerEvents","children","playButton","width","height","PosterVideo","previewURL","onOpen","onPosterError","dims","setDims","active","getSize","w","h","onPress","wrapper","accessibilityRole","accessibilityLabel","source","uri","video","resizeMode","onError","PlaceholderVideo","CustomMessageVideo","fileName","originalName","fileURL","mimetype","dispatch","posterFailed","setPosterFailed","handleOpen","FILE_PREVIEW","create","borderRadius","overflow","backgroundColor","absoluteFill","justifyContent","alignItems"],"sourceRoot":"../../../../src","sources":["components/styled/VideoMessage.tsx"],"mappings":"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","ignoreList":[]}