@ethora/chat-component-rn 26.8.1 → 26.8.3

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 (927) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +70 -11
  3. package/lib/commonjs/assets/EmptyChatIllustration.js +7 -6
  4. package/lib/commonjs/assets/EmptyChatIllustration.js.map +1 -1
  5. package/lib/commonjs/assets/icons.js +7 -2
  6. package/lib/commonjs/assets/icons.js.map +1 -1
  7. package/lib/commonjs/components/AuthForms/Login.js +27 -12
  8. package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
  9. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +12 -4
  10. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  11. package/lib/commonjs/components/DropdownMenu/DropdownMenu.js +16 -9
  12. package/lib/commonjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  13. package/lib/commonjs/components/ExampleComponents/CustomMessage.js +25 -7
  14. package/lib/commonjs/components/ExampleComponents/CustomMessage.js.map +1 -1
  15. package/lib/commonjs/components/ExampleComponents/CustomTypingIndicatorExamples.js +18 -6
  16. package/lib/commonjs/components/ExampleComponents/CustomTypingIndicatorExamples.js.map +1 -1
  17. package/lib/commonjs/components/Header/HeaderRoomList.js +34 -10
  18. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  19. package/lib/commonjs/components/InputComponents/Search.js +13 -4
  20. package/lib/commonjs/components/InputComponents/Search.js.map +1 -1
  21. package/lib/commonjs/components/MainComponents/ChatHeader.js +18 -6
  22. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  23. package/lib/commonjs/components/MainComponents/ChatRoom.js +154 -15
  24. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  25. package/lib/commonjs/components/MainComponents/ChatWrapper.js +42 -19
  26. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  27. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js +37 -10
  28. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  29. package/lib/commonjs/components/MainComponents/LoginWrapper.js +2 -1
  30. package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
  31. package/lib/commonjs/components/MainComponents/MediaMessage.js +72 -28
  32. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  33. package/lib/commonjs/components/MainComponents/MessageContainer.js +5 -1
  34. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  35. package/lib/commonjs/components/MainComponents/MessageList.js +22 -8
  36. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  37. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  38. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  39. package/lib/commonjs/components/MainComponents/RNStyled.js +12 -4
  40. package/lib/commonjs/components/MainComponents/RNStyled.js.map +1 -1
  41. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +25 -8
  42. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  43. package/lib/commonjs/components/MainComponents/RoomList.js +214 -38
  44. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  45. package/lib/commonjs/components/MainComponents/Select.js +29 -8
  46. package/lib/commonjs/components/MainComponents/Select.js.map +1 -1
  47. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +329 -99
  48. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  49. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js +24 -8
  50. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  51. package/lib/commonjs/components/MessageBubble/Message.js +46 -24
  52. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  53. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +15 -4
  54. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  55. package/lib/commonjs/components/MessageBubble/MessageReaction.js +10 -5
  56. package/lib/commonjs/components/MessageBubble/MessageReaction.js.map +1 -1
  57. package/lib/commonjs/components/Modals/AddMembersModal/AddMembersModal.js +1 -5
  58. package/lib/commonjs/components/Modals/AddMembersModal/AddMembersModal.js.map +1 -1
  59. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +345 -118
  60. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  61. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +599 -203
  62. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  63. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js +5 -7
  64. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  65. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +230 -0
  66. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  67. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +89 -36
  68. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  69. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +2 -1
  70. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  71. package/lib/commonjs/components/Modals/Modal/Modal.js +8 -0
  72. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  73. package/lib/commonjs/components/Modals/ModalHeaderComponent.js +8 -2
  74. package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
  75. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +8 -8
  76. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  77. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +3 -6
  78. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  79. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +205 -106
  80. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  81. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  82. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  83. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +563 -0
  84. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  85. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +215 -0
  86. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  87. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +7 -9
  88. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  89. package/lib/commonjs/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js +8 -6
  90. package/lib/commonjs/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js.map +1 -1
  91. package/lib/commonjs/components/Modals/SettingsModals/Referrals/Referrals.js +7 -2
  92. package/lib/commonjs/components/Modals/SettingsModals/Referrals/Referrals.js.map +1 -1
  93. package/lib/commonjs/components/Modals/SettingsModals/SharedStyledComponents.js +7 -3
  94. package/lib/commonjs/components/Modals/SettingsModals/SharedStyledComponents.js.map +1 -1
  95. package/lib/commonjs/components/Modals/SettingsModals/Visibility/RadioInput.js +10 -6
  96. package/lib/commonjs/components/Modals/SettingsModals/Visibility/RadioInput.js.map +1 -1
  97. package/lib/commonjs/components/Modals/SettingsModals/Visibility/VisibilityModal.js +7 -6
  98. package/lib/commonjs/components/Modals/SettingsModals/Visibility/VisibilityModal.js.map +1 -1
  99. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +10 -22
  100. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  101. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +510 -244
  102. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  103. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +77 -46
  104. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  105. package/lib/commonjs/components/Modals/styledModalComponents.js +68 -17
  106. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  107. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +30 -10
  108. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  109. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +6 -2
  110. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  111. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +22 -3
  112. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  113. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +17 -3
  114. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  115. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +17 -3
  116. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  117. package/lib/commonjs/components/RoomComponents/styled/StyledRoomComponents.js +6 -0
  118. package/lib/commonjs/components/RoomComponents/styled/StyledRoomComponents.js.map +1 -1
  119. package/lib/commonjs/components/Thread/ThreadWrapper.js +9 -2
  120. package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
  121. package/lib/commonjs/components/Toast/Toast.js +3 -1
  122. package/lib/commonjs/components/Toast/Toast.js.map +1 -1
  123. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +6 -3
  124. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  125. package/lib/commonjs/components/styled/AudioMessage.js +18 -12
  126. package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
  127. package/lib/commonjs/components/styled/Button.js +18 -9
  128. package/lib/commonjs/components/styled/Button.js.map +1 -1
  129. package/lib/commonjs/components/styled/DateLabel.js +8 -5
  130. package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
  131. package/lib/commonjs/components/styled/MediaModal.js +27 -21
  132. package/lib/commonjs/components/styled/MediaModal.js.map +1 -1
  133. package/lib/commonjs/components/styled/MessageImage.js +37 -9
  134. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  135. package/lib/commonjs/components/styled/RoomListComponents/index.js +60 -38
  136. package/lib/commonjs/components/styled/RoomListComponents/index.js.map +1 -1
  137. package/lib/commonjs/components/styled/SendInput.js +93 -19
  138. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  139. package/lib/commonjs/components/styled/StyledComponents.js +75 -25
  140. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  141. package/lib/commonjs/components/styled/StyledInput.js +32 -18
  142. package/lib/commonjs/components/styled/StyledInput.js.map +1 -1
  143. package/lib/commonjs/components/styled/StyledInputComponents/CustomTypingIndicator.js +13 -8
  144. package/lib/commonjs/components/styled/StyledInputComponents/CustomTypingIndicator.js.map +1 -1
  145. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +20 -9
  146. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  147. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +50 -22
  148. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  149. package/lib/commonjs/components/styled/TreadLabel.js +6 -3
  150. package/lib/commonjs/components/styled/TreadLabel.js.map +1 -1
  151. package/lib/commonjs/components/styled/UnsupportedType.js +14 -4
  152. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  153. package/lib/commonjs/components/styled/VideoMessage.js +119 -61
  154. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  155. package/lib/commonjs/context/MessageNotificationContext.js +14 -3
  156. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  157. package/lib/commonjs/context/xmppProvider.js +184 -59
  158. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  159. package/lib/commonjs/helpers/createMessageFromXml.js +19 -1
  160. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  161. package/lib/commonjs/helpers/ensureScopedChatCache.js +2 -2
  162. package/lib/commonjs/helpers/ensureScopedChatCache.js.map +1 -1
  163. package/lib/commonjs/helpers/getChatBackground.js +26 -0
  164. package/lib/commonjs/helpers/getChatBackground.js.map +1 -0
  165. package/lib/commonjs/helpers/getDateLabelColor.js +3 -1
  166. package/lib/commonjs/helpers/getDateLabelColor.js.map +1 -1
  167. package/lib/commonjs/helpers/getDisplayFileName.js +79 -0
  168. package/lib/commonjs/helpers/getDisplayFileName.js.map +1 -0
  169. package/lib/commonjs/helpers/getIconColor.js +4 -1
  170. package/lib/commonjs/helpers/getIconColor.js.map +1 -1
  171. package/lib/commonjs/helpers/getSenderNameColor.js +3 -1
  172. package/lib/commonjs/helpers/getSenderNameColor.js.map +1 -1
  173. package/lib/commonjs/helpers/getServerReadTimestamp.js +188 -0
  174. package/lib/commonjs/helpers/getServerReadTimestamp.js.map +1 -0
  175. package/lib/commonjs/helpers/historyPreloadScheduler.js +65 -2
  176. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  177. package/lib/commonjs/helpers/initXmppRooms.js +14 -8
  178. package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
  179. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +51 -9
  180. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  181. package/lib/commonjs/helpers/isOwnMessage.js +75 -0
  182. package/lib/commonjs/helpers/isOwnMessage.js.map +1 -0
  183. package/lib/commonjs/helpers/keyboardLayout.js +12 -2
  184. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
  185. package/lib/commonjs/helpers/markdownParser.js +27 -5
  186. package/lib/commonjs/helpers/markdownParser.js.map +1 -1
  187. package/lib/commonjs/helpers/mediaLibraryRuntime.js +31 -0
  188. package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +1 -0
  189. package/lib/commonjs/helpers/mimeToExtension.js +6 -14
  190. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  191. package/lib/commonjs/helpers/msgSortableMs.js +37 -0
  192. package/lib/commonjs/helpers/msgSortableMs.js.map +1 -0
  193. package/lib/commonjs/helpers/parseMessageBody.js +82 -24
  194. package/lib/commonjs/helpers/parseMessageBody.js.map +1 -1
  195. package/lib/commonjs/helpers/persistCrypto.js +122 -0
  196. package/lib/commonjs/helpers/persistCrypto.js.map +1 -0
  197. package/lib/commonjs/helpers/pickImageAsset.js +68 -0
  198. package/lib/commonjs/helpers/pickImageAsset.js.map +1 -0
  199. package/lib/commonjs/helpers/pushPayload.js +71 -0
  200. package/lib/commonjs/helpers/pushPayload.js.map +1 -0
  201. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +130 -17
  202. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  203. package/lib/commonjs/helpers/secureFileUrl.js +101 -0
  204. package/lib/commonjs/helpers/secureFileUrl.js.map +1 -0
  205. package/lib/commonjs/helpers/secureKeyValue.js +83 -0
  206. package/lib/commonjs/helpers/secureKeyValue.js.map +1 -0
  207. package/lib/commonjs/helpers/secureStoreRuntime.js +59 -0
  208. package/lib/commonjs/helpers/secureStoreRuntime.js.map +1 -0
  209. package/lib/commonjs/helpers/secureUserStorage.js +75 -0
  210. package/lib/commonjs/helpers/secureUserStorage.js.map +1 -0
  211. package/lib/commonjs/helpers/shallowEqual.js +36 -0
  212. package/lib/commonjs/helpers/shallowEqual.js.map +1 -0
  213. package/lib/commonjs/helpers/sheetGestures.js +32 -0
  214. package/lib/commonjs/helpers/sheetGestures.js.map +1 -0
  215. package/lib/commonjs/hooks/useChatRoomFocus.js +45 -12
  216. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  217. package/lib/commonjs/hooks/useChatWrapperInit.js +30 -10
  218. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  219. package/lib/commonjs/hooks/useComposing.js +27 -0
  220. package/lib/commonjs/hooks/useComposing.js.map +1 -1
  221. package/lib/commonjs/hooks/useCustomTypingIndicator.js +7 -3
  222. package/lib/commonjs/hooks/useCustomTypingIndicator.js.map +1 -1
  223. package/lib/commonjs/hooks/useFileToken.js +10 -0
  224. package/lib/commonjs/hooks/useFileToken.js.map +1 -0
  225. package/lib/commonjs/hooks/useLogout.js +33 -10
  226. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  227. package/lib/commonjs/hooks/usePendingNotification.js +8 -11
  228. package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
  229. package/lib/commonjs/hooks/useSendMessage.js +50 -14
  230. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  231. package/lib/commonjs/hooks/useTheme.js +35 -0
  232. package/lib/commonjs/hooks/useTheme.js.map +1 -0
  233. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +6 -1
  234. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  235. package/lib/commonjs/i18n/strings.js +163 -37
  236. package/lib/commonjs/i18n/strings.js.map +1 -1
  237. package/lib/commonjs/main.js +119 -0
  238. package/lib/commonjs/main.js.map +1 -1
  239. package/lib/commonjs/networking/api-requests/auth.api.js +134 -60
  240. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  241. package/lib/commonjs/networking/api-requests/push.api.js +130 -45
  242. package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
  243. package/lib/commonjs/networking/api-requests/roomMembers.api.js +1 -1
  244. package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
  245. package/lib/commonjs/networking/api-requests/rooms.api.js +22 -9
  246. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  247. package/lib/commonjs/networking/api-requests/user.api.js +68 -9
  248. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  249. package/lib/commonjs/networking/apiClient.js +62 -112
  250. package/lib/commonjs/networking/apiClient.js.map +1 -1
  251. package/lib/commonjs/networking/authRefresh.js +332 -0
  252. package/lib/commonjs/networking/authRefresh.js.map +1 -0
  253. package/lib/commonjs/networking/stanzaHandlers.js +41 -28
  254. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  255. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +46 -8
  256. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  257. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  258. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  259. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  260. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  261. package/lib/commonjs/networking/xmppClient.js +124 -8
  262. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  263. package/lib/commonjs/roomStore/chatSettingsSlice.js +26 -7
  264. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  265. package/lib/commonjs/roomStore/index.js +35 -2
  266. package/lib/commonjs/roomStore/index.js.map +1 -1
  267. package/lib/commonjs/roomStore/persistence.js +226 -23
  268. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  269. package/lib/commonjs/roomStore/roomsSlice.js +151 -38
  270. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  271. package/lib/commonjs/services/pushRegistration.js +250 -0
  272. package/lib/commonjs/services/pushRegistration.js.map +1 -0
  273. package/lib/commonjs/services/pushSubscriptionService.js +15 -37
  274. package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
  275. package/lib/commonjs/theme/index.js +38 -0
  276. package/lib/commonjs/theme/index.js.map +1 -0
  277. package/lib/commonjs/theme/styled.d.js +4 -0
  278. package/lib/commonjs/theme/styled.d.js.map +1 -0
  279. package/lib/commonjs/theme/theme.js +137 -0
  280. package/lib/commonjs/theme/theme.js.map +1 -0
  281. package/lib/commonjs/version.js +1 -1
  282. package/lib/module/assets/EmptyChatIllustration.js +7 -6
  283. package/lib/module/assets/EmptyChatIllustration.js.map +1 -1
  284. package/lib/module/assets/icons.js +6 -1
  285. package/lib/module/assets/icons.js.map +1 -1
  286. package/lib/module/components/AuthForms/Login.js +27 -12
  287. package/lib/module/components/AuthForms/Login.js.map +1 -1
  288. package/lib/module/components/ContextMenu/ContextMenuComponents.js +12 -4
  289. package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  290. package/lib/module/components/DropdownMenu/DropdownMenu.js +16 -9
  291. package/lib/module/components/DropdownMenu/DropdownMenu.js.map +1 -1
  292. package/lib/module/components/ExampleComponents/CustomMessage.js +25 -7
  293. package/lib/module/components/ExampleComponents/CustomMessage.js.map +1 -1
  294. package/lib/module/components/ExampleComponents/CustomTypingIndicatorExamples.js +18 -6
  295. package/lib/module/components/ExampleComponents/CustomTypingIndicatorExamples.js.map +1 -1
  296. package/lib/module/components/Header/HeaderRoomList.js +34 -10
  297. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  298. package/lib/module/components/InputComponents/Search.js +13 -4
  299. package/lib/module/components/InputComponents/Search.js.map +1 -1
  300. package/lib/module/components/MainComponents/ChatHeader.js +18 -6
  301. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  302. package/lib/module/components/MainComponents/ChatRoom.js +156 -17
  303. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  304. package/lib/module/components/MainComponents/ChatWrapper.js +43 -20
  305. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  306. package/lib/module/components/MainComponents/LanguageSelectorModal.js +37 -10
  307. package/lib/module/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  308. package/lib/module/components/MainComponents/LoginWrapper.js +2 -1
  309. package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
  310. package/lib/module/components/MainComponents/MediaMessage.js +72 -29
  311. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  312. package/lib/module/components/MainComponents/MessageContainer.js +5 -1
  313. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  314. package/lib/module/components/MainComponents/MessageList.js +22 -8
  315. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  316. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +14 -13
  317. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  318. package/lib/module/components/MainComponents/RNStyled.js +12 -4
  319. package/lib/module/components/MainComponents/RNStyled.js.map +1 -1
  320. package/lib/module/components/MainComponents/ReduxWrapper.js +25 -8
  321. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  322. package/lib/module/components/MainComponents/RoomList.js +213 -38
  323. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  324. package/lib/module/components/MainComponents/Select.js +29 -8
  325. package/lib/module/components/MainComponents/Select.js.map +1 -1
  326. package/lib/module/components/Menu/HeaderRoomListMenu.js +331 -102
  327. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  328. package/lib/module/components/MessageBubble/BottomReplyContainer.js +24 -8
  329. package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  330. package/lib/module/components/MessageBubble/Message.js +47 -25
  331. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  332. package/lib/module/components/MessageBubble/MessageInteractions.js +15 -4
  333. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  334. package/lib/module/components/MessageBubble/MessageReaction.js +10 -5
  335. package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
  336. package/lib/module/components/Modals/AddMembersModal/AddMembersModal.js +2 -6
  337. package/lib/module/components/Modals/AddMembersModal/AddMembersModal.js.map +1 -1
  338. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +336 -121
  339. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  340. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +603 -208
  341. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  342. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js +6 -8
  343. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  344. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +225 -0
  345. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  346. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +90 -37
  347. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  348. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +2 -1
  349. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  350. package/lib/module/components/Modals/Modal/Modal.js +9 -1
  351. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  352. package/lib/module/components/Modals/ModalHeaderComponent.js +8 -2
  353. package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
  354. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +10 -10
  355. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  356. package/lib/module/components/Modals/NewChatModal/ModalContent.js +4 -7
  357. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  358. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +208 -108
  359. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  360. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
  361. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  362. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +555 -0
  363. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  364. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +210 -0
  365. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  366. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +8 -10
  367. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  368. package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js +8 -6
  369. package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js.map +1 -1
  370. package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js +7 -2
  371. package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js.map +1 -1
  372. package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js +7 -3
  373. package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js.map +1 -1
  374. package/lib/module/components/Modals/SettingsModals/Visibility/RadioInput.js +10 -6
  375. package/lib/module/components/Modals/SettingsModals/Visibility/RadioInput.js.map +1 -1
  376. package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js +7 -6
  377. package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js.map +1 -1
  378. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +11 -24
  379. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  380. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +512 -248
  381. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  382. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +79 -48
  383. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  384. package/lib/module/components/Modals/styledModalComponents.js +67 -16
  385. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  386. package/lib/module/components/RoomComponents/ChatRoomItem.js +30 -10
  387. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  388. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +6 -2
  389. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  390. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +22 -3
  391. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  392. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +17 -3
  393. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  394. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +17 -3
  395. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  396. package/lib/module/components/RoomComponents/styled/StyledRoomComponents.js +6 -0
  397. package/lib/module/components/RoomComponents/styled/StyledRoomComponents.js.map +1 -1
  398. package/lib/module/components/Thread/ThreadWrapper.js +9 -2
  399. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  400. package/lib/module/components/Toast/Toast.js +3 -1
  401. package/lib/module/components/Toast/Toast.js.map +1 -1
  402. package/lib/module/components/VideoCalls/VideoCallSession.js +6 -3
  403. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  404. package/lib/module/components/styled/AudioMessage.js +18 -12
  405. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  406. package/lib/module/components/styled/Button.js +17 -9
  407. package/lib/module/components/styled/Button.js.map +1 -1
  408. package/lib/module/components/styled/DateLabel.js +8 -5
  409. package/lib/module/components/styled/DateLabel.js.map +1 -1
  410. package/lib/module/components/styled/MediaModal.js +29 -23
  411. package/lib/module/components/styled/MediaModal.js.map +1 -1
  412. package/lib/module/components/styled/MessageImage.js +37 -9
  413. package/lib/module/components/styled/MessageImage.js.map +1 -1
  414. package/lib/module/components/styled/RoomListComponents/index.js +62 -39
  415. package/lib/module/components/styled/RoomListComponents/index.js.map +1 -1
  416. package/lib/module/components/styled/SendInput.js +94 -20
  417. package/lib/module/components/styled/SendInput.js.map +1 -1
  418. package/lib/module/components/styled/StyledComponents.js +75 -25
  419. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  420. package/lib/module/components/styled/StyledInput.js +32 -18
  421. package/lib/module/components/styled/StyledInput.js.map +1 -1
  422. package/lib/module/components/styled/StyledInputComponents/CustomTypingIndicator.js +13 -8
  423. package/lib/module/components/styled/StyledInputComponents/CustomTypingIndicator.js.map +1 -1
  424. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +20 -9
  425. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  426. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +50 -22
  427. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  428. package/lib/module/components/styled/TreadLabel.js +6 -3
  429. package/lib/module/components/styled/TreadLabel.js.map +1 -1
  430. package/lib/module/components/styled/UnsupportedType.js +14 -4
  431. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  432. package/lib/module/components/styled/VideoMessage.js +120 -62
  433. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  434. package/lib/module/context/MessageNotificationContext.js +14 -3
  435. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  436. package/lib/module/context/xmppProvider.js +184 -60
  437. package/lib/module/context/xmppProvider.js.map +1 -1
  438. package/lib/module/helpers/createMessageFromXml.js +19 -1
  439. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  440. package/lib/module/helpers/ensureScopedChatCache.js +2 -2
  441. package/lib/module/helpers/ensureScopedChatCache.js.map +1 -1
  442. package/lib/module/helpers/getChatBackground.js +22 -0
  443. package/lib/module/helpers/getChatBackground.js.map +1 -0
  444. package/lib/module/helpers/getDateLabelColor.js +4 -1
  445. package/lib/module/helpers/getDateLabelColor.js.map +1 -1
  446. package/lib/module/helpers/getDisplayFileName.js +73 -0
  447. package/lib/module/helpers/getDisplayFileName.js.map +1 -0
  448. package/lib/module/helpers/getIconColor.js +5 -1
  449. package/lib/module/helpers/getIconColor.js.map +1 -1
  450. package/lib/module/helpers/getSenderNameColor.js +4 -1
  451. package/lib/module/helpers/getSenderNameColor.js.map +1 -1
  452. package/lib/module/helpers/getServerReadTimestamp.js +181 -0
  453. package/lib/module/helpers/getServerReadTimestamp.js.map +1 -0
  454. package/lib/module/helpers/historyPreloadScheduler.js +66 -3
  455. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  456. package/lib/module/helpers/initXmppRooms.js +14 -8
  457. package/lib/module/helpers/initXmppRooms.js.map +1 -1
  458. package/lib/module/helpers/insertMessageWithDelimiter.js +52 -9
  459. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  460. package/lib/module/helpers/isOwnMessage.js +70 -0
  461. package/lib/module/helpers/isOwnMessage.js.map +1 -0
  462. package/lib/module/helpers/keyboardLayout.js +12 -2
  463. package/lib/module/helpers/keyboardLayout.js.map +1 -1
  464. package/lib/module/helpers/markdownParser.js +27 -5
  465. package/lib/module/helpers/markdownParser.js.map +1 -1
  466. package/lib/module/helpers/mediaLibraryRuntime.js +25 -0
  467. package/lib/module/helpers/mediaLibraryRuntime.js.map +1 -0
  468. package/lib/module/helpers/mimeToExtension.js +6 -13
  469. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  470. package/lib/module/helpers/msgSortableMs.js +32 -0
  471. package/lib/module/helpers/msgSortableMs.js.map +1 -0
  472. package/lib/module/helpers/parseMessageBody.js +82 -24
  473. package/lib/module/helpers/parseMessageBody.js.map +1 -1
  474. package/lib/module/helpers/persistCrypto.js +115 -0
  475. package/lib/module/helpers/persistCrypto.js.map +1 -0
  476. package/lib/module/helpers/pickImageAsset.js +63 -0
  477. package/lib/module/helpers/pickImageAsset.js.map +1 -0
  478. package/lib/module/helpers/pushPayload.js +63 -0
  479. package/lib/module/helpers/pushPayload.js.map +1 -0
  480. package/lib/module/helpers/resolveInitBeforeLoadUser.js +130 -16
  481. package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  482. package/lib/module/helpers/secureFileUrl.js +91 -0
  483. package/lib/module/helpers/secureFileUrl.js.map +1 -0
  484. package/lib/module/helpers/secureKeyValue.js +75 -0
  485. package/lib/module/helpers/secureKeyValue.js.map +1 -0
  486. package/lib/module/helpers/secureStoreRuntime.js +52 -0
  487. package/lib/module/helpers/secureStoreRuntime.js.map +1 -0
  488. package/lib/module/helpers/secureUserStorage.js +72 -0
  489. package/lib/module/helpers/secureUserStorage.js.map +1 -0
  490. package/lib/module/helpers/shallowEqual.js +31 -0
  491. package/lib/module/helpers/shallowEqual.js.map +1 -0
  492. package/lib/module/helpers/sheetGestures.js +26 -0
  493. package/lib/module/helpers/sheetGestures.js.map +1 -0
  494. package/lib/module/hooks/useChatRoomFocus.js +46 -13
  495. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  496. package/lib/module/hooks/useChatWrapperInit.js +30 -10
  497. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  498. package/lib/module/hooks/useComposing.js +28 -1
  499. package/lib/module/hooks/useComposing.js.map +1 -1
  500. package/lib/module/hooks/useCustomTypingIndicator.js +8 -3
  501. package/lib/module/hooks/useCustomTypingIndicator.js.map +1 -1
  502. package/lib/module/hooks/useFileToken.js +5 -0
  503. package/lib/module/hooks/useFileToken.js.map +1 -0
  504. package/lib/module/hooks/useLogout.js +33 -10
  505. package/lib/module/hooks/useLogout.js.map +1 -1
  506. package/lib/module/hooks/usePendingNotification.js +8 -11
  507. package/lib/module/hooks/usePendingNotification.js.map +1 -1
  508. package/lib/module/hooks/useSendMessage.js +52 -16
  509. package/lib/module/hooks/useSendMessage.js.map +1 -1
  510. package/lib/module/hooks/useTheme.js +30 -0
  511. package/lib/module/hooks/useTheme.js.map +1 -0
  512. package/lib/module/hooks/useUnreadMessagesCounter.js +6 -1
  513. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  514. package/lib/module/i18n/strings.js +163 -37
  515. package/lib/module/i18n/strings.js.map +1 -1
  516. package/lib/module/main.js +17 -2
  517. package/lib/module/main.js.map +1 -1
  518. package/lib/module/networking/api-requests/auth.api.js +131 -59
  519. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  520. package/lib/module/networking/api-requests/push.api.js +119 -45
  521. package/lib/module/networking/api-requests/push.api.js.map +1 -1
  522. package/lib/module/networking/api-requests/roomMembers.api.js +1 -1
  523. package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
  524. package/lib/module/networking/api-requests/rooms.api.js +21 -9
  525. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  526. package/lib/module/networking/api-requests/user.api.js +64 -7
  527. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  528. package/lib/module/networking/apiClient.js +61 -113
  529. package/lib/module/networking/apiClient.js.map +1 -1
  530. package/lib/module/networking/authRefresh.js +321 -0
  531. package/lib/module/networking/authRefresh.js.map +1 -0
  532. package/lib/module/networking/stanzaHandlers.js +41 -28
  533. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  534. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +46 -8
  535. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  536. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +8 -1
  537. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  538. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
  539. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  540. package/lib/module/networking/xmppClient.js +124 -8
  541. package/lib/module/networking/xmppClient.js.map +1 -1
  542. package/lib/module/roomStore/chatSettingsSlice.js +26 -7
  543. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  544. package/lib/module/roomStore/index.js +37 -4
  545. package/lib/module/roomStore/index.js.map +1 -1
  546. package/lib/module/roomStore/persistence.js +223 -22
  547. package/lib/module/roomStore/persistence.js.map +1 -1
  548. package/lib/module/roomStore/roomsSlice.js +139 -34
  549. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  550. package/lib/module/services/pushRegistration.js +239 -0
  551. package/lib/module/services/pushRegistration.js.map +1 -0
  552. package/lib/module/services/pushSubscriptionService.js +15 -37
  553. package/lib/module/services/pushSubscriptionService.js.map +1 -1
  554. package/lib/module/theme/index.js +7 -0
  555. package/lib/module/theme/index.js.map +1 -0
  556. package/lib/module/theme/styled.d.js +6 -0
  557. package/lib/module/theme/styled.d.js.map +1 -0
  558. package/lib/module/theme/theme.js +131 -0
  559. package/lib/module/theme/theme.js.map +1 -0
  560. package/lib/module/version.js +1 -1
  561. package/lib/typescript/assets/EmptyChatIllustration.d.ts +1 -0
  562. package/lib/typescript/assets/EmptyChatIllustration.d.ts.map +1 -1
  563. package/lib/typescript/assets/icons.d.ts +24 -0
  564. package/lib/typescript/assets/icons.d.ts.map +1 -1
  565. package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
  566. package/lib/typescript/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  567. package/lib/typescript/components/ExampleComponents/CustomMessage.d.ts.map +1 -1
  568. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  569. package/lib/typescript/components/InputComponents/Search.d.ts.map +1 -1
  570. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  571. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  572. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  573. package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts.map +1 -1
  574. package/lib/typescript/components/MainComponents/LoginWrapper.d.ts.map +1 -1
  575. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  576. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  577. package/lib/typescript/components/MainComponents/MessageList.d.ts +10 -1
  578. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  579. package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
  580. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  581. package/lib/typescript/components/MainComponents/RoomList.d.ts +7 -0
  582. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  583. package/lib/typescript/components/MainComponents/Select.d.ts.map +1 -1
  584. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +3 -0
  585. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  586. package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
  587. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  588. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  589. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
  590. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +9 -0
  591. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  592. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +10 -0
  593. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  594. package/lib/typescript/components/Modals/ChatProfileModal/DeleteChatModal.d.ts.map +1 -1
  595. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +9 -0
  596. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -0
  597. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  598. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  599. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  600. package/lib/typescript/components/Modals/ModalHeaderComponent.d.ts.map +1 -1
  601. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  602. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +4 -2
  603. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  604. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
  605. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  606. package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
  607. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +75 -0
  608. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -0
  609. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +25 -0
  610. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -0
  611. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +6 -1
  612. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  613. package/lib/typescript/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.d.ts.map +1 -1
  614. package/lib/typescript/components/Modals/SettingsModals/Referrals/Referrals.d.ts.map +1 -1
  615. package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts +2 -2
  616. package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts.map +1 -1
  617. package/lib/typescript/components/Modals/SettingsModals/Visibility/RadioInput.d.ts.map +1 -1
  618. package/lib/typescript/components/Modals/SettingsModals/Visibility/VisibilityModal.d.ts.map +1 -1
  619. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  620. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +16 -0
  621. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  622. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +1 -0
  623. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  624. package/lib/typescript/components/Modals/styledModalComponents.d.ts +2 -0
  625. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  626. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  627. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
  628. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
  629. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  630. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
  631. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  632. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
  633. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  634. package/lib/typescript/components/RoomComponents/styled/StyledRoomComponents.d.ts.map +1 -1
  635. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  636. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  637. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  638. package/lib/typescript/components/styled/Button.d.ts.map +1 -1
  639. package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
  640. package/lib/typescript/components/styled/MediaModal.d.ts +2 -2
  641. package/lib/typescript/components/styled/MediaModal.d.ts.map +1 -1
  642. package/lib/typescript/components/styled/MessageImage.d.ts +14 -0
  643. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  644. package/lib/typescript/components/styled/RoomListComponents/index.d.ts.map +1 -1
  645. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  646. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  647. package/lib/typescript/components/styled/StyledInput.d.ts.map +1 -1
  648. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  649. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  650. package/lib/typescript/components/styled/TreadLabel.d.ts.map +1 -1
  651. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  652. package/lib/typescript/components/styled/VideoMessage.d.ts +8 -0
  653. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  654. package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
  655. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  656. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  657. package/lib/typescript/helpers/getAvatarColor.d.ts +1 -1
  658. package/lib/typescript/helpers/getChatBackground.d.ts +15 -0
  659. package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -0
  660. package/lib/typescript/helpers/getDateLabelColor.d.ts +3 -7
  661. package/lib/typescript/helpers/getDateLabelColor.d.ts.map +1 -1
  662. package/lib/typescript/helpers/getDisplayFileName.d.ts +49 -0
  663. package/lib/typescript/helpers/getDisplayFileName.d.ts.map +1 -0
  664. package/lib/typescript/helpers/getIconColor.d.ts +4 -7
  665. package/lib/typescript/helpers/getIconColor.d.ts.map +1 -1
  666. package/lib/typescript/helpers/getSenderNameColor.d.ts +3 -7
  667. package/lib/typescript/helpers/getSenderNameColor.d.ts.map +1 -1
  668. package/lib/typescript/helpers/getServerReadTimestamp.d.ts +108 -0
  669. package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +1 -0
  670. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  671. package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
  672. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts +1 -1
  673. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  674. package/lib/typescript/helpers/isOwnMessage.d.ts +36 -0
  675. package/lib/typescript/helpers/isOwnMessage.d.ts.map +1 -0
  676. package/lib/typescript/helpers/keyboardLayout.d.ts +5 -1
  677. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
  678. package/lib/typescript/helpers/markdownParser.d.ts +8 -1
  679. package/lib/typescript/helpers/markdownParser.d.ts.map +1 -1
  680. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +3 -0
  681. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +1 -0
  682. package/lib/typescript/helpers/mimeToExtension.d.ts +0 -15
  683. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  684. package/lib/typescript/helpers/msgSortableMs.d.ts +2 -0
  685. package/lib/typescript/helpers/msgSortableMs.d.ts.map +1 -0
  686. package/lib/typescript/helpers/parseMessageBody.d.ts +8 -1
  687. package/lib/typescript/helpers/parseMessageBody.d.ts.map +1 -1
  688. package/lib/typescript/helpers/persistCrypto.d.ts +13 -0
  689. package/lib/typescript/helpers/persistCrypto.d.ts.map +1 -0
  690. package/lib/typescript/helpers/pickImageAsset.d.ts +27 -0
  691. package/lib/typescript/helpers/pickImageAsset.d.ts.map +1 -0
  692. package/lib/typescript/helpers/pushPayload.d.ts +7 -0
  693. package/lib/typescript/helpers/pushPayload.d.ts.map +1 -0
  694. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
  695. package/lib/typescript/helpers/secureFileUrl.d.ts +7 -0
  696. package/lib/typescript/helpers/secureFileUrl.d.ts.map +1 -0
  697. package/lib/typescript/helpers/secureKeyValue.d.ts +13 -0
  698. package/lib/typescript/helpers/secureKeyValue.d.ts.map +1 -0
  699. package/lib/typescript/helpers/secureStoreRuntime.d.ts +29 -0
  700. package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +1 -0
  701. package/lib/typescript/helpers/secureUserStorage.d.ts +23 -0
  702. package/lib/typescript/helpers/secureUserStorage.d.ts.map +1 -0
  703. package/lib/typescript/helpers/shallowEqual.d.ts +11 -0
  704. package/lib/typescript/helpers/shallowEqual.d.ts.map +1 -0
  705. package/lib/typescript/helpers/sheetGestures.d.ts +20 -0
  706. package/lib/typescript/helpers/sheetGestures.d.ts.map +1 -0
  707. package/lib/typescript/hooks/useChatRoomFocus.d.ts +4 -1
  708. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  709. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  710. package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
  711. package/lib/typescript/hooks/useCustomTypingIndicator.d.ts +2 -0
  712. package/lib/typescript/hooks/useCustomTypingIndicator.d.ts.map +1 -1
  713. package/lib/typescript/hooks/useFileToken.d.ts +2 -0
  714. package/lib/typescript/hooks/useFileToken.d.ts.map +1 -0
  715. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  716. package/lib/typescript/hooks/usePendingNotification.d.ts.map +1 -1
  717. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  718. package/lib/typescript/hooks/useTheme.d.ts +16 -0
  719. package/lib/typescript/hooks/useTheme.d.ts.map +1 -0
  720. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
  721. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  722. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  723. package/lib/typescript/main.d.ts +16 -2
  724. package/lib/typescript/main.d.ts.map +1 -1
  725. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -1
  726. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  727. package/lib/typescript/networking/api-requests/push.api.d.ts +46 -3
  728. package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
  729. package/lib/typescript/networking/api-requests/rooms.api.d.ts +1 -0
  730. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  731. package/lib/typescript/networking/api-requests/user.api.d.ts +27 -0
  732. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  733. package/lib/typescript/networking/apiClient.d.ts +12 -6
  734. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  735. package/lib/typescript/networking/authRefresh.d.ts +95 -0
  736. package/lib/typescript/networking/authRefresh.d.ts.map +1 -0
  737. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  738. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +10 -2
  739. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  740. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  741. package/lib/typescript/networking/xmpp/subscribeToRoomMessages.xmpp.d.ts.map +1 -1
  742. package/lib/typescript/networking/xmppClient.d.ts +14 -0
  743. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  744. package/lib/typescript/roomStore/chatSettingsSlice.d.ts +16 -0
  745. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  746. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  747. package/lib/typescript/roomStore/persistence.d.ts +18 -1
  748. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  749. package/lib/typescript/roomStore/roomsSlice.d.ts +43 -3
  750. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  751. package/lib/typescript/services/pushRegistration.d.ts +21 -0
  752. package/lib/typescript/services/pushRegistration.d.ts.map +1 -0
  753. package/lib/typescript/services/pushSubscriptionService.d.ts +1 -5
  754. package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
  755. package/lib/typescript/theme/index.d.ts +5 -0
  756. package/lib/typescript/theme/index.d.ts.map +1 -0
  757. package/lib/typescript/theme/theme.d.ts +113 -0
  758. package/lib/typescript/theme/theme.d.ts.map +1 -0
  759. package/lib/typescript/types/models/room.model.d.ts +1 -0
  760. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  761. package/lib/typescript/types/types.d.ts +70 -5
  762. package/lib/typescript/types/types.d.ts.map +1 -1
  763. package/lib/typescript/version.d.ts +1 -1
  764. package/package.json +41 -28
  765. package/src/assets/EmptyChatIllustration.tsx +7 -5
  766. package/src/assets/icons.tsx +72 -9
  767. package/src/components/AuthForms/Login.tsx +14 -12
  768. package/src/components/ContextMenu/ContextMenuComponents.tsx +4 -4
  769. package/src/components/DropdownMenu/DropdownMenu.tsx +14 -6
  770. package/src/components/ExampleComponents/CustomMessage.tsx +9 -8
  771. package/src/components/ExampleComponents/CustomTypingIndicatorExamples.tsx +6 -6
  772. package/src/components/Header/HeaderRoomList.tsx +35 -8
  773. package/src/components/InputComponents/Search.tsx +7 -4
  774. package/src/components/MainComponents/ChatHeader.tsx +18 -6
  775. package/src/components/MainComponents/ChatRoom.tsx +164 -15
  776. package/src/components/MainComponents/ChatWrapper.tsx +44 -26
  777. package/src/components/MainComponents/LanguageSelectorModal.tsx +33 -7
  778. package/src/components/MainComponents/LoginWrapper.tsx +1 -0
  779. package/src/components/MainComponents/MediaMessage.tsx +63 -26
  780. package/src/components/MainComponents/MessageContainer.tsx +5 -1
  781. package/src/components/MainComponents/MessageList.tsx +36 -7
  782. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +21 -14
  783. package/src/components/MainComponents/RNStyled.tsx +4 -4
  784. package/src/components/MainComponents/ReduxWrapper.tsx +23 -7
  785. package/src/components/MainComponents/RoomList.tsx +243 -40
  786. package/src/components/MainComponents/Select.tsx +13 -8
  787. package/src/components/Menu/HeaderRoomListMenu.tsx +347 -77
  788. package/src/components/MessageBubble/BottomReplyContainer.tsx +16 -11
  789. package/src/components/MessageBubble/Message.tsx +48 -25
  790. package/src/components/MessageBubble/MessageInteractions.tsx +17 -4
  791. package/src/components/MessageBubble/MessageReaction.tsx +9 -4
  792. package/src/components/Modals/AddMembersModal/AddMembersModal.tsx +2 -2
  793. package/src/components/Modals/AttachSheet/AttachSheet.tsx +376 -106
  794. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +639 -283
  795. package/src/components/Modals/ChatProfileModal/DeleteChatModal.tsx +6 -4
  796. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +248 -0
  797. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +93 -47
  798. package/src/components/Modals/FilePreviewModal/PdfView.tsx +2 -1
  799. package/src/components/Modals/Modal/Modal.tsx +7 -0
  800. package/src/components/Modals/ModalHeaderComponent.tsx +9 -2
  801. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +14 -6
  802. package/src/components/Modals/NewChatModal/ModalContent.tsx +8 -5
  803. package/src/components/Modals/NewChatModal/NewChatModal.tsx +223 -119
  804. package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +12 -1
  805. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +624 -0
  806. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +224 -0
  807. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +16 -7
  808. package/src/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.tsx +8 -6
  809. package/src/components/Modals/SettingsModals/Referrals/Referrals.tsx +5 -3
  810. package/src/components/Modals/SettingsModals/SharedStyledComponents.ts +4 -4
  811. package/src/components/Modals/SettingsModals/Visibility/RadioInput.tsx +9 -5
  812. package/src/components/Modals/SettingsModals/Visibility/VisibilityModal.tsx +7 -7
  813. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +12 -26
  814. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +621 -307
  815. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +84 -58
  816. package/src/components/Modals/styledModalComponents.tsx +31 -16
  817. package/src/components/RoomComponents/ChatRoomItem.tsx +30 -6
  818. package/src/components/RoomComponents/styled/LastAudioMessage.tsx +4 -2
  819. package/src/components/RoomComponents/styled/LastMessageFile.tsx +28 -4
  820. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +18 -3
  821. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +18 -3
  822. package/src/components/RoomComponents/styled/StyledRoomComponents.ts +2 -0
  823. package/src/components/Thread/ThreadWrapper.tsx +6 -5
  824. package/src/components/Toast/Toast.tsx +1 -1
  825. package/src/components/VideoCalls/VideoCallSession.tsx +8 -3
  826. package/src/components/styled/AudioMessage.tsx +14 -10
  827. package/src/components/styled/Button.tsx +15 -8
  828. package/src/components/styled/DateLabel.tsx +7 -3
  829. package/src/components/styled/MediaModal.tsx +30 -25
  830. package/src/components/styled/MessageImage.tsx +53 -7
  831. package/src/components/styled/RoomListComponents/index.tsx +60 -35
  832. package/src/components/styled/SendInput.tsx +106 -20
  833. package/src/components/styled/StyledComponents.ts +38 -25
  834. package/src/components/styled/StyledInput.tsx +35 -21
  835. package/src/components/styled/StyledInputComponents/CustomTypingIndicator.tsx +8 -8
  836. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +20 -7
  837. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +26 -23
  838. package/src/components/styled/TreadLabel.tsx +9 -3
  839. package/src/components/styled/UnsupportedType.tsx +14 -4
  840. package/src/components/styled/VideoMessage.tsx +131 -54
  841. package/src/context/MessageNotificationContext.tsx +18 -4
  842. package/src/context/xmppProvider.tsx +216 -57
  843. package/src/helpers/createMessageFromXml.ts +20 -1
  844. package/src/helpers/ensureScopedChatCache.ts +2 -2
  845. package/src/helpers/getChatBackground.ts +20 -0
  846. package/src/helpers/getDateLabelColor.ts +5 -3
  847. package/src/helpers/getDisplayFileName.ts +87 -0
  848. package/src/helpers/getIconColor.ts +6 -3
  849. package/src/helpers/getSenderNameColor.ts +5 -3
  850. package/src/helpers/getServerReadTimestamp.ts +197 -0
  851. package/src/helpers/historyPreloadScheduler.ts +80 -3
  852. package/src/helpers/initXmppRooms.tsx +14 -10
  853. package/src/helpers/insertMessageWithDelimiter.ts +55 -19
  854. package/src/helpers/isOwnMessage.ts +90 -0
  855. package/src/helpers/keyboardLayout.ts +23 -2
  856. package/src/helpers/markdownParser.tsx +29 -5
  857. package/src/helpers/mediaLibraryRuntime.ts +25 -0
  858. package/src/helpers/mimeToExtension.ts +6 -22
  859. package/src/helpers/msgSortableMs.ts +25 -0
  860. package/src/helpers/parseMessageBody.tsx +79 -26
  861. package/src/helpers/persistCrypto.ts +127 -0
  862. package/src/helpers/pickImageAsset.ts +68 -0
  863. package/src/helpers/pushPayload.ts +62 -0
  864. package/src/helpers/resolveInitBeforeLoadUser.ts +125 -18
  865. package/src/helpers/secureFileUrl.ts +103 -0
  866. package/src/helpers/secureKeyValue.ts +80 -0
  867. package/src/helpers/secureStoreRuntime.ts +62 -0
  868. package/src/helpers/secureUserStorage.ts +80 -0
  869. package/src/helpers/shallowEqual.ts +33 -0
  870. package/src/helpers/sheetGestures.ts +25 -0
  871. package/src/hooks/useChatRoomFocus.ts +49 -9
  872. package/src/hooks/useChatWrapperInit.ts +30 -10
  873. package/src/hooks/useComposing.tsx +37 -1
  874. package/src/hooks/useCustomTypingIndicator.tsx +7 -3
  875. package/src/hooks/useFileToken.ts +7 -0
  876. package/src/hooks/useLogout.tsx +39 -12
  877. package/src/hooks/usePendingNotification.ts +5 -11
  878. package/src/hooks/useSendMessage.tsx +60 -15
  879. package/src/hooks/useTheme.ts +41 -0
  880. package/src/hooks/useUnreadMessagesCounter.ts +11 -0
  881. package/src/i18n/strings.ts +163 -37
  882. package/src/main.ts +57 -2
  883. package/src/networking/api-requests/auth.api.ts +156 -48
  884. package/src/networking/api-requests/push.api.ts +185 -62
  885. package/src/networking/api-requests/roomMembers.api.ts +1 -1
  886. package/src/networking/api-requests/rooms.api.ts +18 -9
  887. package/src/networking/api-requests/user.api.ts +79 -7
  888. package/src/networking/apiClient.ts +68 -123
  889. package/src/networking/authRefresh.ts +451 -0
  890. package/src/networking/stanzaHandlers.ts +44 -28
  891. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +71 -10
  892. package/src/networking/xmpp/presenceInRoom.xmpp.ts +6 -1
  893. package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +12 -1
  894. package/src/networking/xmppClient.ts +141 -9
  895. package/src/roomStore/chatSettingsSlice.ts +34 -10
  896. package/src/roomStore/index.ts +40 -4
  897. package/src/roomStore/persistence.ts +234 -24
  898. package/src/roomStore/roomsSlice.ts +161 -29
  899. package/src/services/pushRegistration.ts +356 -0
  900. package/src/services/pushSubscriptionService.ts +18 -47
  901. package/src/theme/index.ts +10 -0
  902. package/src/theme/styled.d.ts +9 -0
  903. package/src/theme/theme.ts +243 -0
  904. package/src/types/models/room.model.ts +1 -0
  905. package/src/types/types.ts +96 -5
  906. package/src/version.ts +1 -1
  907. package/lib/commonjs/context/PushNotificationProvider.js +0 -79
  908. package/lib/commonjs/context/PushNotificationProvider.js.map +0 -1
  909. package/lib/commonjs/hooks/usePushNotifications.js +0 -110
  910. package/lib/commonjs/hooks/usePushNotifications.js.map +0 -1
  911. package/lib/commonjs/services/pushNotifications.js +0 -143
  912. package/lib/commonjs/services/pushNotifications.js.map +0 -1
  913. package/lib/module/context/PushNotificationProvider.js +0 -79
  914. package/lib/module/context/PushNotificationProvider.js.map +0 -1
  915. package/lib/module/hooks/usePushNotifications.js +0 -106
  916. package/lib/module/hooks/usePushNotifications.js.map +0 -1
  917. package/lib/module/services/pushNotifications.js +0 -130
  918. package/lib/module/services/pushNotifications.js.map +0 -1
  919. package/lib/typescript/context/PushNotificationProvider.d.ts +0 -2
  920. package/lib/typescript/context/PushNotificationProvider.d.ts.map +0 -1
  921. package/lib/typescript/hooks/usePushNotifications.d.ts +0 -5
  922. package/lib/typescript/hooks/usePushNotifications.d.ts.map +0 -1
  923. package/lib/typescript/services/pushNotifications.d.ts +0 -10
  924. package/lib/typescript/services/pushNotifications.d.ts.map +0 -1
  925. package/src/context/PushNotificationProvider.tsx +0 -78
  926. package/src/hooks/usePushNotifications.ts +0 -131
  927. package/src/services/pushNotifications.ts +0 -170
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","Pressable","Linking","Platform","ScrollView","jsx","_jsx","jsxs","_jsxs","elementKeyCounter","decodeHTMLEntities","text","entities","replace","m","styles","bold","fontWeight","italic","fontStyle","strike","textDecorationLine","link","color","codeInlineBox","backgroundColor","borderRadius","paddingVertical","paddingHorizontal","codeInlineText","fontFamily","select","ios","android","fontSize","codeBlock","padding","borderWidth","borderColor","marginVertical","codeBlockText","lineHeight","h","marginTop","marginBottom","quote","borderLeftWidth","borderLeftColor","paddingLeft","paragraph","hr","height","listItemRow","flexDirection","alignItems","listMarker","minWidth","paddingTop","checkboxRow","checkboxBox","width","marginRight","justifyContent","checkboxTick","tableContainer","tableInner","overflow","tableRow","th","flex","borderRightWidth","borderRightColor","td","borderTopWidth","borderTopColor","lastCell","cellText","renderTextWithLinks","urlRegex","nodes","lastIndex","match","exec","url","start","index","push","slice","onPress","openURL","children","style","length","parseInline","txt","elements","remaining","pattern","fullMatch","matchIndex","delimiter","content","substring","isTableSeparatorLine","line","trimmed","trim","test","includes","parseTableRow","decodedLine","cleaned","cells","split","map","c","renderMarkdownTableRN","headers","separator","dataRows","aligns","_","idx","seg","left","startsWith","right","endsWith","horizontal","bounces","showsHorizontalScrollIndicator","cIdx","textAlign","row","rIdx","cell","parseMessageBody","baseStyle","lines","listBuffer","inCodeBlock","codeLang","codeLines","flushList","renderListItems","items","depth","result","i","item","subItems","j","nested","contentEl","type","checked","marginLeft","listContent","trimmedLine","selectable","join","headingMatch","level","Math","min","max","separatorIndex","rows","headerCount","sep","current","nextLine","rowCells","listMatch","leadingSpace","checkboxPart","floor","toLowerCase","bulletMatch"],"sourceRoot":"../../../src","sources":["helpers/parseMessageBody.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,IAAI,EACJC,IAAI,EACJC,SAAS,EACTC,OAAO,EACPC,QAAQ,EACRC,UAAU,QAIL,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtB,IAAIC,iBAAiB,GAAG,CAAC;AAEzB,OAAO,MAAMC,kBAAkB,GAAIC,IAAY,IAAK;EAClD,MAAMC,QAAgC,GAAG;IACvC,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,GAAG;IACf,SAAS,EAAE;EACb,CAAC;EACD,OAAOD,IAAI,CAACE,OAAO,CAAC,kBAAkB,EAAGC,CAAC,IAAKF,QAAQ,CAACE,CAAC,CAAC,IAAIA,CAAC,CAAC;AAClE,CAAC;AAED,MAAMC,MAAM,GAAG;EACbC,IAAI,EAAE;IAAEC,UAAU,EAAE;EAAgB,CAAC;EACrCC,MAAM,EAAE;IAAEC,SAAS,EAAE;EAAkB,CAAC;EACxCC,MAAM,EAAE;IAAEC,kBAAkB,EAAE;EAAwB,CAAC;EACvDC,IAAI,EAAE;IAAEC,KAAK,EAAE,SAAS;IAAEF,kBAAkB,EAAE;EAAqB,CAAC;EAEpEG,aAAa,EAAE;IACbC,eAAe,EAAE,SAAS;IAC1BC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDC,cAAc,EAAE;IACdC,UAAU,EAAE3B,QAAQ,CAAC4B,MAAM,CAAC;MAAEC,GAAG,EAAE,OAAO;MAAEC,OAAO,EAAE;IAAY,CAAC,CAAC;IACnEC,QAAQ,EAAE,EAAE;IACZX,KAAK,EAAE;EACT,CAAC;EAEDY,SAAS,EAAE;IACTV,eAAe,EAAE,SAAS;IAC1BW,OAAO,EAAE,EAAE;IACXV,YAAY,EAAE,CAAC;IACfW,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,SAAS;IACtBC,cAAc,EAAE;EAClB,CAAU;EACVC,aAAa,EAAE;IACbV,UAAU,EAAE3B,QAAQ,CAAC4B,MAAM,CAAC;MAAEC,GAAG,EAAE,OAAO;MAAEC,OAAO,EAAE;IAAY,CAAC,CAAC;IACnEC,QAAQ,EAAE,EAAE;IACZX,KAAK,EAAE,SAAS;IAChBkB,UAAU,EAAE;EACd,CAAC;EAEDC,CAAC,EAAE,CACD;IAAEzB,UAAU,EAAE,MAAe;IAAEiB,QAAQ,EAAE,EAAE;IAAES,SAAS,EAAE,EAAE;IAAEC,YAAY,EAAE;EAAG,CAAC,EAC9E;IAAE3B,UAAU,EAAE,MAAe;IAAEiB,QAAQ,EAAE,EAAE;IAAES,SAAS,EAAE,EAAE;IAAEC,YAAY,EAAE;EAAG,CAAC,EAC9E;IAAE3B,UAAU,EAAE,MAAe;IAAEiB,QAAQ,EAAE,EAAE;IAAES,SAAS,EAAE,EAAE;IAAEC,YAAY,EAAE;EAAG,CAAC,EAC9E;IAAE3B,UAAU,EAAE,MAAe;IAAEiB,QAAQ,EAAE,EAAE;IAAES,SAAS,EAAE,EAAE;IAAEC,YAAY,EAAE;EAAG,CAAC,EAC9E;IAAE3B,UAAU,EAAE,MAAe;IAAEiB,QAAQ,EAAE,EAAE;IAAES,SAAS,EAAE,EAAE;IAAEC,YAAY,EAAE;EAAE,CAAC,EAC7E;IAAE3B,UAAU,EAAE,MAAe;IAAEiB,QAAQ,EAAE,EAAE;IAAES,SAAS,EAAE,EAAE;IAAEC,YAAY,EAAE;EAAE,CAAC,CAC9E;EAEDC,KAAK,EAAE;IACLC,eAAe,EAAE,CAAC;IAClBC,eAAe,EAAE,MAAM;IACvBC,WAAW,EAAE,EAAE;IACfT,cAAc,EAAE;EAClB,CAAC;EAEDU,SAAS,EAAE;IAAEV,cAAc,EAAE;EAAE,CAAC;EAEhCW,EAAE,EAAE;IAAEC,MAAM,EAAE,CAAC;IAAE1B,eAAe,EAAE,SAAS;IAAEc,cAAc,EAAE;EAAG,CAAC;EAEjEa,WAAW,EAAE;IAAEC,aAAa,EAAE,KAAc;IAAEC,UAAU,EAAE;EAAsB,CAAC;EACjFC,UAAU,EAAE;IAAEC,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAE,CAAC;EAE3CC,WAAW,EAAE;IAAEL,aAAa,EAAE,KAAc;IAAEC,UAAU,EAAE;EAAsB,CAAC;EACjFK,WAAW,EAAE;IACXC,KAAK,EAAE,EAAE;IACTT,MAAM,EAAE,EAAE;IACVU,WAAW,EAAE,CAAC;IACdlB,SAAS,EAAE,CAAC;IACZjB,YAAY,EAAE,CAAC;IACfW,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,MAAM;IACnBb,eAAe,EAAE,MAAM;IACvB6B,UAAU,EAAE,QAAiB;IAC7BQ,cAAc,EAAE;EAClB,CAAC;EACDC,YAAY,EAAE;IAAE7B,QAAQ,EAAE,EAAE;IAAEX,KAAK,EAAE;EAAU,CAAC;EAEhDyC,cAAc,EAAE;IAAEzB,cAAc,EAAE;EAAG,CAAyB;EAC9D0B,UAAU,EAAE;IACV5B,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,SAAS;IACtBZ,YAAY,EAAE,CAAC;IACfwC,QAAQ,EAAE,QAAiB;IAC3BzC,eAAe,EAAE;EACnB,CAAC;EACD0C,QAAQ,EAAE;IAAEd,aAAa,EAAE;EAAe,CAAC;EAC3Ce,EAAE,EAAE;IACFC,IAAI,EAAE,CAAC;IACP1C,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBH,eAAe,EAAE,SAAS;IAC1B6C,gBAAgB,EAAE,CAAC;IACnBC,gBAAgB,EAAE;EACpB,CAAC;EACDC,EAAE,EAAE;IACFH,IAAI,EAAE,CAAC;IACP1C,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrB6C,cAAc,EAAE,CAAC;IACjBC,cAAc,EAAE,SAAS;IACzBJ,gBAAgB,EAAE,CAAC;IACnBC,gBAAgB,EAAE;EACpB,CAAC;EACDI,QAAQ,EAAE;IAAEL,gBAAgB,EAAE;EAAE,CAAC;EACjCM,QAAQ,EAAE;IAAErD,KAAK,EAAE,SAAS;IAAEW,QAAQ,EAAE,EAAE;IAAEO,UAAU,EAAE;EAAG;AAC7D,CAAC;AAED,MAAMoC,mBAAmB,GAAIlE,IAAY,IAAK;EAC5C,MAAMmE,QAAQ,GACZ,wEAAwE;EAC1E,MAAMC,KAAkC,GAAG,EAAE;EAC7C,IAAIC,SAAS,GAAG,CAAC;EAEjB,IAAI,CAACrE,IAAI,EAAE;IAAC,OAAOoE,KAAK;EAAC;EAEzB,IAAIE,KAA6B;EACjC,OAAO,CAACA,KAAK,GAAGH,QAAQ,CAACI,IAAI,CAACvE,IAAI,CAAC,MAAM,IAAI,EAAE;IAC7C,MAAMwE,GAAG,GAAGF,KAAK,CAAC,CAAC,CAAC;IACpB,MAAMG,KAAK,GAAGH,KAAK,CAACI,KAAK;IAEzB,IAAID,KAAK,GAAGJ,SAAS,EAAE;MAACD,KAAK,CAACO,IAAI,CAAC3E,IAAI,CAAC4E,KAAK,CAACP,SAAS,EAAEI,KAAK,CAAC,CAAC;IAAC;IAEjEL,KAAK,CAACO,IAAI,cACRhF,IAAA,CAACL,SAAS;MAAqCuF,OAAO,EAAEA,CAAA,KAAMtF,OAAO,CAACuF,OAAO,CAACN,GAAG,CAAE;MAAAO,QAAA,eACjFpF,IAAA,CAACP,IAAI;QAAC4F,KAAK,EAAE5E,MAAM,CAACO,IAAK;QAAAoE,QAAA,EAAEP;MAAG,CAAO;IAAC,GADxB,QAAQ1E,iBAAiB,EAAE,EAEhC,CACb,CAAC;IAEDuE,SAAS,GAAGI,KAAK,GAAGD,GAAG,CAACS,MAAM;EAChC;EAEA,IAAIZ,SAAS,GAAGrE,IAAI,CAACiF,MAAM,EAAE;IAACb,KAAK,CAACO,IAAI,CAAC3E,IAAI,CAAC4E,KAAK,CAACP,SAAS,CAAC,CAAC;EAAC;EAChE,OAAOD,KAAK;AACd,CAAC;AAED,MAAMc,WAAW,GAAIC,GAAW,IAA+B;EAC7D,MAAMC,QAAkC,GAAG,EAAE;EAC7C,IAAIC,SAAS,GAAGtF,kBAAkB,CAACoF,GAAG,CAAC;EAEvC,MAAMG,OAAO,GAAG,2BAA2B;EAE3C,OAAOD,SAAS,CAACJ,MAAM,GAAG,CAAC,EAAE;IAC3B,MAAMX,KAAK,GAAGe,SAAS,CAACf,KAAK,CAACgB,OAAO,CAAC;IACtC,IAAI,CAAChB,KAAK,EAAE;MACVc,QAAQ,CAACT,IAAI,CAAC,GAAGT,mBAAmB,CAACmB,SAAS,CAAC,CAAC;MAChD;IACF;IAEA,MAAME,SAAS,GAAGjB,KAAK,CAAC,CAAC,CAAC;IAC1B,MAAMkB,UAAU,GAAGlB,KAAK,CAACI,KAAK,IAAI,CAAC;IACnC,MAAMe,SAAS,GAAGnB,KAAK,CAAC,CAAC,CAAC;IAC1B,MAAMoB,OAAO,GAAGpB,KAAK,CAAC,CAAC,CAAC;IAExB,IAAIkB,UAAU,GAAG,CAAC,EAAE;MAClBJ,QAAQ,CAACT,IAAI,CAAC,GAAGT,mBAAmB,CAACmB,SAAS,CAACM,SAAS,CAAC,CAAC,EAAEH,UAAU,CAAC,CAAC,CAAC;IAC3E;IAEA,IAAIC,SAAS,KAAK,GAAG,EAAE;MACrBL,QAAQ,CAACT,IAAI,cACXhF,IAAA,CAACN,IAAI;QAAqC2F,KAAK,EAAE5E,MAAM,CAACS,aAAc;QAAAkE,QAAA,eACpEpF,IAAA,CAACP,IAAI;UAAC4F,KAAK,EAAE5E,MAAM,CAACc,cAAe;UAAA6D,QAAA,EAAEW;QAAO,CAAO;MAAC,GAD3C,QAAQ5F,iBAAiB,EAAE,EAEhC,CACR,CAAC;IACH,CAAC,MAAM,IAAI2F,SAAS,KAAK,KAAK,EAAE;MAC9BL,QAAQ,CAACT,IAAI,cACXhF,IAAA,CAACP,IAAI;QAAmC4F,KAAK,EAAE5E,MAAM,CAACC,IAAK;QAAA0E,QAAA,eACzDpF,IAAA,CAACP,IAAI;UAAkC4F,KAAK,EAAE5E,MAAM,CAACG,MAAO;UAAAwE,QAAA,EACzDG,WAAW,CAACQ,OAAO;QAAC,GADZ,KAAK5F,iBAAiB,EAAE,EAE7B;MAAC,GAHE,MAAMA,iBAAiB,EAAE,EAI9B,CACR,CAAC;IACH,CAAC,MAAM,IAAI2F,SAAS,KAAK,IAAI,EAAE;MAC7BL,QAAQ,CAACT,IAAI,cACXhF,IAAA,CAACP,IAAI;QAAkC4F,KAAK,EAAE5E,MAAM,CAACC,IAAK;QAAA0E,QAAA,EACvDG,WAAW,CAACQ,OAAO;MAAC,GADZ,KAAK5F,iBAAiB,EAAE,EAE7B,CACR,CAAC;IACH,CAAC,MAAM,IAAI2F,SAAS,KAAK,GAAG,EAAE;MAC5BL,QAAQ,CAACT,IAAI,cACXhF,IAAA,CAACP,IAAI;QAAkC4F,KAAK,EAAE5E,MAAM,CAACG,MAAO;QAAAwE,QAAA,EACzDG,WAAW,CAACQ,OAAO;MAAC,GADZ,KAAK5F,iBAAiB,EAAE,EAE7B,CACR,CAAC;IACH;IAEAuF,SAAS,GAAGA,SAAS,CAACM,SAAS,CAACH,UAAU,GAAGD,SAAS,CAACN,MAAM,CAAC;EAChE;EAEA,OAAOG,QAAQ;AACjB,CAAC;AAED,MAAMQ,oBAAoB,GAAIC,IAAY,IAAK;EAC7C,MAAMC,OAAO,GAAGD,IAAI,CAACE,IAAI,CAAC,CAAC;EAC3B,OACE,sCAAsC,CAACC,IAAI,CAACF,OAAO,CAAC,IAAIA,OAAO,CAACG,QAAQ,CAAC,GAAG,CAAC;AAEjF,CAAC;AAED,MAAMC,aAAa,GAAIL,IAAY,IAAK;EACtC,MAAMM,WAAW,GAAGpG,kBAAkB,CAAC8F,IAAI,CAACE,IAAI,CAAC,CAAC,CAAC,CAAC7F,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;EAC3E,MAAMkG,OAAO,GAAGD,WAAW,CAACjG,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;EACnD,MAAMmG,KAAK,GAAGD,OAAO,CAClBE,KAAK,CAAC,WAAW,CAAC,CAClBC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACtG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC6F,IAAI,CAAC,CAAC,CAAC;EAC7C,OAAOM,KAAK,CAACpB,MAAM,GAAG,CAAC,GAAGoB,KAAK,GAAG,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,MAAMI,qBAAqB,GAAGA,CAC5BC,OAAiB,EACjBC,SAAmB,EACnBC,QAAoB,KACjB;EACH,MAAMC,MAA0C,GAAGH,OAAO,CAACH,GAAG,CAAC,CAACO,CAAC,EAAEC,GAAG,KAAK;IACzE,MAAMC,GAAG,GAAG,CAACL,SAAS,CAACI,GAAG,CAAC,IAAI,EAAE,EAAEhB,IAAI,CAAC,CAAC;IACzC,MAAMkB,IAAI,GAAGD,GAAG,CAACE,UAAU,CAAC,GAAG,CAAC;IAChC,MAAMC,KAAK,GAAGH,GAAG,CAACI,QAAQ,CAAC,GAAG,CAAC;IAC/B,IAAIH,IAAI,IAAIE,KAAK,EAAE;MAAC,OAAO,QAAQ;IAAC;IACpC,IAAIA,KAAK,EAAE;MAAC,OAAO,OAAO;IAAC;IAC3B,OAAO,MAAM;EACf,CAAC,CAAC;EAEF,oBACExH,IAAA,CAACF,UAAU;IAET4H,UAAU;IACVC,OAAO,EAAE,KAAM;IACfC,8BAA8B,EAAE,KAAM;IACtCvC,KAAK,EAAE5E,MAAM,CAACiD,cAAe;IAAA0B,QAAA,eAE7BlF,KAAA,CAACR,IAAI;MAAC2F,KAAK,EAAE5E,MAAM,CAACkD,UAAW;MAAAyB,QAAA,gBAC7BpF,IAAA,CAACN,IAAI;QAAC2F,KAAK,EAAE5E,MAAM,CAACoD,QAAS;QAAAuB,QAAA,EAC1B2B,OAAO,CAACH,GAAG,CAAC,CAACxE,CAAC,EAAEyF,IAAI,kBACnB7H,IAAA,CAACN,IAAI;UAEH2F,KAAK,EAAE,CAAC5E,MAAM,CAACqD,EAAE,EAAE+D,IAAI,KAAKd,OAAO,CAACzB,MAAM,GAAG,CAAC,IAAI7E,MAAM,CAAC4D,QAAQ,CAAE;UAAAe,QAAA,eAEnEpF,IAAA,CAACP,IAAI;YACH4F,KAAK,EAAE,CACL5E,MAAM,CAAC6D,QAAQ,EACf;cAAE3D,UAAU,EAAE,KAAK;cAAEmH,SAAS,EAAEZ,MAAM,CAACW,IAAI;YAAE,CAAC,CAC9C;YAAAzC,QAAA,EAEDG,WAAW,CAACnD,CAAC;UAAC,CACX;QAAC,GAVF,MAAMjC,iBAAiB,EAAE,IAAI0H,IAAI,EAWlC,CACP;MAAC,CACE,CAAC,EAENZ,QAAQ,CAACL,GAAG,CAAC,CAACmB,GAAG,EAAEC,IAAI,kBACtBhI,IAAA,CAACN,IAAI;QAA2C2F,KAAK,EAAE5E,MAAM,CAACoD,QAAS;QAAAuB,QAAA,EACpE2B,OAAO,CAACH,GAAG,CAAC,CAACO,CAAC,EAAEU,IAAI,KAAK;UACxB,MAAMI,IAAI,GAAGF,GAAG,CAACF,IAAI,CAAC,IAAI,EAAE;UAC5B,oBACE7H,IAAA,CAACN,IAAI;YAEH2F,KAAK,EAAE,CAAC5E,MAAM,CAACyD,EAAE,EAAE2D,IAAI,KAAKd,OAAO,CAACzB,MAAM,GAAG,CAAC,IAAI7E,MAAM,CAAC4D,QAAQ,CAAE;YAAAe,QAAA,eAEnEpF,IAAA,CAACP,IAAI;cAAC4F,KAAK,EAAE,CAAC5E,MAAM,CAAC6D,QAAQ,EAAE;gBAAEwD,SAAS,EAAEZ,MAAM,CAACW,IAAI;cAAE,CAAC,CAAE;cAAAzC,QAAA,EACzDG,WAAW,CAAC0C,IAAI;YAAC,CACd;UAAC,GALF,MAAM9H,iBAAiB,EAAE,IAAI0H,IAAI,EAMlC,CAAC;QAEX,CAAC;MAAC,GAbO,MAAM1H,iBAAiB,EAAE,IAAI6H,IAAI,EActC,CACP,CAAC;IAAA,CACE;EAAC,GA1CF,SAAS7H,iBAAiB,EAAE,EA2CvB,CAAC;AAEjB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM+H,gBAAgB,GAAGA,CAC9B7H,IAAY,EACZ8H,SAAqB,KACL;EAChB,IAAI,OAAO9H,IAAI,KAAK,QAAQ,EAAE;IAC5B,oBAAOL,IAAA,CAACN,IAAI,IAAE,CAAC;EACjB;EAEA,MAAM0I,KAAK,GAAG/H,IAAI,CAACsG,KAAK,CAAC,IAAI,CAAC;EAC9B,MAAMlB,QAAuB,GAAG,EAAE;EAClCtF,iBAAiB,GAAG,CAAC;EAErB,IAAIkI,UAKF,GAAG,EAAE;EAEP,IAAIC,WAAW,GAAG,KAAK;EACvB,IAAIC,QAAQ,GAAG,EAAE;EACjB,IAAIC,SAAmB,GAAG,EAAE;EAE5B,MAAMC,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAIJ,UAAU,CAAC/C,MAAM,KAAK,CAAC,EAAE;MAAC;IAAO;IAErC,MAAMoD,eAAe,GAAGA,CAACC,KAAwB,EAAEC,KAAa,KAAoB;MAClF,MAAMC,MAAqB,GAAG,EAAE;MAChC,IAAIC,CAAC,GAAG,CAAC;MAET,OAAOA,CAAC,GAAGH,KAAK,CAACrD,MAAM,EAAE;QACvB,MAAMyD,IAAI,GAAGJ,KAAK,CAACG,CAAC,CAAC;QAErB,IAAIC,IAAI,CAACH,KAAK,KAAKA,KAAK,EAAE;UACxB,MAAMI,QAA2B,GAAG,EAAE;UACtC,IAAIC,CAAC,GAAGH,CAAC,GAAG,CAAC;UACb,OAAOG,CAAC,GAAGN,KAAK,CAACrD,MAAM,IAAIqD,KAAK,CAACM,CAAC,CAAC,CAACL,KAAK,GAAGA,KAAK,EAAE;YACjDI,QAAQ,CAAChE,IAAI,CAAC2D,KAAK,CAACM,CAAC,CAAC,CAAC;YACvBA,CAAC,EAAE;UACL;UAEA,MAAMC,MAAM,GAAGF,QAAQ,CAAC1D,MAAM,GAAG,CAAC,GAAGoD,eAAe,CAACM,QAAQ,EAAEJ,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI;UAEhF,IAAIO,SAAsB;UAC1B,IAAIJ,IAAI,CAACK,IAAI,KAAK,UAAU,EAAE;YAC5BD,SAAS,gBACPjJ,KAAA,CAACR,IAAI;cAAyC2F,KAAK,EAAE5E,MAAM,CAAC2C,WAAY;cAAAgC,QAAA,gBACtEpF,IAAA,CAACN,IAAI;gBAAC2F,KAAK,EAAE,CAAC5E,MAAM,CAAC4C,WAAW,EAAE0F,IAAI,CAACM,OAAO,IAAI;kBAAElI,eAAe,EAAE,SAAS;kBAAEa,WAAW,EAAE;gBAAU,CAAC,CAAE;gBAAAoD,QAAA,EACvG2D,IAAI,CAACM,OAAO,gBAAGrJ,IAAA,CAACP,IAAI;kBAAC4F,KAAK,EAAE5E,MAAM,CAACgD,YAAa;kBAAA2B,QAAA,EAAC;gBAAC,CAAM,CAAC,GAAG;cAAI,CAC7D,CAAC,eACPpF,IAAA,CAACP,IAAI;gBAAC4F,KAAK,EAAE,CAAC;kBAAEtB,IAAI,EAAE;gBAAE,CAAC,EAAEoE,SAAS,CAAE;gBAAA/C,QAAA,EAAEG,WAAW,CAACwD,IAAI,CAAChD,OAAO;cAAC,CAAO,CAAC;YAAA,GAJhE,YAAY5F,iBAAiB,EAAE,EAKpC,CACP;UACH,CAAC,MAAM;YACLgJ,SAAS,gBACPjJ,KAAA,CAACR,IAAI;cAAuC2F,KAAK,EAAE5E,MAAM,CAACqC,WAAY;cAAAsC,QAAA,gBACpEpF,IAAA,CAACP,IAAI;gBAAC4F,KAAK,EAAE5E,MAAM,CAACwC,UAAW;gBAAAmC,QAAA,EAAE;cAAQ,CAAO,CAAC,eACjDpF,IAAA,CAACP,IAAI;gBAAC4F,KAAK,EAAE,CAAC;kBAAEtB,IAAI,EAAE;gBAAE,CAAC,EAAEoE,SAAS,CAAE;gBAAA/C,QAAA,EAAEG,WAAW,CAACwD,IAAI,CAAChD,OAAO;cAAC,CAAO,CAAC;YAAA,GAFhE,UAAU5F,iBAAiB,EAAE,EAGlC,CACP;UACH;UAEA0I,MAAM,CAAC7D,IAAI,cACT9E,KAAA,CAACR,IAAI;YAAuC2F,KAAK,EAAE;cAAE/C,YAAY,EAAE,CAAC;cAAEgH,UAAU,EAAEV,KAAK,GAAG;YAAG,CAAE;YAAAxD,QAAA,GAC5F+D,SAAS,EACTD,MAAM;UAAA,GAFE,UAAU/I,iBAAiB,EAAE,EAGlC,CACR,CAAC;UACD2I,CAAC,GAAGG,CAAC;QACP,CAAC,MAAM;UACLH,CAAC,EAAE;QACL;MACF;MACA,OAAOD,MAAM;IACf,CAAC;IAED,MAAMU,WAAW,GAAGb,eAAe,CAACL,UAAU,EAAE,CAAC,CAAC;IAClD5C,QAAQ,CAACT,IAAI,cACXhF,IAAA,CAACN,IAAI;MAAqC2F,KAAK,EAAE;QAAEpD,cAAc,EAAE;MAAE,CAAE;MAAAmD,QAAA,EACpEmE;IAAW,GADH,QAAQpJ,iBAAiB,EAAE,EAEhC,CACR,CAAC;IAEDkI,UAAU,GAAG,EAAE;EACjB,CAAC;EAED,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,KAAK,CAAC9C,MAAM,EAAEwD,CAAC,EAAE,EAAE;IACrC,MAAM5C,IAAI,GAAGkC,KAAK,CAACU,CAAC,CAAC;IACrB,MAAMU,WAAW,GAAGtD,IAAI,CAACE,IAAI,CAAC,CAAC;IAE/B,IAAIoD,WAAW,CAACjC,UAAU,CAAC,KAAK,CAAC,EAAE;MACjCkB,SAAS,CAAC,CAAC;MACXH,WAAW,GAAG,CAACA,WAAW;MAC1B,IAAI,CAACA,WAAW,EAAE;QAChB7C,QAAQ,CAACT,IAAI,cACXhF,IAAA,CAACN,IAAI;UAAoC2F,KAAK,EAAE5E,MAAM,CAACoB,SAAU;UAAAuD,QAAA,eAC/DpF,IAAA,CAACP,IAAI;YAAC4F,KAAK,EAAE5E,MAAM,CAACyB,aAAc;YAACuH,UAAU;YAAArE,QAAA,EAC1CoD,SAAS,CAACkB,IAAI,CAAC,IAAI;UAAC,CACjB;QAAC,GAHE,OAAOvJ,iBAAiB,EAAE,EAI/B,CACR,CAAC;QACDoI,QAAQ,GAAG,EAAE;MACf,CAAC,MAAM;QACLA,QAAQ,GAAGiB,WAAW,CAACvE,KAAK,CAAC,CAAC,CAAC,CAACmB,IAAI,CAAC,CAAC;QACtCoC,SAAS,GAAG,EAAE;MAChB;MACA;IACF;IACA,IAAIF,WAAW,EAAE;MACfE,SAAS,CAACxD,IAAI,CAACkB,IAAI,CAAC;MACpB;IACF;IAEA,MAAMyD,YAAY,GAAGH,WAAW,CAAC7E,KAAK,CAAC,kBAAkB,CAAC;IAC1D,IAAIgF,YAAY,EAAE;MAChBlB,SAAS,CAAC,CAAC;MACX,MAAMmB,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEJ,YAAY,CAAC,CAAC,CAAC,CAACrE,MAAM,CAAC,CAAC;MAC9D,MAAMS,OAAO,GAAG4D,YAAY,CAAC,CAAC,CAAC;MAC/BlE,QAAQ,CAACT,IAAI,cACXhF,IAAA,CAACP,IAAI;QAAkC4F,KAAK,EAAE5E,MAAM,CAAC2B,CAAC,CAACwH,KAAK,GAAG,CAAC,CAAE;QAAAxE,QAAA,EAC/DG,WAAW,CAACQ,OAAO;MAAC,GADZ,KAAK5F,iBAAiB,EAAE,EAE7B,CACR,CAAC;MACD;IACF;IAEA,IAAI,kBAAkB,CAACkG,IAAI,CAACmD,WAAW,CAAC,EAAE;MACxCf,SAAS,CAAC,CAAC;MACXhD,QAAQ,CAACT,IAAI,cAAChF,IAAA,CAACN,IAAI;QAAmC2F,KAAK,EAAE5E,MAAM,CAACmC;MAAG,GAA9C,MAAMzC,iBAAiB,EAAE,EAAuB,CAAC,CAAC;MAC3E;IACF;IAEA,IACEqJ,WAAW,CAAClD,QAAQ,CAAC,GAAG,CAAC,IACzBkD,WAAW,KAAK,EAAE,IAClB,CAACvD,oBAAoB,CAACuD,WAAW,CAAC,IAClC,CAACA,WAAW,CAAC7E,KAAK,CAAC,qBAAqB,CAAC,EACzC;MACA,IAAIqF,cAAc,GAAGlB,CAAC,GAAG,CAAC;MAC1B,OAAOkB,cAAc,GAAG5B,KAAK,CAAC9C,MAAM,IAAI8C,KAAK,CAAC4B,cAAc,CAAC,CAAC5D,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3E4D,cAAc,EAAE;MAClB;MAEA,IAAIA,cAAc,GAAG5B,KAAK,CAAC9C,MAAM,IAAIW,oBAAoB,CAACmC,KAAK,CAAC4B,cAAc,CAAC,CAAC5D,IAAI,CAAC,CAAC,CAAC,EAAE;QACvFqC,SAAS,CAAC,CAAC;QAEX,MAAMwB,IAAgB,GAAG,EAAE;QAC3B,MAAMlD,OAAO,GAAGR,aAAa,CAACiD,WAAW,CAAC;QAC1C,MAAMU,WAAW,GAAGnD,OAAO,CAACzB,MAAM;QAClC2E,IAAI,CAACjF,IAAI,CAAC+B,OAAO,CAAC;QAElB,MAAMoD,GAAG,GAAG5D,aAAa,CAAC6B,KAAK,CAAC4B,cAAc,CAAC,CAAC5D,IAAI,CAAC,CAAC,CAAC;QAEvD,IAAIgE,OAAO,GAAGJ,cAAc,GAAG,CAAC;QAChC,OAAOI,OAAO,GAAGhC,KAAK,CAAC9C,MAAM,EAAE;UAC7B,MAAM+E,QAAQ,GAAGjC,KAAK,CAACgC,OAAO,CAAC,CAAChE,IAAI,CAAC,CAAC;UACtC,IAAIiE,QAAQ,KAAK,EAAE,EAAE;YACnBD,OAAO,EAAE;YACT;UACF;UACA,IACEC,QAAQ,CAAC/D,QAAQ,CAAC,GAAG,CAAC,IACtB,CAACL,oBAAoB,CAACoE,QAAQ,CAAC,IAC/B,CAACA,QAAQ,CAAC1F,KAAK,CAAC,qBAAqB,CAAC,EACtC;YACA,IAAI2F,QAAQ,GAAG/D,aAAa,CAAC8D,QAAQ,CAAC;YACtC,OAAOC,QAAQ,CAAChF,MAAM,GAAG4E,WAAW,EAAE;cAACI,QAAQ,CAACtF,IAAI,CAAC,EAAE,CAAC;YAAC;YACzDsF,QAAQ,GAAGA,QAAQ,CAACrF,KAAK,CAAC,CAAC,EAAEiF,WAAW,CAAC;YACzCD,IAAI,CAACjF,IAAI,CAACsF,QAAQ,CAAC;YACnBF,OAAO,EAAE;UACX,CAAC,MAAM;YACL;UACF;QACF;QAEA,MAAMnD,QAAQ,GAAGgD,IAAI,CAAChF,KAAK,CAAC,CAAC,CAAC;QAC9BQ,QAAQ,CAACT,IAAI,CAAC8B,qBAAqB,CAACC,OAAO,EAAEoD,GAAG,EAAElD,QAAQ,CAAC,CAAC;QAC5D6B,CAAC,GAAGsB,OAAO,GAAG,CAAC;QACf;MACF;IACF;IAEA,MAAMG,SAAS,GAAGrE,IAAI,CAACvB,KAAK,CAAC,0CAA0C,CAAC;IACxE,IAAI4F,SAAS,EAAE;MACb,MAAMC,YAAY,GAAGD,SAAS,CAAC,CAAC,CAAC;MACjC,MAAME,YAAY,GAAGF,SAAS,CAAC,CAAC,CAAC;MACjC,MAAMxE,OAAO,GAAGwE,SAAS,CAAC,CAAC,CAAC;MAC5B,MAAM3B,KAAK,GAAGiB,IAAI,CAACa,KAAK,CAACF,YAAY,CAAClF,MAAM,GAAG,CAAC,CAAC;MACjD,MAAM+D,OAAO,GAAGoB,YAAY,CAACE,WAAW,CAAC,CAAC,KAAK,KAAK;MACpDtC,UAAU,CAACrD,IAAI,CAAC;QAAEoE,IAAI,EAAE,UAAU;QAAErD,OAAO,EAAE3F,kBAAkB,CAAC2F,OAAO,CAAC;QAAE6C,KAAK;QAAES;MAAQ,CAAC,CAAC;MAC3F;IACF;IAEA,MAAMuB,WAAW,GAAG1E,IAAI,CAACvB,KAAK,CAAC,sBAAsB,CAAC;IACtD,IAAIiG,WAAW,IAAIA,WAAW,CAAC,CAAC,CAAC,CAACxE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;MAC/C,MAAMwC,KAAK,GAAGiB,IAAI,CAACa,KAAK,CAACE,WAAW,CAAC,CAAC,CAAC,CAACtF,MAAM,GAAG,CAAC,CAAC;MACnD+C,UAAU,CAACrD,IAAI,CAAC;QAAEoE,IAAI,EAAE,IAAI;QAAErD,OAAO,EAAE3F,kBAAkB,CAACwK,WAAW,CAAC,CAAC,CAAC,CAAC;QAAEhC;MAAM,CAAC,CAAC;MACnF;IACF;IAEA,IAAIY,WAAW,KAAK,EAAE,EAAE;MACtBf,SAAS,CAAC,CAAC;MACXhD,QAAQ,CAACT,IAAI,cACXhF,IAAA,CAACN,IAAI;QAAkC2F,KAAK,EAAE5E,MAAM,CAACkC,SAAU;QAAAyC,QAAA,eAC7DpF,IAAA,CAACP,IAAI;UAAC4F,KAAK,EAAE8C,SAAU;UAAA/C,QAAA,EAAEG,WAAW,CAACiE,WAAW;QAAC,CAAO;MAAC,GADhD,KAAKrJ,iBAAiB,EAAE,EAE7B,CACR,CAAC;IACH,CAAC,MAAM;MACLsI,SAAS,CAAC,CAAC;IACb;EACF;EAEAA,SAAS,CAAC,CAAC;EAEX,oBACEzI,IAAA,CAACN,IAAI;IACH2F,KAAK,EAAE,CACP,CAAE;IAAAD,QAAA,EAEDK;EAAQ,CACL,CAAC;AAEX,CAAC;AAED,eAAeyC,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","Pressable","Linking","Platform","ScrollView","jsx","_jsx","jsxs","_jsxs","elementKeyCounter","DEFAULT_BODY_COLORS","primary","text","surface","surfaceSecondary","surfaceHighlight","border","decodeHTMLEntities","entities","replace","m","buildStyles","c","themed","bold","fontWeight","italic","fontStyle","strike","textDecorationLine","link","color","codeInlineBox","backgroundColor","borderRadius","paddingVertical","paddingHorizontal","codeInlineText","fontFamily","select","ios","android","fontSize","codeBlock","padding","borderWidth","borderColor","marginVertical","codeBlockText","lineHeight","h","marginTop","marginBottom","quote","borderLeftWidth","borderLeftColor","paddingLeft","paragraph","hr","height","listItemRow","flexDirection","alignItems","listMarker","minWidth","paddingTop","checkboxRow","checkboxBox","width","marginRight","justifyContent","checkboxBoxChecked","checkboxTick","tableContainer","tableInner","overflow","tableRow","th","flex","borderRightWidth","borderRightColor","td","borderTopWidth","borderTopColor","lastCell","cellText","DEFAULT_STYLES","styles","cachedTheme","cachedStyles","resolveStyles","theme","renderTextWithLinks","urlRegex","nodes","lastIndex","match","exec","url","start","index","push","slice","onPress","openURL","children","style","length","parseInline","txt","elements","remaining","pattern","fullMatch","matchIndex","delimiter","content","substring","isTableSeparatorLine","line","trimmed","trim","test","includes","parseTableRow","decodedLine","cleaned","cells","split","map","renderMarkdownTableRN","headers","separator","dataRows","aligns","_","idx","seg","left","startsWith","right","endsWith","horizontal","bounces","showsHorizontalScrollIndicator","cIdx","textAlign","row","rIdx","cell","parseMessageBody","baseStyle","lines","listBuffer","inCodeBlock","codeLang","codeLines","flushList","renderListItems","items","depth","result","i","item","subItems","j","nested","contentEl","type","checked","marginLeft","listContent","trimmedLine","selectable","join","headingMatch","level","Math","min","max","separatorIndex","rows","headerCount","sep","current","nextLine","rowCells","listMatch","leadingSpace","checkboxPart","floor","toLowerCase","bulletMatch"],"sourceRoot":"../../../src","sources":["helpers/parseMessageBody.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ import CryptoJS from 'crypto-js';
4
+ import { secureGet, secureSet } from './secureKeyValue';
5
+
6
+ // AES-256-CBC at rest for the bulk persisted state (message history +
7
+ // room list) that `roomStore/persistence.ts` writes to AsyncStorage.
8
+ // This is envelope encryption, not a SecureStore write of the payload
9
+ // itself: expo-secure-store has historically capped a single value's
10
+ // size on Android (chunking exists in newer releases, but the payload
11
+ // here is unbounded — up to MESSAGE_LIMIT messages per room, times
12
+ // every room), so only the small symmetric KEY goes through the
13
+ // platform Keychain/Keystore (`secureKeyValue.ts`); the ciphertext
14
+ // itself stays in plain AsyncStorage, unreadable without that key.
15
+ const CIPHER_KEY_STORE_KEY = 'ethora_history_cipher_key';
16
+ const ENVELOPE_VERSION = 1;
17
+ const KEY_BYTES = 32; // AES-256
18
+ const IV_BYTES = 16; // one AES block
19
+
20
+ /**
21
+ * `crypto-js`'s own `WordArray.random()` falls back to `Math.random()`
22
+ * when it can't detect a browser `window.crypto` — not safe for key/IV
23
+ * material. `react-native-get-random-values` (a REQUIRED peer
24
+ * dependency, imported at the top of `main.ts`/`index.js` before
25
+ * anything else in the SDK runs) polyfills the real thing onto
26
+ * `global.crypto.getRandomValues` instead; source bytes from that and
27
+ * hand them to crypto-js as a WordArray rather than trust its default.
28
+ */
29
+ const randomWordArray = byteLength => {
30
+ const bytes = new Uint8Array(byteLength);
31
+ global.crypto.getRandomValues(bytes);
32
+ const words = [];
33
+ for (let i = 0; i < bytes.length; i += 4) {
34
+ words.push((bytes[i] || 0) << 24 | (bytes[i + 1] || 0) << 16 | (bytes[i + 2] || 0) << 8 | (bytes[i + 3] || 0));
35
+ }
36
+ return CryptoJS.lib.WordArray.create(words, byteLength);
37
+ };
38
+ let cachedKeyPromise = null;
39
+
40
+ /**
41
+ * One AES-256 key per install, generated on first use and persisted
42
+ * through the SecureStore/Keychain bridge. Reused across logins on
43
+ * purpose: the ciphertext it protects is deleted wholesale on logout
44
+ * (`clearPersistedState`), so there is no cross-account data for a
45
+ * stable key to expose — only the encrypted blob of whoever is
46
+ * currently logged in ever exists on disk at a given time.
47
+ */
48
+ const loadOrCreateKey = () => {
49
+ if (cachedKeyPromise) {
50
+ return cachedKeyPromise;
51
+ }
52
+ cachedKeyPromise = (async () => {
53
+ const existing = await secureGet(CIPHER_KEY_STORE_KEY);
54
+ if (existing) {
55
+ return CryptoJS.enc.Base64.parse(existing);
56
+ }
57
+ const key = randomWordArray(KEY_BYTES);
58
+ await secureSet(CIPHER_KEY_STORE_KEY, CryptoJS.enc.Base64.stringify(key));
59
+ return key;
60
+ })();
61
+ return cachedKeyPromise;
62
+ };
63
+
64
+ /** Encrypt a JSON-serialisable payload for storage. Returns the string to persist. */
65
+ export async function encryptForPersist(plaintext) {
66
+ const key = await loadOrCreateKey();
67
+ const iv = randomWordArray(IV_BYTES);
68
+ const encrypted = CryptoJS.AES.encrypt(plaintext, key, {
69
+ iv,
70
+ mode: CryptoJS.mode.CBC,
71
+ padding: CryptoJS.pad.Pkcs7
72
+ });
73
+ const envelope = {
74
+ v: ENVELOPE_VERSION,
75
+ iv: CryptoJS.enc.Base64.stringify(iv),
76
+ ct: encrypted.ciphertext.toString(CryptoJS.enc.Base64)
77
+ };
78
+ return JSON.stringify(envelope);
79
+ }
80
+
81
+ /**
82
+ * Decrypt a value previously written by `encryptForPersist`. Returns
83
+ * null (never throws) for anything that isn't a valid envelope for the
84
+ * current key — including a plaintext blob from a pre-encryption
85
+ * install: the app just re-hydrates that room/history from the server,
86
+ * same as any other empty-cache cold start.
87
+ */
88
+ export async function decryptFromPersist(stored) {
89
+ try {
90
+ const envelope = JSON.parse(stored);
91
+ if (!envelope || envelope.v !== ENVELOPE_VERSION || !envelope.iv || !envelope.ct) {
92
+ return null;
93
+ }
94
+ const key = await loadOrCreateKey();
95
+ const iv = CryptoJS.enc.Base64.parse(envelope.iv);
96
+ const ciphertext = CryptoJS.enc.Base64.parse(envelope.ct);
97
+ const decrypted = CryptoJS.AES.decrypt({
98
+ ciphertext
99
+ }, key, {
100
+ iv,
101
+ mode: CryptoJS.mode.CBC,
102
+ padding: CryptoJS.pad.Pkcs7
103
+ });
104
+ const plaintext = decrypted.toString(CryptoJS.enc.Utf8);
105
+ return plaintext || null;
106
+ } catch {
107
+ return null;
108
+ }
109
+ }
110
+
111
+ /** Test seam only. */
112
+ export const __resetPersistCryptoKeyForTests = () => {
113
+ cachedKeyPromise = null;
114
+ };
115
+ //# sourceMappingURL=persistCrypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CryptoJS","secureGet","secureSet","CIPHER_KEY_STORE_KEY","ENVELOPE_VERSION","KEY_BYTES","IV_BYTES","randomWordArray","byteLength","bytes","Uint8Array","global","crypto","getRandomValues","words","i","length","push","lib","WordArray","create","cachedKeyPromise","loadOrCreateKey","existing","enc","Base64","parse","key","stringify","encryptForPersist","plaintext","iv","encrypted","AES","encrypt","mode","CBC","padding","pad","Pkcs7","envelope","v","ct","ciphertext","toString","JSON","decryptFromPersist","stored","decrypted","decrypt","Utf8","__resetPersistCryptoKeyForTests"],"sourceRoot":"../../../src","sources":["helpers/persistCrypto.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ import { Alert, Linking } from 'react-native';
4
+ import * as ImagePicker from 'expo-image-picker';
5
+
6
+ /**
7
+ * A picked image in the shape React Native's FormData understands.
8
+ *
9
+ * NOT a web `File`: RN streams a multipart part straight from a `file://`
10
+ * uri and has no usable Blob/File/atob path. Screens ported from the web
11
+ * client used to carry base64 -> Blob -> File helpers that could never
12
+ * have run here.
13
+ */
14
+
15
+ /**
16
+ * Ask for library permission, open the picker, and normalise the result.
17
+ *
18
+ * Returns `null` for every non-error outcome — permission refused, user
19
+ * cancelled — so call sites can simply keep their current value.
20
+ *
21
+ * Exists because the avatar pickers are wired to `onPress`, which hands
22
+ * the callback a SyntheticEvent. Storing that event as "the image" (what
23
+ * two screens used to do) rendered a pooled event as an <Image source>
24
+ * and then crashed with "Property is not configurable" when React tried
25
+ * to release it — on top of never letting the user pick anything.
26
+ */
27
+ export const pickImageAsset = async () => {
28
+ try {
29
+ // expo-image-picker owns the permission prompt internally and
30
+ // returns a `granted` flag.
31
+ const perm = await ImagePicker.requestMediaLibraryPermissionsAsync();
32
+ if (!perm.granted) {
33
+ Alert.alert('Permission required', 'Photo library permission is needed to select images.', [{
34
+ text: 'Cancel',
35
+ style: 'cancel'
36
+ }, {
37
+ text: 'Open Settings',
38
+ onPress: () => Linking.openSettings()
39
+ }]);
40
+ return null;
41
+ }
42
+ const result = await ImagePicker.launchImageLibraryAsync({
43
+ mediaTypes: ['images'],
44
+ allowsEditing: true,
45
+ aspect: [1, 1],
46
+ quality: 0.8
47
+ });
48
+ if (result.canceled || !result.assets?.[0]) {
49
+ return null;
50
+ }
51
+ const asset = result.assets[0];
52
+ const originalName = asset.fileName || asset.uri.split('/').pop();
53
+ return {
54
+ uri: asset.uri,
55
+ type: asset.mimeType || 'image/jpeg',
56
+ name: originalName || `image_${Date.now()}.jpg`
57
+ };
58
+ } catch (error) {
59
+ console.error('Failed to pick an image:', error);
60
+ return null;
61
+ }
62
+ };
63
+ //# sourceMappingURL=pickImageAsset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Alert","Linking","ImagePicker","pickImageAsset","perm","requestMediaLibraryPermissionsAsync","granted","alert","text","style","onPress","openSettings","result","launchImageLibraryAsync","mediaTypes","allowsEditing","aspect","quality","canceled","assets","asset","originalName","fileName","uri","split","pop","type","mimeType","name","Date","now","error","console"],"sourceRoot":"../../../src","sources":["helpers/pickImageAsset.ts"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,OAAO,QAAQ,cAAc;AAC7C,OAAO,KAAKC,WAAW,MAAM,mBAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAAyC;EACrE,IAAI;IACF;IACA;IACA,MAAMC,IAAI,GAAG,MAAMF,WAAW,CAACG,mCAAmC,CAAC,CAAC;IACpE,IAAI,CAACD,IAAI,CAACE,OAAO,EAAE;MACjBN,KAAK,CAACO,KAAK,CACT,qBAAqB,EACrB,sDAAsD,EACtD,CACE;QAAEC,IAAI,EAAE,QAAQ;QAAEC,KAAK,EAAE;MAAS,CAAC,EACnC;QAAED,IAAI,EAAE,eAAe;QAAEE,OAAO,EAAEA,CAAA,KAAMT,OAAO,CAACU,YAAY,CAAC;MAAE,CAAC,CAEpE,CAAC;MACD,OAAO,IAAI;IACb;IAEA,MAAMC,MAAM,GAAG,MAAMV,WAAW,CAACW,uBAAuB,CAAC;MACvDC,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtBC,aAAa,EAAE,IAAI;MACnBC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;MACdC,OAAO,EAAE;IACX,CAAC,CAAC;IACF,IAAIL,MAAM,CAACM,QAAQ,IAAI,CAACN,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC,EAAE;MAC1C,OAAO,IAAI;IACb;IAEA,MAAMC,KAAK,GAAGR,MAAM,CAACO,MAAM,CAAC,CAAC,CAAC;IAC9B,MAAME,YAAY,GAAGD,KAAK,CAACE,QAAQ,IAAIF,KAAK,CAACG,GAAG,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC;IACjE,OAAO;MACLF,GAAG,EAAEH,KAAK,CAACG,GAAG;MACdG,IAAI,EAAEN,KAAK,CAACO,QAAQ,IAAI,YAAY;MACpCC,IAAI,EAAEP,YAAY,IAAI,SAASQ,IAAI,CAACC,GAAG,CAAC,CAAC;IAC3C,CAAC;EACH,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;IAChD,OAAO,IAAI;EACb;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ import AsyncStorage from '@react-native-async-storage/async-storage';
4
+ import { store } from '../roomStore';
5
+ import { clearPendingNotificationJid, setCurrentRoom, setPendingNotificationJid } from '../roomStore/roomsSlice';
6
+ import { handleCallPush } from './incomingCallFromPush';
7
+ import { normalizeRoomJid } from './normalizeRoomJid';
8
+ export const PENDING_NOTIFICATION_JID_KEY = 'ethora_pending_notification_jid';
9
+ export const PENDING_NOTIFICATION_TTL_MS = 5 * 60 * 1000;
10
+ export const readPendingJid = async () => {
11
+ try {
12
+ const raw = await AsyncStorage.getItem(PENDING_NOTIFICATION_JID_KEY);
13
+ if (!raw) {
14
+ return null;
15
+ }
16
+ if (raw.startsWith('{')) {
17
+ const {
18
+ jid,
19
+ at
20
+ } = JSON.parse(raw);
21
+ if (!jid || !at || Date.now() - at > PENDING_NOTIFICATION_TTL_MS) {
22
+ await AsyncStorage.removeItem(PENDING_NOTIFICATION_JID_KEY);
23
+ return null;
24
+ }
25
+ return jid;
26
+ }
27
+ return raw;
28
+ } catch {
29
+ return null;
30
+ }
31
+ };
32
+ export const openRoomFromPush = jid => {
33
+ const state = store.getState();
34
+ const conference = state.chatSettingStore?.config?.xmppSettings?.conference;
35
+ const full = normalizeRoomJid(jid, conference);
36
+ AsyncStorage.setItem(PENDING_NOTIFICATION_JID_KEY, JSON.stringify({
37
+ jid: full,
38
+ at: Date.now()
39
+ })).catch(() => undefined);
40
+ if (state.rooms?.rooms?.[full]) {
41
+ store.dispatch(clearPendingNotificationJid());
42
+ store.dispatch(setCurrentRoom({
43
+ roomJID: full
44
+ }));
45
+ return 'room';
46
+ }
47
+ store.dispatch(setPendingNotificationJid(full));
48
+ return 'pending';
49
+ };
50
+ export const handlePushPayload = data => {
51
+ if (!data) {
52
+ return 'unknown';
53
+ }
54
+ if (handleCallPush(data)) {
55
+ return 'call';
56
+ }
57
+ const jid = data.jid ?? data.chatJid ?? data.roomJid ?? data.roomJID;
58
+ if (typeof jid === 'string' && jid) {
59
+ return openRoomFromPush(jid);
60
+ }
61
+ return 'unknown';
62
+ };
63
+ //# sourceMappingURL=pushPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AsyncStorage","store","clearPendingNotificationJid","setCurrentRoom","setPendingNotificationJid","handleCallPush","normalizeRoomJid","PENDING_NOTIFICATION_JID_KEY","PENDING_NOTIFICATION_TTL_MS","readPendingJid","raw","getItem","startsWith","jid","at","JSON","parse","Date","now","removeItem","openRoomFromPush","state","getState","conference","chatSettingStore","config","xmppSettings","full","setItem","stringify","catch","undefined","rooms","dispatch","roomJID","handlePushPayload","data","chatJid","roomJid"],"sourceRoot":"../../../src","sources":["helpers/pushPayload.ts"],"mappings":";;AAAA,OAAOA,YAAY,MAAM,2CAA2C;AACpE,SAASC,KAAK,QAAQ,cAAc;AACpC,SACEC,2BAA2B,EAC3BC,cAAc,EACdC,yBAAyB,QACpB,yBAAyB;AAChC,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,gBAAgB,QAAQ,oBAAoB;AAIrD,OAAO,MAAMC,4BAA4B,GAAG,iCAAiC;AAC7E,OAAO,MAAMC,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;AAExD,OAAO,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAAoC;EAChE,IAAI;IACF,MAAMC,GAAG,GAAG,MAAMV,YAAY,CAACW,OAAO,CAACJ,4BAA4B,CAAC;IACpE,IAAI,CAACG,GAAG,EAAE;MAAC,OAAO,IAAI;IAAC;IACvB,IAAIA,GAAG,CAACE,UAAU,CAAC,GAAG,CAAC,EAAE;MACvB,MAAM;QAAEC,GAAG;QAAEC;MAAG,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACN,GAAG,CAAkC;MACpE,IAAI,CAACG,GAAG,IAAI,CAACC,EAAE,IAAIG,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGJ,EAAE,GAAGN,2BAA2B,EAAE;QAChE,MAAMR,YAAY,CAACmB,UAAU,CAACZ,4BAA4B,CAAC;QAC3D,OAAO,IAAI;MACb;MACA,OAAOM,GAAG;IACZ;IACA,OAAOH,GAAG;EACZ,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF,CAAC;AAED,OAAO,MAAMU,gBAAgB,GAAIP,GAAW,IAAyB;EACnE,MAAMQ,KAAK,GAAGpB,KAAK,CAACqB,QAAQ,CAAC,CAAC;EAC9B,MAAMC,UAAU,GAAGF,KAAK,CAACG,gBAAgB,EAAEC,MAAM,EAAEC,YAAY,EAAEH,UAAU;EAC3E,MAAMI,IAAI,GAAGrB,gBAAgB,CAACO,GAAG,EAAEU,UAAU,CAAC;EAE9CvB,YAAY,CAAC4B,OAAO,CAClBrB,4BAA4B,EAC5BQ,IAAI,CAACc,SAAS,CAAC;IAAEhB,GAAG,EAAEc,IAAI;IAAEb,EAAE,EAAEG,IAAI,CAACC,GAAG,CAAC;EAAE,CAAC,CAC9C,CAAC,CAACY,KAAK,CAAC,MAAMC,SAAS,CAAC;EACxB,IAAIV,KAAK,CAACW,KAAK,EAAEA,KAAK,GAAGL,IAAI,CAAC,EAAE;IAC9B1B,KAAK,CAACgC,QAAQ,CAAC/B,2BAA2B,CAAC,CAAC,CAAC;IAC7CD,KAAK,CAACgC,QAAQ,CAAC9B,cAAc,CAAC;MAAE+B,OAAO,EAAEP;IAAK,CAAC,CAAC,CAAC;IACjD,OAAO,MAAM;EACf;EACA1B,KAAK,CAACgC,QAAQ,CAAC7B,yBAAyB,CAACuB,IAAI,CAAC,CAAC;EAC/C,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,MAAMQ,iBAAiB,GAC5BC,IAAgD,IACzB;EACvB,IAAI,CAACA,IAAI,EAAE;IAAC,OAAO,SAAS;EAAC;EAC7B,IAAI/B,cAAc,CAAC+B,IAA2B,CAAC,EAAE;IAAC,OAAO,MAAM;EAAC;EAChE,MAAMvB,GAAG,GAAGuB,IAAI,CAACvB,GAAG,IAAIuB,IAAI,CAACC,OAAO,IAAID,IAAI,CAACE,OAAO,IAAIF,IAAI,CAACF,OAAO;EACpE,IAAI,OAAOrB,GAAG,KAAK,QAAQ,IAAIA,GAAG,EAAE;IAClC,OAAOO,gBAAgB,CAACP,GAAG,CAAC;EAC9B;EACA,OAAO,SAAS;AAClB,CAAC","ignoreList":[]}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import http, { setBaseURL } from '../networking/apiClient';
3
+ import { setBaseURL } from '../networking/apiClient';
4
+ import { refreshAuthTokens, isRefreshFatalError } from '../networking/authRefresh';
4
5
  import { loginViaJwt } from '../networking/api-requests/auth.api';
