@ethora/chat-component-rn 26.7.9 → 26.8.1

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 (652) hide show
  1. package/CHANGELOG.md +0 -93
  2. package/README.md +10 -33
  3. package/lib/commonjs/assets/icons.js +2 -7
  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 +7 -26
  8. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js +3 -9
  10. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js +13 -101
  12. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js +38 -34
  14. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  15. package/lib/commonjs/components/MainComponents/LoginWrapper.js +1 -2
  16. package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
  17. package/lib/commonjs/components/MainComponents/MediaMessage.js +9 -29
  18. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  19. package/lib/commonjs/components/MainComponents/MessageContainer.js +1 -5
  20. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  21. package/lib/commonjs/components/MainComponents/MessageList.js +5 -13
  22. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  23. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +13 -14
  24. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  25. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +24 -3
  26. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  27. package/lib/commonjs/components/MainComponents/RoomList.js +35 -208
  28. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  29. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +98 -317
  30. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  31. package/lib/commonjs/components/MessageBubble/MessageTranslate.js +16 -7
  32. package/lib/commonjs/components/MessageBubble/MessageTranslate.js.map +1 -1
  33. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +112 -320
  34. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  35. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +215 -556
  36. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  37. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js +9 -7
  38. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  39. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +27 -69
  40. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  41. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +1 -2
  42. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  43. package/lib/commonjs/components/Modals/Modal/Modal.js +0 -8
  44. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  45. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +1 -2
  46. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  47. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +109 -205
  48. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  49. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
  50. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  51. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +2 -4
  52. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  53. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +21 -7
  54. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  55. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +244 -507
  56. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  57. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +46 -74
  58. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  59. package/lib/commonjs/components/Modals/styledModalComponents.js +2 -9
  60. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  61. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +39 -23
  62. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  63. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +3 -22
  64. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  65. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +3 -17
  66. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  67. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +3 -17
  68. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  69. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +3 -6
  70. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  71. package/lib/commonjs/components/styled/AudioMessage.js +1 -2
  72. package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
  73. package/lib/commonjs/components/styled/DateLabel.js +10 -3
  74. package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
  75. package/lib/commonjs/components/styled/MessageImage.js +9 -37
  76. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  77. package/lib/commonjs/components/styled/NewMessageLabel.js +3 -1
  78. package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
  79. package/lib/commonjs/components/styled/SendInput.js +17 -86
  80. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  81. package/lib/commonjs/components/styled/StyledComponents.js +3 -9
  82. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  83. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +4 -11
  84. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  85. package/lib/commonjs/components/styled/UnsupportedType.js +4 -14
  86. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  87. package/lib/commonjs/components/styled/VideoMessage.js +61 -119
  88. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  89. package/lib/commonjs/context/xmppProvider.js +54 -128
  90. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  91. package/lib/commonjs/helpers/createMessageFromXml.js +1 -19
  92. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  93. package/lib/commonjs/helpers/ensureScopedChatCache.js +2 -2
  94. package/lib/commonjs/helpers/ensureScopedChatCache.js.map +1 -1
  95. package/lib/commonjs/helpers/getDataFromXml.js +24 -1
  96. package/lib/commonjs/helpers/getDataFromXml.js.map +1 -1
  97. package/lib/commonjs/helpers/historyPreloadScheduler.js +2 -65
  98. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  99. package/lib/commonjs/helpers/initXmppRooms.js +8 -14
  100. package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
  101. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +13 -0
  102. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  103. package/lib/commonjs/helpers/isUnresolvedSenderId.js +6 -1
  104. package/lib/commonjs/helpers/isUnresolvedSenderId.js.map +1 -1
  105. package/lib/commonjs/helpers/mimeToExtension.js +14 -6
  106. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  107. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +17 -130
  108. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  109. package/lib/commonjs/helpers/resolveLangSource.js +38 -0
  110. package/lib/commonjs/helpers/resolveLangSource.js.map +1 -0
  111. package/lib/commonjs/helpers/xmppUsername.js +39 -0
  112. package/lib/commonjs/helpers/xmppUsername.js.map +1 -0
  113. package/lib/commonjs/hooks/useChatRoomFocus.js +8 -17
  114. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  115. package/lib/commonjs/hooks/useChatWrapperInit.js +14 -32
  116. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  117. package/lib/commonjs/hooks/useComposing.js +0 -27
  118. package/lib/commonjs/hooks/useComposing.js.map +1 -1
  119. package/lib/commonjs/hooks/useLogout.js +7 -15
  120. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  121. package/lib/commonjs/hooks/usePendingNotification.js +11 -8
  122. package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
  123. package/lib/commonjs/hooks/useSendMessage.js +14 -50
  124. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  125. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -6
  126. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  127. package/lib/commonjs/i18n/strings.js +133 -121
  128. package/lib/commonjs/i18n/strings.js.map +1 -1
  129. package/lib/commonjs/i18n/useT.js +1 -1
  130. package/lib/commonjs/main.js +0 -44
  131. package/lib/commonjs/main.js.map +1 -1
  132. package/lib/commonjs/networking/api-requests/auth.api.js +60 -134
  133. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  134. package/lib/commonjs/networking/api-requests/roomMembers.api.js +1 -1
  135. package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
  136. package/lib/commonjs/networking/api-requests/rooms.api.js +9 -9
  137. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  138. package/lib/commonjs/networking/api-requests/user.api.js +9 -68
  139. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  140. package/lib/commonjs/networking/apiClient.js +112 -62
  141. package/lib/commonjs/networking/apiClient.js.map +1 -1
  142. package/lib/commonjs/networking/stanzaHandlers.js +51 -93
  143. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  144. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +8 -46
  145. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  146. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +1 -8
  147. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  148. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +1 -5
  149. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  150. package/lib/commonjs/networking/xmppClient.js +8 -124
  151. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  152. package/lib/commonjs/roomStore/chatSettingsSlice.js +7 -26
  153. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  154. package/lib/commonjs/roomStore/index.js +2 -35
  155. package/lib/commonjs/roomStore/index.js.map +1 -1
  156. package/lib/commonjs/roomStore/persistence.js +39 -226
  157. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  158. package/lib/commonjs/roomStore/roomsSlice.js +8 -87
  159. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  160. package/lib/commonjs/services/pushSubscriptionService.js +13 -15
  161. package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
  162. package/lib/commonjs/version.js +3 -1
  163. package/lib/commonjs/version.js.map +1 -1
  164. package/lib/module/assets/icons.js +1 -6
  165. package/lib/module/assets/icons.js.map +1 -1
  166. package/lib/module/components/AuthForms/Login.js +4 -4
  167. package/lib/module/components/AuthForms/Login.js.map +1 -1
  168. package/lib/module/components/Header/HeaderRoomList.js +7 -26
  169. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  170. package/lib/module/components/MainComponents/ChatHeader.js +3 -9
  171. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  172. package/lib/module/components/MainComponents/ChatRoom.js +14 -102
  173. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  174. package/lib/module/components/MainComponents/ChatWrapper.js +40 -36
  175. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  176. package/lib/module/components/MainComponents/LoginWrapper.js +1 -2
  177. package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
  178. package/lib/module/components/MainComponents/MediaMessage.js +10 -30
  179. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  180. package/lib/module/components/MainComponents/MessageContainer.js +1 -5
  181. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  182. package/lib/module/components/MainComponents/MessageList.js +5 -13
  183. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  184. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +13 -14
  185. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  186. package/lib/module/components/MainComponents/ReduxWrapper.js +26 -5
  187. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  188. package/lib/module/components/MainComponents/RoomList.js +35 -207
  189. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  190. package/lib/module/components/Menu/HeaderRoomListMenu.js +101 -319
  191. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  192. package/lib/module/components/MessageBubble/MessageTranslate.js +16 -7
  193. package/lib/module/components/MessageBubble/MessageTranslate.js.map +1 -1
  194. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +115 -311
  195. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  196. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +219 -559
  197. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  198. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js +9 -7
  199. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  200. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +28 -70
  201. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  202. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +1 -2
  203. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  204. package/lib/module/components/Modals/Modal/Modal.js +1 -9
  205. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  206. package/lib/module/components/Modals/NewChatModal/ModalContent.js +1 -2
  207. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  208. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +111 -208
  209. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  210. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
  211. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  212. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +2 -4
  213. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  214. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +23 -9
  215. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  216. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +248 -509
  217. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  218. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +48 -76
  219. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  220. package/lib/module/components/Modals/styledModalComponents.js +2 -9
  221. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  222. package/lib/module/components/RoomComponents/ChatRoomItem.js +40 -24
  223. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  224. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +3 -22
  225. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  226. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +3 -17
  227. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  228. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +3 -17
  229. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  230. package/lib/module/components/VideoCalls/VideoCallSession.js +3 -6
  231. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  232. package/lib/module/components/styled/AudioMessage.js +1 -2
  233. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  234. package/lib/module/components/styled/DateLabel.js +10 -3
  235. package/lib/module/components/styled/DateLabel.js.map +1 -1
  236. package/lib/module/components/styled/MessageImage.js +9 -37
  237. package/lib/module/components/styled/MessageImage.js.map +1 -1
  238. package/lib/module/components/styled/NewMessageLabel.js +3 -1
  239. package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
  240. package/lib/module/components/styled/SendInput.js +18 -87
  241. package/lib/module/components/styled/SendInput.js.map +1 -1
  242. package/lib/module/components/styled/StyledComponents.js +3 -9
  243. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  244. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +4 -11
  245. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  246. package/lib/module/components/styled/UnsupportedType.js +4 -14
  247. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  248. package/lib/module/components/styled/VideoMessage.js +62 -120
  249. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  250. package/lib/module/context/xmppProvider.js +55 -128
  251. package/lib/module/context/xmppProvider.js.map +1 -1
  252. package/lib/module/helpers/createMessageFromXml.js +1 -19
  253. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  254. package/lib/module/helpers/ensureScopedChatCache.js +2 -2
  255. package/lib/module/helpers/ensureScopedChatCache.js.map +1 -1
  256. package/lib/module/helpers/getDataFromXml.js +23 -1
  257. package/lib/module/helpers/getDataFromXml.js.map +1 -1
  258. package/lib/module/helpers/historyPreloadScheduler.js +3 -66
  259. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  260. package/lib/module/helpers/initXmppRooms.js +8 -14
  261. package/lib/module/helpers/initXmppRooms.js.map +1 -1
  262. package/lib/module/helpers/insertMessageWithDelimiter.js +13 -0
  263. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  264. package/lib/module/helpers/isUnresolvedSenderId.js +6 -1
  265. package/lib/module/helpers/isUnresolvedSenderId.js.map +1 -1
  266. package/lib/module/helpers/mimeToExtension.js +13 -6
  267. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  268. package/lib/module/helpers/resolveInitBeforeLoadUser.js +16 -130
  269. package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  270. package/lib/module/helpers/resolveLangSource.js +32 -0
  271. package/lib/module/helpers/resolveLangSource.js.map +1 -0
  272. package/lib/module/helpers/xmppUsername.js +35 -0
  273. package/lib/module/helpers/xmppUsername.js.map +1 -0
  274. package/lib/module/hooks/useChatRoomFocus.js +8 -17
  275. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  276. package/lib/module/hooks/useChatWrapperInit.js +14 -32
  277. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  278. package/lib/module/hooks/useComposing.js +1 -28
  279. package/lib/module/hooks/useComposing.js.map +1 -1
  280. package/lib/module/hooks/useLogout.js +7 -15
  281. package/lib/module/hooks/useLogout.js.map +1 -1
  282. package/lib/module/hooks/usePendingNotification.js +11 -8
  283. package/lib/module/hooks/usePendingNotification.js.map +1 -1
  284. package/lib/module/hooks/useSendMessage.js +16 -52
  285. package/lib/module/hooks/useSendMessage.js.map +1 -1
  286. package/lib/module/hooks/useUnreadMessagesCounter.js +1 -6
  287. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  288. package/lib/module/i18n/strings.js +133 -121
  289. package/lib/module/i18n/strings.js.map +1 -1
  290. package/lib/module/i18n/useT.js +1 -1
  291. package/lib/module/main.js +2 -14
  292. package/lib/module/main.js.map +1 -1
  293. package/lib/module/networking/api-requests/auth.api.js +59 -131
  294. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  295. package/lib/module/networking/api-requests/roomMembers.api.js +1 -1
  296. package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
  297. package/lib/module/networking/api-requests/rooms.api.js +9 -9
  298. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  299. package/lib/module/networking/api-requests/user.api.js +7 -64
  300. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  301. package/lib/module/networking/apiClient.js +113 -61
  302. package/lib/module/networking/apiClient.js.map +1 -1
  303. package/lib/module/networking/stanzaHandlers.js +52 -94
  304. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  305. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +8 -46
  306. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  307. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +1 -8
  308. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  309. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +1 -5
  310. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  311. package/lib/module/networking/xmppClient.js +8 -124
  312. package/lib/module/networking/xmppClient.js.map +1 -1
  313. package/lib/module/roomStore/chatSettingsSlice.js +7 -26
  314. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  315. package/lib/module/roomStore/index.js +4 -37
  316. package/lib/module/roomStore/index.js.map +1 -1
  317. package/lib/module/roomStore/persistence.js +38 -223
  318. package/lib/module/roomStore/persistence.js.map +1 -1
  319. package/lib/module/roomStore/roomsSlice.js +7 -86
  320. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  321. package/lib/module/services/pushSubscriptionService.js +13 -15
  322. package/lib/module/services/pushSubscriptionService.js.map +1 -1
  323. package/lib/module/version.js +3 -1
  324. package/lib/module/version.js.map +1 -1
  325. package/lib/typescript/assets/icons.d.ts +0 -16
  326. package/lib/typescript/assets/icons.d.ts.map +1 -1
  327. package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
  328. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  329. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  330. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  331. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  332. package/lib/typescript/components/MainComponents/LoginWrapper.d.ts.map +1 -1
  333. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  334. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  335. package/lib/typescript/components/MainComponents/MessageList.d.ts +1 -10
  336. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  337. package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
  338. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  339. package/lib/typescript/components/MainComponents/RoomList.d.ts +0 -7
  340. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  341. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +0 -3
  342. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  343. package/lib/typescript/components/MessageBubble/MessageTranslate.d.ts.map +1 -1
  344. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +0 -9
  345. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  346. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +0 -10
  347. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  348. package/lib/typescript/components/Modals/ChatProfileModal/DeleteChatModal.d.ts.map +1 -1
  349. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  350. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  351. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  352. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +2 -4
  353. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  354. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
  355. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  356. package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
  357. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +1 -6
  358. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  359. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  360. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +0 -16
  361. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  362. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +0 -1
  363. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  364. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  365. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  366. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
  367. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  368. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
  369. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  370. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
  371. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  372. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  373. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  374. package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
  375. package/lib/typescript/components/styled/MessageImage.d.ts +0 -14
  376. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  377. package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
  378. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  379. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  380. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  381. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  382. package/lib/typescript/components/styled/VideoMessage.d.ts +0 -8
  383. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  384. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  385. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  386. package/lib/typescript/helpers/getDataFromXml.d.ts.map +1 -1
  387. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  388. package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
  389. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  390. package/lib/typescript/helpers/isUnresolvedSenderId.d.ts.map +1 -1
  391. package/lib/typescript/helpers/mimeToExtension.d.ts +15 -0
  392. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  393. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
  394. package/lib/typescript/helpers/resolveLangSource.d.ts +30 -0
  395. package/lib/typescript/helpers/resolveLangSource.d.ts.map +1 -0
  396. package/lib/typescript/helpers/xmppUsername.d.ts +13 -0
  397. package/lib/typescript/helpers/xmppUsername.d.ts.map +1 -0
  398. package/lib/typescript/hooks/useChatRoomFocus.d.ts +1 -4
  399. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  400. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  401. package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
  402. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  403. package/lib/typescript/hooks/usePendingNotification.d.ts.map +1 -1
  404. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  405. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +0 -1
  406. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  407. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  408. package/lib/typescript/i18n/useT.d.ts +1 -1
  409. package/lib/typescript/main.d.ts +2 -9
  410. package/lib/typescript/main.d.ts.map +1 -1
  411. package/lib/typescript/networking/api-requests/auth.api.d.ts +1 -3
  412. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  413. package/lib/typescript/networking/api-requests/user.api.d.ts +0 -27
  414. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  415. package/lib/typescript/networking/apiClient.d.ts +6 -12
  416. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  417. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  418. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +2 -10
  419. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  420. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  421. package/lib/typescript/networking/xmpp/subscribeToRoomMessages.xmpp.d.ts.map +1 -1
  422. package/lib/typescript/networking/xmppClient.d.ts +0 -14
  423. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  424. package/lib/typescript/roomStore/chatSettingsSlice.d.ts +0 -16
  425. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  426. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  427. package/lib/typescript/roomStore/persistence.d.ts +1 -18
  428. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  429. package/lib/typescript/roomStore/roomsSlice.d.ts +1 -14
  430. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  431. package/lib/typescript/services/pushSubscriptionService.d.ts +1 -1
  432. package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
  433. package/lib/typescript/types/types.d.ts +5 -49
  434. package/lib/typescript/types/types.d.ts.map +1 -1
  435. package/lib/typescript/version.d.ts +1 -1
  436. package/lib/typescript/version.d.ts.map +1 -1
  437. package/package.json +29 -41
  438. package/src/assets/icons.tsx +9 -48
  439. package/src/components/AuthForms/Login.tsx +3 -3
  440. package/src/components/Header/HeaderRoomList.tsx +6 -24
  441. package/src/components/MainComponents/ChatHeader.tsx +3 -9
  442. package/src/components/MainComponents/ChatRoom.tsx +16 -111
  443. package/src/components/MainComponents/ChatWrapper.tsx +53 -36
  444. package/src/components/MainComponents/LoginWrapper.tsx +0 -1
  445. package/src/components/MainComponents/MediaMessage.tsx +8 -26
  446. package/src/components/MainComponents/MessageContainer.tsx +1 -5
  447. package/src/components/MainComponents/MessageList.tsx +4 -23
  448. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +14 -21
  449. package/src/components/MainComponents/ReduxWrapper.tsx +18 -1
  450. package/src/components/MainComponents/RoomList.tsx +39 -236
  451. package/src/components/Menu/HeaderRoomListMenu.tsx +75 -328
  452. package/src/components/MessageBubble/MessageTranslate.tsx +17 -12
  453. package/src/components/Modals/AttachSheet/AttachSheet.tsx +99 -331
  454. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +293 -611
  455. package/src/components/Modals/ChatProfileModal/DeleteChatModal.tsx +9 -7
  456. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +38 -79
  457. package/src/components/Modals/FilePreviewModal/PdfView.tsx +1 -2
  458. package/src/components/Modals/Modal/Modal.tsx +0 -7
  459. package/src/components/Modals/NewChatModal/ModalContent.tsx +3 -6
  460. package/src/components/Modals/NewChatModal/NewChatModal.tsx +126 -223
  461. package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +1 -12
  462. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +4 -14
  463. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +25 -9
  464. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +307 -617
  465. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +58 -75
  466. package/src/components/Modals/styledModalComponents.tsx +2 -9
  467. package/src/components/RoomComponents/ChatRoomItem.tsx +50 -21
  468. package/src/components/RoomComponents/styled/LastMessageFile.tsx +4 -28
  469. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +3 -18
  470. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +3 -18
  471. package/src/components/VideoCalls/VideoCallSession.tsx +3 -8
  472. package/src/components/styled/AudioMessage.tsx +1 -2
  473. package/src/components/styled/DateLabel.tsx +10 -3
  474. package/src/components/styled/MessageImage.tsx +7 -53
  475. package/src/components/styled/NewMessageLabel.tsx +3 -1
  476. package/src/components/styled/SendInput.tsx +18 -91
  477. package/src/components/styled/StyledComponents.ts +3 -9
  478. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +4 -11
  479. package/src/components/styled/UnsupportedType.tsx +4 -14
  480. package/src/components/styled/VideoMessage.tsx +54 -131
  481. package/src/context/xmppProvider.tsx +51 -134
  482. package/src/helpers/createMessageFromXml.ts +1 -20
  483. package/src/helpers/ensureScopedChatCache.ts +2 -2
  484. package/src/helpers/getDataFromXml.ts +25 -1
  485. package/src/helpers/historyPreloadScheduler.ts +3 -80
  486. package/src/helpers/initXmppRooms.tsx +10 -14
  487. package/src/helpers/insertMessageWithDelimiter.ts +13 -0
  488. package/src/helpers/isUnresolvedSenderId.ts +9 -1
  489. package/src/helpers/mimeToExtension.ts +22 -6
  490. package/src/helpers/resolveInitBeforeLoadUser.ts +18 -125
  491. package/src/helpers/resolveLangSource.ts +40 -0
  492. package/src/helpers/xmppUsername.ts +38 -0
  493. package/src/hooks/useChatRoomFocus.ts +5 -14
  494. package/src/hooks/useChatWrapperInit.ts +16 -32
  495. package/src/hooks/useComposing.tsx +1 -37
  496. package/src/hooks/useLogout.tsx +9 -15
  497. package/src/hooks/usePendingNotification.ts +11 -5
  498. package/src/hooks/useSendMessage.tsx +15 -60
  499. package/src/hooks/useUnreadMessagesCounter.ts +0 -11
  500. package/src/i18n/strings.ts +133 -121
  501. package/src/i18n/useT.ts +1 -1
  502. package/src/main.ts +2 -26
  503. package/src/networking/api-requests/auth.api.ts +48 -156
  504. package/src/networking/api-requests/roomMembers.api.ts +1 -1
  505. package/src/networking/api-requests/rooms.api.ts +9 -9
  506. package/src/networking/api-requests/user.api.ts +7 -79
  507. package/src/networking/apiClient.ts +123 -68
  508. package/src/networking/stanzaHandlers.ts +51 -92
  509. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +10 -71
  510. package/src/networking/xmpp/presenceInRoom.xmpp.ts +1 -6
  511. package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +1 -12
  512. package/src/networking/xmppClient.ts +9 -141
  513. package/src/roomStore/chatSettingsSlice.ts +10 -34
  514. package/src/roomStore/index.ts +4 -40
  515. package/src/roomStore/persistence.ts +40 -234
  516. package/src/roomStore/roomsSlice.ts +7 -87
  517. package/src/services/pushSubscriptionService.ts +13 -18
  518. package/src/types/types.ts +5 -58
  519. package/src/version.ts +3 -1
  520. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +0 -226
  521. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +0 -1
  522. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +0 -556
  523. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +0 -1
  524. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +0 -210
  525. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +0 -1
  526. package/lib/commonjs/helpers/getChatBackground.js +0 -23
  527. package/lib/commonjs/helpers/getChatBackground.js.map +0 -1
  528. package/lib/commonjs/helpers/getDisplayFileName.js +0 -79
  529. package/lib/commonjs/helpers/getDisplayFileName.js.map +0 -1
  530. package/lib/commonjs/helpers/getServerReadTimestamp.js +0 -125
  531. package/lib/commonjs/helpers/getServerReadTimestamp.js.map +0 -1
  532. package/lib/commonjs/helpers/isOwnMessage.js +0 -75
  533. package/lib/commonjs/helpers/isOwnMessage.js.map +0 -1
  534. package/lib/commonjs/helpers/mediaLibraryRuntime.js +0 -31
  535. package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +0 -1
  536. package/lib/commonjs/helpers/persistCrypto.js +0 -122
  537. package/lib/commonjs/helpers/persistCrypto.js.map +0 -1
  538. package/lib/commonjs/helpers/pickImageAsset.js +0 -68
  539. package/lib/commonjs/helpers/pickImageAsset.js.map +0 -1
  540. package/lib/commonjs/helpers/pushPayload.js +0 -71
  541. package/lib/commonjs/helpers/pushPayload.js.map +0 -1
  542. package/lib/commonjs/helpers/secureFileUrl.js +0 -101
  543. package/lib/commonjs/helpers/secureFileUrl.js.map +0 -1
  544. package/lib/commonjs/helpers/secureKeyValue.js +0 -83
  545. package/lib/commonjs/helpers/secureKeyValue.js.map +0 -1
  546. package/lib/commonjs/helpers/secureStoreRuntime.js +0 -59
  547. package/lib/commonjs/helpers/secureStoreRuntime.js.map +0 -1
  548. package/lib/commonjs/helpers/secureUserStorage.js +0 -75
  549. package/lib/commonjs/helpers/secureUserStorage.js.map +0 -1
  550. package/lib/commonjs/helpers/shallowEqual.js +0 -36
  551. package/lib/commonjs/helpers/shallowEqual.js.map +0 -1
  552. package/lib/commonjs/helpers/sheetGestures.js +0 -32
  553. package/lib/commonjs/helpers/sheetGestures.js.map +0 -1
  554. package/lib/commonjs/hooks/useFileToken.js +0 -10
  555. package/lib/commonjs/hooks/useFileToken.js.map +0 -1
  556. package/lib/commonjs/networking/authRefresh.js +0 -332
  557. package/lib/commonjs/networking/authRefresh.js.map +0 -1
  558. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +0 -223
  559. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +0 -1
  560. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +0 -548
  561. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +0 -1
  562. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +0 -205
  563. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +0 -1
  564. package/lib/module/helpers/getChatBackground.js +0 -18
  565. package/lib/module/helpers/getChatBackground.js.map +0 -1
  566. package/lib/module/helpers/getDisplayFileName.js +0 -73
  567. package/lib/module/helpers/getDisplayFileName.js.map +0 -1
  568. package/lib/module/helpers/getServerReadTimestamp.js +0 -120
  569. package/lib/module/helpers/getServerReadTimestamp.js.map +0 -1
  570. package/lib/module/helpers/isOwnMessage.js +0 -70
  571. package/lib/module/helpers/isOwnMessage.js.map +0 -1
  572. package/lib/module/helpers/mediaLibraryRuntime.js +0 -25
  573. package/lib/module/helpers/mediaLibraryRuntime.js.map +0 -1
  574. package/lib/module/helpers/persistCrypto.js +0 -115
  575. package/lib/module/helpers/persistCrypto.js.map +0 -1
  576. package/lib/module/helpers/pickImageAsset.js +0 -63
  577. package/lib/module/helpers/pickImageAsset.js.map +0 -1
  578. package/lib/module/helpers/pushPayload.js +0 -63
  579. package/lib/module/helpers/pushPayload.js.map +0 -1
  580. package/lib/module/helpers/secureFileUrl.js +0 -91
  581. package/lib/module/helpers/secureFileUrl.js.map +0 -1
  582. package/lib/module/helpers/secureKeyValue.js +0 -75
  583. package/lib/module/helpers/secureKeyValue.js.map +0 -1
  584. package/lib/module/helpers/secureStoreRuntime.js +0 -52
  585. package/lib/module/helpers/secureStoreRuntime.js.map +0 -1
  586. package/lib/module/helpers/secureUserStorage.js +0 -72
  587. package/lib/module/helpers/secureUserStorage.js.map +0 -1
  588. package/lib/module/helpers/shallowEqual.js +0 -31
  589. package/lib/module/helpers/shallowEqual.js.map +0 -1
  590. package/lib/module/helpers/sheetGestures.js +0 -26
  591. package/lib/module/helpers/sheetGestures.js.map +0 -1
  592. package/lib/module/hooks/useFileToken.js +0 -5
  593. package/lib/module/hooks/useFileToken.js.map +0 -1
  594. package/lib/module/networking/authRefresh.js +0 -321
  595. package/lib/module/networking/authRefresh.js.map +0 -1
  596. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +0 -9
  597. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +0 -1
  598. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +0 -75
  599. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +0 -1
  600. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +0 -25
  601. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +0 -1
  602. package/lib/typescript/helpers/getChatBackground.d.ts +0 -15
  603. package/lib/typescript/helpers/getChatBackground.d.ts.map +0 -1
  604. package/lib/typescript/helpers/getDisplayFileName.d.ts +0 -49
  605. package/lib/typescript/helpers/getDisplayFileName.d.ts.map +0 -1
  606. package/lib/typescript/helpers/getServerReadTimestamp.d.ts +0 -69
  607. package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +0 -1
  608. package/lib/typescript/helpers/isOwnMessage.d.ts +0 -36
  609. package/lib/typescript/helpers/isOwnMessage.d.ts.map +0 -1
  610. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +0 -3
  611. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +0 -1
  612. package/lib/typescript/helpers/persistCrypto.d.ts +0 -13
  613. package/lib/typescript/helpers/persistCrypto.d.ts.map +0 -1
  614. package/lib/typescript/helpers/pickImageAsset.d.ts +0 -27
  615. package/lib/typescript/helpers/pickImageAsset.d.ts.map +0 -1
  616. package/lib/typescript/helpers/pushPayload.d.ts +0 -7
  617. package/lib/typescript/helpers/pushPayload.d.ts.map +0 -1
  618. package/lib/typescript/helpers/secureFileUrl.d.ts +0 -7
  619. package/lib/typescript/helpers/secureFileUrl.d.ts.map +0 -1
  620. package/lib/typescript/helpers/secureKeyValue.d.ts +0 -13
  621. package/lib/typescript/helpers/secureKeyValue.d.ts.map +0 -1
  622. package/lib/typescript/helpers/secureStoreRuntime.d.ts +0 -29
  623. package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +0 -1
  624. package/lib/typescript/helpers/secureUserStorage.d.ts +0 -23
  625. package/lib/typescript/helpers/secureUserStorage.d.ts.map +0 -1
  626. package/lib/typescript/helpers/shallowEqual.d.ts +0 -11
  627. package/lib/typescript/helpers/shallowEqual.d.ts.map +0 -1
  628. package/lib/typescript/helpers/sheetGestures.d.ts +0 -20
  629. package/lib/typescript/helpers/sheetGestures.d.ts.map +0 -1
  630. package/lib/typescript/hooks/useFileToken.d.ts +0 -2
  631. package/lib/typescript/hooks/useFileToken.d.ts.map +0 -1
  632. package/lib/typescript/networking/authRefresh.d.ts +0 -95
  633. package/lib/typescript/networking/authRefresh.d.ts.map +0 -1
  634. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +0 -244
  635. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +0 -615
  636. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +0 -217
  637. package/src/helpers/getChatBackground.ts +0 -18
  638. package/src/helpers/getDisplayFileName.ts +0 -87
  639. package/src/helpers/getServerReadTimestamp.ts +0 -120
  640. package/src/helpers/isOwnMessage.ts +0 -90
  641. package/src/helpers/mediaLibraryRuntime.ts +0 -25
  642. package/src/helpers/persistCrypto.ts +0 -127
  643. package/src/helpers/pickImageAsset.ts +0 -68
  644. package/src/helpers/pushPayload.ts +0 -62
  645. package/src/helpers/secureFileUrl.ts +0 -103
  646. package/src/helpers/secureKeyValue.ts +0 -80
  647. package/src/helpers/secureStoreRuntime.ts +0 -62
  648. package/src/helpers/secureUserStorage.ts +0 -80
  649. package/src/helpers/shallowEqual.ts +0 -33
  650. package/src/helpers/sheetGestures.ts +0 -25
  651. package/src/hooks/useFileToken.ts +0 -7
  652. package/src/networking/authRefresh.ts +0 -451