5
6
  import { getMyUser } from '../networking/api-requests/user.api';
6
7
  import { store } from '../roomStore';
7
8
  import { setUser } from '../roomStore/chatSettingsSlice';
8
9
  import { walletToUsername } from './walletUsername';
9
- import { asyncLocalStorage } from '../hooks/useLocalStorage';
10
- import { localStorageConstants } from './constants/LOCAL_STORAGE';
10
+ import { secureUserStorage } from './secureUserStorage';
11
11
  const getStatusCode = error => {
12
12
  const status = error?.response?.status;
13
13
  return typeof status === 'number' ? status : null;
@@ -31,15 +31,112 @@ const normalizeUserForXmpp = user => {
31
31
  xmppUsername: normalizedXmppUsername
32
32
  };
33
33
  };
34
- const refreshWithToken = async refreshToken => {
35
- const response = await http.post('/users/login/refresh', {}, {
36
- headers: {
37
- Authorization: refreshToken
34
+
35
+ // Hermes has no atob/Buffer; hand-decode just enough base64url to read a
36
+ // JWT's `iat`. Claims are ASCII so the byte-per-char string is fine.
37
+ const B64_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
38
+ const readJwtIat = token => {
39
+ if (!token || typeof token !== 'string') {
40
+ return 0;
41
+ }
42
+ const part = token.split('.')[1];
43
+ if (!part) {
44
+ return 0;
45
+ }
46
+ try {
47
+ const clean = part.replace(/-/g, '+').replace(/_/g, '/');
48
+ let out = '';
49
+ let buffer = 0;
50
+ let bits = 0;
51
+ for (let i = 0; i < clean.length; i++) {
52
+ const idx = B64_ALPHABET.indexOf(clean[i]);
53
+ if (idx === -1) {
54
+ continue;
55
+ }
56
+ buffer = buffer << 6 | idx;
57
+ bits += 6;
58
+ if (bits >= 8) {
59
+ bits -= 8;
60
+ out += String.fromCharCode(buffer >> bits & 0xff);
61
+ }
62
+ }
63
+ const iat = JSON.parse(out)?.iat;
64
+ return typeof iat === 'number' ? iat : 0;
65
+ } catch {
66
+ return 0;
67
+ }
68
+ };
69
+
70
+ /**
71
+ * A `userLogin.user` is typically a snapshot the host captured at ITS
72
+ * login time and re-presents verbatim on every mount, while this SDK
73
+ * keeps rotating the session and persisting the newest pair to
74
+ * `ETHORA_USER`. Taking the snapshot as-is therefore discards the live
75
+ * session in favour of an ever-aging copy: media goes blank the moment
76
+ * the snapshot has no `fileToken` (secure-files URLs 401 without it),
77
+ * and once the snapshot's refresh token ages out entirely the account
78
+ * looks dead even though the SDK held a working session all along.
79
+ *
80
+ * So, for the SAME account only, prefer whichever refresh pair was
81
+ * minted later (JWT `iat` decides — a host that genuinely re-logged-in
82
+ * hands us newer tokens and wins), and fill in a missing `fileToken`
83
+ * from the persisted copy either way.
84
+ */
85
+ const adoptFresherPersistedSession = async candidate => {
86
+ try {
87
+ const stored = await secureUserStorage().get();
88
+ if (!stored) {
89
+ return candidate;
38
90
  }
91
+ const sameUser = candidate._id && stored._id && candidate._id === stored._id || candidate.xmppUsername && stored.xmppUsername && candidate.xmppUsername === stored.xmppUsername;
92
+ if (!sameUser) {
93
+ return candidate;
94
+ }
95
+ const merged = {
96
+ ...candidate
97
+ };
98
+ if (stored.refreshToken && readJwtIat(stored.refreshToken) > readJwtIat(candidate.refreshToken)) {
99
+ merged.refreshToken = stored.refreshToken;
100
+ if (stored.token) {
101
+ merged.token = stored.token;
102
+ }
103
+ if (stored.fileToken) {
104
+ merged.fileToken = stored.fileToken;
105
+ }
106
+ }
107
+ if (!merged.fileToken && stored.fileToken) {
108
+ merged.fileToken = stored.fileToken;
109
+ }
110
+ return merged;
111
+ } catch {
112
+ return candidate;
113
+ }
114
+ };
115
+
116
+ /**
117
+ * Bootstrap rotation.
118
+ *
119
+ * Was a second, independent `/users/login/refresh` caller that bypassed
120
+ * every lock in the SDK — and, worse, only wrote the rotated token to
121
+ * the store on the happy path, so several of the early-return branches
122
+ * below used to drop it. Under the backend's reuse detection a dropped
123
+ * rotation means the next launch presents a burned token and the
124
+ * session is killed.
125
+ *
126
+ * `refreshAuthTokens` persists the new pair before it resolves, so by
127
+ * the time this returns the rotation is safe no matter which branch the
128
+ * caller takes afterwards. The explicit token is required here: during
129
+ * bootstrap the candidate session isn't in the store yet.
130
+ */
131
+ const refreshWithToken = async refreshToken => {
132
+ const result = await refreshAuthTokens({
133
+ refreshToken
39
134
  });
40
135
  return {
41
- token: response?.data?.token || '',
42
- refreshToken: response?.data?.refreshToken || refreshToken
136
+ token: result.token,
137
+ refreshToken: result.refreshToken || refreshToken,
138
+ xmppPassword: result.xmppPassword || '',
139
+ fileToken: result.fileToken || ''
43
140
  };
44
141
  };
45
142
  const mergeUsers = (base, patch) => {
@@ -64,10 +161,14 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
64
161
  }
65
162
  let workingToken = candidate?.token || '';
66
163
  let workingRefresh = candidate?.refreshToken || '';
164
+ let rotatedXmppPassword = '';
165
+ let workingFileToken = candidate?.fileToken || '';
67
166
  const candidateWithCurrentTokens = () => ({
68
167
  ...candidate,
69
168
  token: workingToken || candidate.token,
70
- refreshToken: workingRefresh || candidate.refreshToken
169
+ refreshToken: workingRefresh || candidate.refreshToken,
170
+ xmppPassword: rotatedXmppPassword || candidate.xmppPassword,
171
+ fileToken: workingFileToken || candidate.fileToken
71
172
  });
72
173
  const fallbackWithCreds = () => {
73
174
  const normalized = normalizeUserForXmpp(candidateWithCurrentTokens());
@@ -86,6 +187,8 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
86
187
  if (merged) {
87
188
  merged.token = workingToken || merged.token;
88
189
  merged.refreshToken = workingRefresh || merged.refreshToken;
190
+ merged.xmppPassword = rotatedXmppPassword || merged.xmppPassword;
191
+ merged.fileToken = workingFileToken || merged.fileToken;
89
192
  }
90
193
  return merged;
91
194
  } catch (error) {
@@ -110,6 +213,8 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
110
213
  const refreshed = await refreshWithToken(workingRefresh);
111
214
  workingToken = refreshed.token;
112
215
  workingRefresh = refreshed.refreshToken;
216
+ rotatedXmppPassword = refreshed.xmppPassword || rotatedXmppPassword;
217
+ workingFileToken = refreshed.fileToken || workingFileToken;
113
218
  try {
114
219
  const myUser = await getMyUser({
115
220
  token: workingToken,
@@ -119,6 +224,8 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
119
224
  if (merged) {
120
225
  merged.token = workingToken || merged.token;
121
226
  merged.refreshToken = workingRefresh || merged.refreshToken;
227
+ merged.xmppPassword = rotatedXmppPassword || merged.xmppPassword;
228
+ merged.fileToken = workingFileToken || merged.fileToken;
122
229
  }
123
230
  return merged;
124
231
  } catch (myError) {
@@ -138,6 +245,13 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
138
245
  if (signal?.aborted || isAbortError(error)) {
139
246
  return null;
140
247
  }
248
+ // A fatal refresh verdict (reuse detected / token not found / stale
249
+ // with nothing newer around) carries no HTTP response, so it would
250
+ // otherwise fall through to `throw` — the session is simply dead,
251
+ // which for bootstrap means "nothing to restore".
252
+ if (isRefreshFatalError(error)) {
253
+ return null;
254
+ }
141
255
  if (isAuthError(error)) {
142
256
  return null;
143
257
  }
@@ -155,14 +269,14 @@ export const resolveInitBeforeLoadUser = async options => {
155
269
  if (config?.baseUrl) {
156
270
  setBaseURL(config.baseUrl, config.customAppToken);
157
271
  }
158
- const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/users/my';
272
+ const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/v1/users/my';
159
273
 
160
274
  // Priority 1: explicit userLogin
161
275
  const explicitUser = config?.userLogin?.enabled ? config?.userLogin?.user : null;
162
276
  if (explicitUser) {
163
277
  const candidate = normalizeUserForXmpp(explicitUser);
164
278
  if (candidate && hasXmppCredentials(candidate)) {
165
- return candidate;
279
+ return await adoptFresherPersistedSession(candidate);
166
280
  }
167
281
  const hydrated = await tryHydrateViaMy(explicitUser, myEndpoint, signal).catch(() => null);
168
282
  if (hydrated && hasXmppCredentials(hydrated)) {
@@ -219,13 +333,13 @@ export const resolveInitBeforeLoadUser = async options => {
219
333
 
220
334
  // Priority 5: persisted user in AsyncStorage
221
335
  try {
222
- const storedUser = await asyncLocalStorage(localStorageConstants.ETHORA_USER).get();
336
+ const storedUser = await secureUserStorage().get();
223
337
  if (storedUser && (storedUser.token || storedUser.refreshToken || storedUser.xmppPassword)) {
224
338
  const hydrated = await tryHydrateViaMy(storedUser, myEndpoint, signal).catch(() => null);
225
339
  if (hydrated && hasXmppCredentials(hydrated)) {
226
340
  return hydrated;
227
341
  }
228
- await asyncLocalStorage(localStorageConstants.ETHORA_USER).remove();
342
+ await secureUserStorage().remove();
229
343
  }
230
344
  } catch {
231
345
  // ignore storage errors
@@ -279,7 +393,7 @@ export const refreshUserCredentialsForXmpp = async (config, signal) => {
279
393
  // fall through to /users/my path
280
394
  }
281
395
  }
282
- const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/users/my';
396
+ const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/v1/users/my';
283
397
 
284
398
  // Priority 2: redux store user (covers userLogin + customLogin +
285
399
  // anything previously persisted into chatSettingStore.user). The
@@ -297,7 +411,7 @@ export const refreshUserCredentialsForXmpp = async (config, signal) => {
297
411
  // should already mirror this, but if the redux state got cleared
298
412
  // mid-session (logout race) this gives us one last shot.
299
413
  try {
300
- const storedUser = await asyncLocalStorage(localStorageConstants.ETHORA_USER).get();
414
+ const storedUser = await secureUserStorage().get();
301
415
  if (storedUser && (storedUser.token || storedUser.refreshToken || storedUser.xmppPassword)) {
302
416
  const hydrated = await tryHydrateViaMy(storedUser, myEndpoint, signal).catch(() => null);
303
417
  if (hydrated && hasXmppCredentials(hydrated)) {