@@ -1,210 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _icons = require("../../../assets/icons");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
- /** @format */
13
-
14
- /** Fallbacks used for the very first frame, before the card is measured. */
15
- const ESTIMATED_WIDTH = 220;
16
- const ESTIMATED_HEIGHT = 160;
17
- const GAP = 8;
18
- /** Roughly a notch inset + the header band, used until measured. */
19
- const DEFAULT_TOP = 104;
20
- const EDGE = 12;
21
-
22
- /**
23
- * The "…" overflow menu shared by the chat and user profile screens.
24
- *
25
- * The shared `DropdownMenu` pins its card at a hard-coded `top: 95`, which
26
- * on this screen landed it over the host's own tab bar, unanchored to the
27
- * button. This one measures the button and grows the card out of it: the
28
- * card scales up from its top-right corner (translate → scale → translate
29
- * back, which is how you fake a transform-origin in React Native) so the
30
- * menu visibly unfolds from the three dots.
31
- */
32
- const ProfileMenu = ({
33
- items,
34
- testIDPrefix = 'chat-profile'
35
- }) => {
36
- const buttonRef = (0, _react.useRef)(null);
37
- const [open, setOpen] = (0, _react.useState)(false);
38
- const [anchor, setAnchor] = (0, _react.useState)({
39
- top: DEFAULT_TOP,
40
- right: EDGE
41
- });
42
- const [size, setSize] = (0, _react.useState)({
43
- width: ESTIMATED_WIDTH,
44
- height: ESTIMATED_HEIGHT
45
- });
46
- const progress = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
47
- const animate = (to, done) => _reactNative.Animated.timing(progress, {
48
- toValue: to,
49
- duration: to ? 180 : 140,
50
- easing: to ? _reactNative.Easing.out(_reactNative.Easing.back(1.3)) : _reactNative.Easing.in(_reactNative.Easing.quad),
51
- useNativeDriver: true
52
- }).start(({
53
- finished
54
- }) => finished && done?.());
55
-
56
- // Anchor to the button's window frame — that is the same coordinate
57
- // space the <Modal> lays out in, so no insets to subtract. Measured on
58
- // layout (and again on open) rather than *before* opening: on some hosts
59
- // the measure callback never fires, and gating the open on it would mean
60
- // a menu that simply doesn't appear.
61
- const measure = () => buttonRef.current?.measureInWindow?.((x, y, width, height) => {
62
- if (typeof y !== 'number' || typeof x !== 'number') {
63
- return;
64
- }
65
- const screenWidth = _reactNative.Dimensions.get('window').width;
66
- setAnchor({
67
- top: y + height + GAP,
68
- right: Math.max(screenWidth - (x + width), EDGE)
69
- });
70
- });
71
- const openMenu = () => {
72
- measure();
73
- progress.setValue(0);
74
- setOpen(true);
75
- animate(1);
76
- };
77
- const closeMenu = then => animate(0, () => {
78
- setOpen(false);
79
- then?.();
80
- });
81
- const scale = progress.interpolate({
82
- inputRange: [0, 1],
83
- outputRange: [0.2, 1]
84
- });
85
- if (items.length === 0) {
86
- return null;
87
- }
88
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
89
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
90
- ref: buttonRef,
91
- collapsable: false,
92
- onLayout: measure,
93
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
94
- testID: `${testIDPrefix}-menu`,
95
- activeOpacity: 0.7,
96
- onPress: openMenu,
97
- style: styles.button,
98
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.MoreIcon, {
99
- color: "#FFFFFF"
100
- })
101
- })
102
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Modal, {
103
- transparent: true,
104
- visible: open,
105
- animationType: "none",
106
- onRequestClose: () => closeMenu(),
107
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
108
- testID: `${testIDPrefix}-menu-backdrop`,
109
- style: _reactNative.StyleSheet.absoluteFill,
110
- onPress: () => closeMenu()
111
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
112
- testID: `${testIDPrefix}-menu-card`,
113
- onLayout: e => {
114
- const {
115
- width,
116
- height
117
- } = e.nativeEvent.layout;
118
- if (width && height) {
119
- setSize({
120
- width,
121
- height
122
- });
123
- }
124
- },
125
- style: [styles.card, {
126
- top: anchor.top,
127
- right: anchor.right,
128
- opacity: progress,
129
- transform: [
130
- // Move the origin to the card's top-right corner, scale
131
- // there, then move back — RN has no transform-origin.
132
- {
133
- translateX: size.width / 2
134
- }, {
135
- translateY: -size.height / 2
136
- }, {
137
- scale
138
- }, {
139
- translateX: -size.width / 2
140
- }, {
141
- translateY: size.height / 2
142
- }]
143
- }],
144
- children: items.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
145
- testID: `${testIDPrefix}-menu-${item.key}`,
146
- activeOpacity: 0.6,
147
- style: [styles.row, index > 0 && styles.rowDivider],
148
- onPress: () => closeMenu(item.onPress),
149
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
150
- style: [styles.label, item.destructive && styles.destructive],
151
- children: item.label
152
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
153
- style: styles.icon,
154
- children: item.icon
155
- })]
156
- }, item.key))
157
- })]
158
- })]
159
- });
160
- };
161
- const styles = _reactNative.StyleSheet.create({
162
- button: {
163
- width: 40,
164
- height: 40,
165
- borderRadius: 20,
166
- backgroundColor: 'rgba(0,0,0,0.28)',
167
- alignItems: 'center',
168
- justifyContent: 'center'
169
- },
170
- card: {
171
- position: 'absolute',
172
- minWidth: 200,
173
- backgroundColor: '#FFFFFF',
174
- borderRadius: 14,
175
- paddingVertical: 4,
176
- shadowColor: '#121219',
177
- shadowOffset: {
178
- width: 0,
179
- height: 6
180
- },
181
- shadowOpacity: 0.18,
182
- shadowRadius: 16,
183
- elevation: 12
184
- },
185
- row: {
186
- flexDirection: 'row',
187
- alignItems: 'center',
188
- justifyContent: 'space-between',
189
- gap: 24,
190
- paddingHorizontal: 16,
191
- paddingVertical: 13
192
- },
193
- rowDivider: {
194
- borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
195
- borderTopColor: '#EFEFF2'
196
- },
197
- label: {
198
- fontSize: 16,
199
- color: '#141414'
200
- },
201
- destructive: {
202
- color: '#E53935'
203
- },
204
- icon: {
205
- width: 22,
206
- alignItems: 'center'
207
- }
208
- });
209
- var _default = exports.default = ProfileMenu;
210
- //# sourceMappingURL=ProfileMenu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_icons","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ESTIMATED_WIDTH","ESTIMATED_HEIGHT","GAP","DEFAULT_TOP","EDGE","ProfileMenu","items","testIDPrefix","buttonRef","useRef","open","setOpen","useState","anchor","setAnchor","top","right","size","setSize","width","height","progress","Animated","Value","current","animate","to","done","timing","toValue","duration","easing","Easing","out","back","in","quad","useNativeDriver","start","finished","measure","measureInWindow","x","y","screenWidth","Dimensions","Math","max","openMenu","setValue","closeMenu","then","scale","interpolate","inputRange","outputRange","length","jsxs","Fragment","children","jsx","View","ref","collapsable","onLayout","TouchableOpacity","testID","activeOpacity","onPress","style","styles","button","MoreIcon","color","Modal","transparent","visible","animationType","onRequestClose","Pressable","StyleSheet","absoluteFill","nativeEvent","layout","card","opacity","transform","translateX","translateY","map","item","index","key","row","rowDivider","Text","label","destructive","icon","create","borderRadius","backgroundColor","alignItems","justifyContent","position","minWidth","paddingVertical","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flexDirection","gap","paddingHorizontal","borderTopWidth","hairlineWidth","borderTopColor","fontSize","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/ProfileHeader/ProfileMenu.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getChatBackgroundColor = exports.DEFAULT_CHAT_BACKGROUND = void 0;
7
- /** @format */
8
-
9
- /** Ground behind the conversation, and behind the rounded corners of the
10
- * header and the composer that sit over it. */
11
- const DEFAULT_CHAT_BACKGROUND = exports.DEFAULT_CHAT_BACKGROUND = '#F3F6FC';
12
-
13
- /**
14
- * One place for the conversation's background colour.
15
- *
16
- * The message list has always painted it; the chat container behind it was
17
- * plain white, which is what made the header's rounded bottom corners and
18
- * the composer's rounded top corners invisible — the corners revealed the
19
- * white parent, not the conversation.
20
- */
21
- const getChatBackgroundColor = config => config?.backgroundChat?.color || DEFAULT_CHAT_BACKGROUND;
22
- exports.getChatBackgroundColor = getChatBackgroundColor;
23
- //# sourceMappingURL=getChatBackground.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["DEFAULT_CHAT_BACKGROUND","exports","getChatBackgroundColor","config","backgroundChat","color"],"sourceRoot":"../../../src","sources":["helpers/getChatBackground.ts"],"mappings":";;;;;;AAAA;;AAIA;AACA;AACO,MAAMA,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,SAAS;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,sBAAsB,GAAIC,MAAgB,IACrDA,MAAM,EAAEC,cAAc,EAAEC,KAAK,IAAIL,uBAAuB;AAACC,OAAA,CAAAC,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -1,79 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getDisplayFileName = getDisplayFileName;
7
- exports.getUniqueFileName = getUniqueFileName;
8
- exports.sanitizeFileNameForPath = sanitizeFileNameForPath;
9
- var _mimeToExtension = require("./mimeToExtension");
10
- /**
11
- * Picks the best human-readable filename for a chat attachment - the
12
- * single source of truth for every place a file name is rendered in the
13
- * UI, saved to disk, shared, or downloaded.
14
- *
15
- * Priority: `originalName` (the sender's own file name, e.g. "test1.pdf")
16
- * beats `fileName` (the server's stored/hashed name, e.g.
17
- * "3f9a1c...c2.pdf") beats the last path segment of `location`. The
18
- * stored hash name is only a fallback of last resort.
19
- *
20
- * Bug #40: display and save/share/download logic used to prefer the
21
- * stored hash name over the original one, so an attachment sent as
22
- * "test1.pdf" showed up (and got saved to the phone) as something like
23
- * "3f9a1c...c2.pdf" - both directions (web -> RN and RN -> RN).
24
- *
25
- * Always returns a non-empty string with a valid extension: if the
26
- * chosen candidate has no extension (a hash name can be `<hex>` with no
27
- * extension at all, or `<hex>.<ext>`), one is appended from `mimetype`
28
- * (or `.bin` as a last resort when the mime is unknown/missing too).
29
- */
30
- function getDisplayFileName(options) {
31
- const candidate = options.originalName && options.originalName.trim() || options.fileName && options.fileName.trim() || (0, _mimeToExtension.filenameFromUrl)(options.location) || '';
32
- return (0, _mimeToExtension.ensureFilenameHasExtension)(candidate, options.mimetype);
33
- }
34
-
35
- /**
36
- * Makes a display name safe to use as an actual path segment when
37
- * saving/sharing a file to the device: strips path separators (so an
38
- * odd/hostile server-provided name can't escape the target directory)
39
- * and control characters. Keeps the rest of the name - including the
40
- * extension - intact.
41
- */
42
- function sanitizeFileNameForPath(name) {
43
- const cleaned = (name || '').replace(/[\/\\]/g, '_')
44
- // eslint-disable-next-line no-control-regex
45
- .replace(/[\x00-\x1f\x7f]/g, '').trim();
46
- return cleaned || 'file';
47
- }
48
-
49
- /**
50
- * Resolves a filename that is safe to write into a target directory:
51
- * sanitizes it, then - if `exists` reports a collision - inserts
52
- * " (1)", " (2)", ... before the extension until a free name is found,
53
- * so saving two different attachments that share a display name never
54
- * silently overwrites the first one.
55
- *
56
- * `exists` is injected so callers can back it with whatever existence
57
- * check makes sense for their storage API (expo-file-system,
58
- * StorageAccessFramework directory listing, ...) - this function stays
59
- * pure and easy to unit test.
60
- */
61
- async function getUniqueFileName(name, exists) {
62
- const safeName = sanitizeFileNameForPath(name);
63
- if (!(await exists(safeName))) {
64
- return safeName;
65
- }
66
- const dotIndex = safeName.lastIndexOf('.');
67
- const base = dotIndex > 0 ? safeName.slice(0, dotIndex) : safeName;
68
- const ext = dotIndex > 0 ? safeName.slice(dotIndex) : '';
69
- // 999 collisions is already a pathological case; fall back to a
70
- // timestamp suffix rather than looping forever.
71
- for (let i = 1; i < 1000; i += 1) {
72
- const candidate = `${base} (${i})${ext}`;
73
- if (!(await exists(candidate))) {
74
- return candidate;
75
- }
76
- }
77
- return `${base} (${Date.now()})${ext}`;
78
- }
79
- //# sourceMappingURL=getDisplayFileName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_mimeToExtension","require","getDisplayFileName","options","candidate","originalName","trim","fileName","filenameFromUrl","location","ensureFilenameHasExtension","mimetype","sanitizeFileNameForPath","name","cleaned","replace","getUniqueFileName","exists","safeName","dotIndex","lastIndexOf","base","slice","ext","i","Date","now"],"sourceRoot":"../../../src","sources":["helpers/getDisplayFileName.ts"],"mappings":";;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,OAA+B,EAAU;EAC1E,MAAMC,SAAS,GACZD,OAAO,CAACE,YAAY,IAAIF,OAAO,CAACE,YAAY,CAACC,IAAI,CAAC,CAAC,IACnDH,OAAO,CAACI,QAAQ,IAAIJ,OAAO,CAACI,QAAQ,CAACD,IAAI,CAAC,CAAE,IAC7C,IAAAE,gCAAe,EAACL,OAAO,CAACM,QAAQ,CAAC,IACjC,EAAE;EACJ,OAAO,IAAAC,2CAA0B,EAACN,SAAS,EAAED,OAAO,CAACQ,QAAQ,CAAC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,uBAAuBA,CAACC,IAAY,EAAU;EAC5D,MAAMC,OAAO,GAAG,CAACD,IAAI,IAAI,EAAE,EACxBE,OAAO,CAAC,SAAS,EAAE,GAAG;EACvB;EAAA,CACCA,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAC/BT,IAAI,CAAC,CAAC;EACT,OAAOQ,OAAO,IAAI,MAAM;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeE,iBAAiBA,CACrCH,IAAY,EACZI,MAAmD,EAClC;EACjB,MAAMC,QAAQ,GAAGN,uBAAuB,CAACC,IAAI,CAAC;EAC9C,IAAI,EAAE,MAAMI,MAAM,CAACC,QAAQ,CAAC,CAAC,EAAE;IAC7B,OAAOA,QAAQ;EACjB;EACA,MAAMC,QAAQ,GAAGD,QAAQ,CAACE,WAAW,CAAC,GAAG,CAAC;EAC1C,MAAMC,IAAI,GAAGF,QAAQ,GAAG,CAAC,GAAGD,QAAQ,CAACI,KAAK,CAAC,CAAC,EAAEH,QAAQ,CAAC,GAAGD,QAAQ;EAClE,MAAMK,GAAG,GAAGJ,QAAQ,GAAG,CAAC,GAAGD,QAAQ,CAACI,KAAK,CAACH,QAAQ,CAAC,GAAG,EAAE;EACxD;EACA;EACA,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,EAAEA,CAAC,IAAI,CAAC,EAAE;IAChC,MAAMpB,SAAS,GAAG,GAAGiB,IAAI,KAAKG,CAAC,IAAID,GAAG,EAAE;IACxC,IAAI,EAAE,MAAMN,MAAM,CAACb,SAAS,CAAC,CAAC,EAAE;MAC9B,OAAOA,SAAS;IAClB;EACF;EACA,OAAO,GAAGiB,IAAI,KAAKI,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIH,GAAG,EAAE;AACxC","ignoreList":[]}
@@ -1,125 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.FUTURE_READ_MARKER_TOLERANCE_MS = void 0;
7
- exports.getServerReadTimestamp = getServerReadTimestamp;
8
- exports.isCorruptFutureReadMarker = isCorruptFutureReadMarker;
9
- var _roomsSlice = require("../roomStore/roomsSlice");
10
- // A stored/stamped read marker more than this far past the newest
11
- // message we actually know about for a room is not "the user is a
12
- // little ahead" - it's a leftover from a device whose clock was wrong
13
- // when it stamped the marker (bug #38). Generous on purpose: this value
14
- // only controls when we're willing to treat an existing marker as
15
- // corrupt and self-heal it, never how far off a legitimate new write can
16
- // be, so a false positive here just means a bad value survives one extra
17
- // cycle, not that a good value gets rejected.
18
- const FUTURE_READ_MARKER_TOLERANCE_MS = exports.FUTURE_READ_MARKER_TOLERANCE_MS = 5 * 60 * 1000;
19
- /**
20
- * Resolve the "read up to here" marker for `room` using SERVER time,
21
- * never the device clock.
22
- *
23
- * Bug #38: if the device clock is ahead when the user leaves a room, a
24
- * `Date.now()` read marker lands in the future. The private-store merge
25
- * (flushLastViewedToPrivateStore.ts) is forward-only ("if (prevNum >=
26
- * ts) continue"), so once a future marker is written, no later
27
- * *correct* write can ever replace it - the room's unread count is
28
- * stuck wrong forever, on every device, from that point on. Anchoring
29
- * to the newest SERVER-acknowledged message's own timestamp instead
30
- * means the marker we write can never be ahead of what the server
31
- * itself has recorded for the room.
32
- *
33
- * "Server-acknowledged" excludes:
34
- * - a message still marked `pending` (the optimistic bubble shown
35
- * while a send is in flight - it carries the DEVICE send time via
36
- * `date`, not a server timestamp, until the server echoes it back
37
- * and insertMessageWithDelimiter flips `pending` off);
38
- * - a message id present in `heapState.messageHeap` (queued retry -
39
- * used for offline media sends, see roomHeapSlice.ts) or
40
- * `heapState.failedMessages` (a send that never reached the server
41
- * at all).
42
- *
43
- * `msgSortableMs` (roomsSlice.ts) reads the server-assigned microsecond
44
- * timestamp encoded in the first 13 digits of the message id - the same
45
- * source already used for message ordering and unread counting - so
46
- * this stays consistent with the rest of the read/unread pipeline.
47
- *
48
- * Falls back to the room's existing `lastViewedTimestamp` (so leaving
49
- * an empty or never-scrolled room doesn't regress the marker), then to
50
- * `0` when there's truly nothing to anchor to yet (a brand new room
51
- * with no history and no prior marker). Callers should treat `0` as
52
- * "skip the write" rather than substituting a device-clock guess.
53
- */
54
- function getServerReadTimestamp(room, heapState) {
55
- if (!room) {
56
- return 0;
57
- }
58
- const heapIds = new Set((heapState?.messageHeap || []).filter(m => m && m.id != null).map(m => String(m.id)));
59
- const failedIds = new Set(Object.keys(heapState?.failedMessages || {}));
60
- let newest = 0;
61
- const messages = room.messages || [];
62
- for (const m of messages) {
63
- if (!m || !m.id) {
64
- continue;
65
- }
66
- const id = String(m.id);
67
- if (id === 'delimiter-new' || id === 'delimiter-new-local') {
68
- continue;
69
- }
70
- if (m.pending) {
71
- continue;
72
- }
73
- if (heapIds.has(id) || failedIds.has(id)) {
74
- continue;
75
- }
76
- const ts = (0, _roomsSlice.msgSortableMs)(m);
77
- if (ts > newest) {
78
- newest = ts;
79
- }
80
- }
81
- if (newest > 0) {
82
- return newest;
83
- }
84
- if (room.lastViewedTimestamp && room.lastViewedTimestamp > 0) {
85
- return room.lastViewedTimestamp;
86
- }
87
- return 0;
88
- }
89
-
90
- /**
91
- * Is `marker` a leftover from a device whose clock was wrong when it
92
- * stamped a read marker (bug #38)?
93
- *
94
- * TWO independent signals must agree before we're willing to throw a
95
- * stored marker away, because "waive the forward-only guard" is a
96
- * destructive operation:
97
- *
98
- * 1. it sits well past the newest message we know the room has, AND
99
- * 2. it sits well past real time.
100
- *
101
- * Signal 1 alone is NOT enough, and that is the whole point of this
102
- * function: a device whose local cache for a room is simply stale (very
103
- * common - any room whose history hasn't been synced yet this session)
104
- * sees a perfectly legitimate marker written by another device that HAS
105
- * seen newer messages, and would happily "heal" it backwards, resurrecting
106
- * already-read messages as unread on every device. A real timestamp can
107
- * never be ahead of real time, so requiring signal 2 as well means a
108
- * stale cache on its own can no longer trigger the self-heal.
109
- *
110
- * Signal 2 alone is not used either: it would let a device whose own
111
- * clock is running SLOW mistake every correct marker for a corrupt one.
112
- */
113
- function isCorruptFutureReadMarker(marker, newestAckedMs) {
114
- if (!Number.isFinite(marker) || marker <= 0) {
115
- return false;
116
- }
117
- if (!(newestAckedMs > 0)) {
118
- return false;
119
- }
120
- if (marker <= newestAckedMs + FUTURE_READ_MARKER_TOLERANCE_MS) {
121
- return false;
122
- }
123
- return marker > Date.now() + FUTURE_READ_MARKER_TOLERANCE_MS;
124
- }
125
- //# sourceMappingURL=getServerReadTimestamp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_roomsSlice","require","FUTURE_READ_MARKER_TOLERANCE_MS","exports","getServerReadTimestamp","room","heapState","heapIds","Set","messageHeap","filter","m","id","map","String","failedIds","Object","keys","failedMessages","newest","messages","pending","has","ts","msgSortableMs","lastViewedTimestamp","isCorruptFutureReadMarker","marker","newestAckedMs","Number","isFinite","Date","now"],"sourceRoot":"../../../src","sources":["helpers/getServerReadTimestamp.ts"],"mappings":";;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,+BAA+B,GAAAC,OAAA,CAAAD,+BAAA,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;AAS5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,sBAAsBA,CACpCC,IAA6C,EAC7CC,SAAyC,EACjC;EACR,IAAI,CAACD,IAAI,EAAE;IAAC,OAAO,CAAC;EAAC;EAErB,MAAME,OAAO,GAAG,IAAIC,GAAG,CACrB,CAACF,SAAS,EAAEG,WAAW,IAAI,EAAE,EAC1BC,MAAM,CAAEC,CAAC,IAAKA,CAAC,IAAIA,CAAC,CAACC,EAAE,IAAI,IAAI,CAAC,CAChCC,GAAG,CAAEF,CAAC,IAAKG,MAAM,CAACH,CAAC,CAACC,EAAE,CAAC,CAC5B,CAAC;EACD,MAAMG,SAAS,GAAG,IAAIP,GAAG,CAACQ,MAAM,CAACC,IAAI,CAACX,SAAS,EAAEY,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC;EAEvE,IAAIC,MAAM,GAAG,CAAC;EACd,MAAMC,QAAQ,GAAGf,IAAI,CAACe,QAAQ,IAAI,EAAE;EACpC,KAAK,MAAMT,CAAC,IAAIS,QAAQ,EAAE;IACxB,IAAI,CAACT,CAAC,IAAI,CAACA,CAAC,CAACC,EAAE,EAAE;MAAC;IAAS;IAC3B,MAAMA,EAAE,GAAGE,MAAM,CAACH,CAAC,CAACC,EAAE,CAAC;IACvB,IAAIA,EAAE,KAAK,eAAe,IAAIA,EAAE,KAAK,qBAAqB,EAAE;MAAC;IAAS;IACtE,IAAKD,CAAC,CAASU,OAAO,EAAE;MAAC;IAAS;IAClC,IAAId,OAAO,CAACe,GAAG,CAACV,EAAE,CAAC,IAAIG,SAAS,CAACO,GAAG,CAACV,EAAE,CAAC,EAAE;MAAC;IAAS;IAEpD,MAAMW,EAAE,GAAG,IAAAC,yBAAa,EAACb,CAAC,CAAC;IAC3B,IAAIY,EAAE,GAAGJ,MAAM,EAAE;MAACA,MAAM,GAAGI,EAAE;IAAC;EAChC;EAEA,IAAIJ,MAAM,GAAG,CAAC,EAAE;IAAC,OAAOA,MAAM;EAAC;EAC/B,IAAId,IAAI,CAACoB,mBAAmB,IAAIpB,IAAI,CAACoB,mBAAmB,GAAG,CAAC,EAAE;IAC5D,OAAOpB,IAAI,CAACoB,mBAAmB;EACjC;EACA,OAAO,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,yBAAyBA,CACvCC,MAAc,EACdC,aAAqB,EACZ;EACT,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACH,MAAM,CAAC,IAAIA,MAAM,IAAI,CAAC,EAAE;IAAC,OAAO,KAAK;EAAC;EAC3D,IAAI,EAAEC,aAAa,GAAG,CAAC,CAAC,EAAE;IAAC,OAAO,KAAK;EAAC;EACxC,IAAID,MAAM,IAAIC,aAAa,GAAG1B,+BAA+B,EAAE;IAAC,OAAO,KAAK;EAAC;EAC7E,OAAOyB,MAAM,GAAGI,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG9B,+BAA+B;AAC9D","ignoreList":[]}
@@ -1,75 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.isOwnMessage = void 0;
7
- /**
8
- * Bug #41: during reconnect catch-up (app was backgrounded/offline, then
9
- * comes back online), messages replayed from MAM could transiently render
10
- * on the RIGHT (as if sent by the current user) before flipping to the
11
- * LEFT a moment later. Root cause: `message.user.id === walletAddress`
12
- * treats `undefined === undefined` (or `'' === ''`) as a match, and the
13
- * two sides could independently be empty for one frame -- the message's
14
- * sender id before the MAM-derived value settled, and/or the current
15
- * user's id before it rehydrated. Two blank ids must never compare equal.
16
- *
17
- * A second, related issue: the same logical sender id can show up in
18
- * different shapes depending on which code path produced it -- a bare
19
- * id ("wallet123") or a bare JID with an incidental session resource
20
- * ("wallet123@host/sessionResource", as `senderJID` attrs carry on the
21
- * wire -- see src/assets/test.xml). In every shape used in this
22
- * codebase the identifying segment is the part BEFORE the first '@' (or
23
- * before '/' when there's no '@'); anything after that -- domain,
24
- * resource -- is noise. Comparing raw strings with `===` fails whenever
25
- * one side still carries that noise and the other doesn't. Normalizing
26
- * both sides (strip resource, strip domain, lowercase) before comparing
27
- * makes the check tolerant of that drift.
28
- */
29
-
30
- /**
31
- * Strip a MUC resource (`room@host/resource` -> `room@host`) and then a
32
- * JID domain (`local@host` -> `local`), lowercasing the result. Applies
33
- * to both plain ids and full/partial JIDs so either shape normalizes to
34
- * the same comparable value.
35
- */
36
- const normalizeId = raw => {
37
- const value = String(raw ?? '').trim();
38
- if (!value) {
39
- return '';
40
- }
41
- const withoutResource = value.split('/')[0];
42
- const withoutDomain = withoutResource.includes('@') ? withoutResource.split('@')[0] : withoutResource;
43
- return withoutDomain.toLowerCase();
44
- };
45
-
46
- // Same precedence the rest of the app uses when it needs "who am I" as a
47
- // single id: xmppUsername first, walletAddress as the fallback.
48
- const resolveCurrentUserId = currentUser => {
49
- if (typeof currentUser === 'string') {
50
- return currentUser;
51
- }
52
- if (!currentUser) {
53
- return '';
54
- }
55
- return currentUser.xmppUsername || currentUser.walletAddress || currentUser.id || '';
56
- };
57
-
58
- /**
59
- * Robustly determine whether `message` was sent by `currentUser`. Never
60
- * returns true from two blank/undefined ids, and tolerates bare-id vs.
61
- * full-JID mismatches between the sender id and the current user id.
62
- */
63
- const isOwnMessage = (message, currentUser) => {
64
- const messageUserId = normalizeId(message?.user?.id);
65
- if (!messageUserId) {
66
- return false;
67
- }
68
- const currentUserId = normalizeId(resolveCurrentUserId(currentUser));
69
- if (!currentUserId) {
70
- return false;
71
- }
72
- return messageUserId === currentUserId;
73
- };
74
- exports.isOwnMessage = isOwnMessage;
75
- //# sourceMappingURL=isOwnMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["normalizeId","raw","value","String","trim","withoutResource","split","withoutDomain","includes","toLowerCase","resolveCurrentUserId","currentUser","xmppUsername","walletAddress","id","isOwnMessage","message","messageUserId","user","currentUserId","exports"],"sourceRoot":"../../../src","sources":["helpers/isOwnMessage.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,WAAW,GAAIC,GAAY,IAAa;EAC5C,MAAMC,KAAK,GAAGC,MAAM,CAACF,GAAG,IAAI,EAAE,CAAC,CAACG,IAAI,CAAC,CAAC;EACtC,IAAI,CAACF,KAAK,EAAE;IACV,OAAO,EAAE;EACX;EACA,MAAMG,eAAe,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EAC3C,MAAMC,aAAa,GAAGF,eAAe,CAACG,QAAQ,CAAC,GAAG,CAAC,GAC/CH,eAAe,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAC7BD,eAAe;EACnB,OAAOE,aAAa,CAACE,WAAW,CAAC,CAAC;AACpC,CAAC;;AAED;AACA;AACA,MAAMC,oBAAoB,GAAIC,WAAkC,IAAa;EAC3E,IAAI,OAAOA,WAAW,KAAK,QAAQ,EAAE;IACnC,OAAOA,WAAW;EACpB;EACA,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,OACEA,WAAW,CAACC,YAAY,IAAID,WAAW,CAACE,aAAa,IAAIF,WAAW,CAACG,EAAE,IAAI,EAAE;AAEjF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMC,YAAY,GAAGA,CAC1BC,OAAkD,EAClDL,WAAkC,KACtB;EACZ,MAAMM,aAAa,GAAGjB,WAAW,CAACgB,OAAO,EAAEE,IAAI,EAAEJ,EAAE,CAAC;EACpD,IAAI,CAACG,aAAa,EAAE;IAClB,OAAO,KAAK;EACd;EAEA,MAAME,aAAa,GAAGnB,WAAW,CAACU,oBAAoB,CAACC,WAAW,CAAC,CAAC;EACpE,IAAI,CAACQ,aAAa,EAAE;IAClB,OAAO,KAAK;EACd;EAEA,OAAOF,aAAa,KAAKE,aAAa;AACxC,CAAC;AAACC,OAAA,CAAAL,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getMediaLibrary = exports.__resetMediaLibraryCache = void 0;
7
- let cached;
8
- const getMediaLibrary = () => {
9
- if (cached !== undefined) {
10
- return cached;
11
- }
12
- try {
13
- const legacy = require('expo-media-library/legacy');
14
- if (legacy?.getAssetsAsync) {
15
- cached = legacy;
16
- return cached;
17
- }
18
- } catch {}
19
- try {
20
- cached = require('expo-media-library') ?? null;
21
- } catch {
22
- cached = null;
23
- }
24
- return cached;
25
- };
26
- exports.getMediaLibrary = getMediaLibrary;
27
- const __resetMediaLibraryCache = () => {
28
- cached = undefined;
29
- };
30
- exports.__resetMediaLibraryCache = __resetMediaLibraryCache;
31
- //# sourceMappingURL=mediaLibraryRuntime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["cached","getMediaLibrary","undefined","legacy","require","getAssetsAsync","exports","__resetMediaLibraryCache"],"sourceRoot":"../../../src","sources":["helpers/mediaLibraryRuntime.ts"],"mappings":";;;;;;AAAA,IAAIA,MAAuB;AAEpB,MAAMC,eAAe,GAAGA,CAAA,KAAkB;EAC/C,IAAID,MAAM,KAAKE,SAAS,EAAE;IAAC,OAAOF,MAAM;EAAC;EACzC,IAAI;IACF,MAAMG,MAAM,GAAGC,OAAO,CAAC,2BAA2B,CAAC;IAEnD,IAAID,MAAM,EAAEE,cAAc,EAAE;MAC1BL,MAAM,GAAGG,MAAM;MACf,OAAOH,MAAM;IACf;EACF,CAAC,CAAC,MAAM,CACR;EAEA,IAAI;IACFA,MAAM,GAAGI,OAAO,CAAC,oBAAoB,CAAC,IAAI,IAAI;EAChD,CAAC,CAAC,MAAM;IACNJ,MAAM,GAAG,IAAI;EACf;EACA,OAAOA,MAAM;AACf,CAAC;AAACM,OAAA,CAAAL,eAAA,GAAAA,eAAA;AAEK,MAAMM,wBAAwB,GAAGA,CAAA,KAAM;EAC5CP,MAAM,GAAGE,SAAS;AACpB,CAAC;AAACI,OAAA,CAAAC,wBAAA,GAAAA,wBAAA","ignoreList":[]}