@ethora/chat-component-rn 26.7.9 → 26.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (652) hide show
  1. package/CHANGELOG.md +0 -93
  2. package/README.md +10 -33
  3. package/lib/commonjs/assets/icons.js +2 -7
  4. package/lib/commonjs/assets/icons.js.map +1 -1
  5. package/lib/commonjs/components/AuthForms/Login.js +4 -4
  6. package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
  7. package/lib/commonjs/components/Header/HeaderRoomList.js +7 -26
  8. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js +3 -9
  10. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js +13 -101
  12. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js +38 -34
  14. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  15. package/lib/commonjs/components/MainComponents/LoginWrapper.js +1 -2
  16. package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
  17. package/lib/commonjs/components/MainComponents/MediaMessage.js +9 -29
  18. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  19. package/lib/commonjs/components/MainComponents/MessageContainer.js +1 -5
  20. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  21. package/lib/commonjs/components/MainComponents/MessageList.js +5 -13
  22. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  23. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +13 -14
  24. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  25. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +24 -3
  26. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  27. package/lib/commonjs/components/MainComponents/RoomList.js +35 -208
  28. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  29. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +98 -317
  30. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  31. package/lib/commonjs/components/MessageBubble/MessageTranslate.js +16 -7
  32. package/lib/commonjs/components/MessageBubble/MessageTranslate.js.map +1 -1
  33. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +112 -320
  34. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  35. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +215 -556
  36. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  37. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js +9 -7
  38. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  39. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +27 -69
  40. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  41. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +1 -2
  42. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  43. package/lib/commonjs/components/Modals/Modal/Modal.js +0 -8
  44. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  45. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +1 -2
  46. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  47. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +109 -205
  48. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  49. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
  50. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  51. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +2 -4
  52. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  53. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +21 -7
  54. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  55. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +244 -507
  56. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  57. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +46 -74
  58. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  59. package/lib/commonjs/components/Modals/styledModalComponents.js +2 -9
  60. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  61. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +39 -23
  62. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  63. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +3 -22
  64. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  65. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +3 -17
  66. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  67. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +3 -17
  68. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  69. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +3 -6
  70. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  71. package/lib/commonjs/components/styled/AudioMessage.js +1 -2
  72. package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
  73. package/lib/commonjs/components/styled/DateLabel.js +10 -3
  74. package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
  75. package/lib/commonjs/components/styled/MessageImage.js +9 -37
  76. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  77. package/lib/commonjs/components/styled/NewMessageLabel.js +3 -1
  78. package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
  79. package/lib/commonjs/components/styled/SendInput.js +17 -86
  80. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  81. package/lib/commonjs/components/styled/StyledComponents.js +3 -9
  82. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  83. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +4 -11
  84. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  85. package/lib/commonjs/components/styled/UnsupportedType.js +4 -14
  86. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  87. package/lib/commonjs/components/styled/VideoMessage.js +61 -119
  88. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  89. package/lib/commonjs/context/xmppProvider.js +54 -128
  90. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  91. package/lib/commonjs/helpers/createMessageFromXml.js +1 -19
  92. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  93. package/lib/commonjs/helpers/ensureScopedChatCache.js +2 -2
  94. package/lib/commonjs/helpers/ensureScopedChatCache.js.map +1 -1
  95. package/lib/commonjs/helpers/getDataFromXml.js +24 -1
  96. package/lib/commonjs/helpers/getDataFromXml.js.map +1 -1
  97. package/lib/commonjs/helpers/historyPreloadScheduler.js +2 -65
  98. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  99. package/lib/commonjs/helpers/initXmppRooms.js +8 -14
  100. package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
  101. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +13 -0
  102. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  103. package/lib/commonjs/helpers/isUnresolvedSenderId.js +6 -1
  104. package/lib/commonjs/helpers/isUnresolvedSenderId.js.map +1 -1
  105. package/lib/commonjs/helpers/mimeToExtension.js +14 -6
  106. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  107. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +17 -130
  108. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  109. package/lib/commonjs/helpers/resolveLangSource.js +38 -0
  110. package/lib/commonjs/helpers/resolveLangSource.js.map +1 -0
  111. package/lib/commonjs/helpers/xmppUsername.js +39 -0
  112. package/lib/commonjs/helpers/xmppUsername.js.map +1 -0
  113. package/lib/commonjs/hooks/useChatRoomFocus.js +8 -17
  114. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  115. package/lib/commonjs/hooks/useChatWrapperInit.js +14 -32
  116. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  117. package/lib/commonjs/hooks/useComposing.js +0 -27
  118. package/lib/commonjs/hooks/useComposing.js.map +1 -1
  119. package/lib/commonjs/hooks/useLogout.js +7 -15
  120. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  121. package/lib/commonjs/hooks/usePendingNotification.js +11 -8
  122. package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
  123. package/lib/commonjs/hooks/useSendMessage.js +14 -50
  124. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  125. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -6
  126. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  127. package/lib/commonjs/i18n/strings.js +133 -121
  128. package/lib/commonjs/i18n/strings.js.map +1 -1
  129. package/lib/commonjs/i18n/useT.js +1 -1
  130. package/lib/commonjs/main.js +0 -44
  131. package/lib/commonjs/main.js.map +1 -1
  132. package/lib/commonjs/networking/api-requests/auth.api.js +60 -134
  133. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  134. package/lib/commonjs/networking/api-requests/roomMembers.api.js +1 -1
  135. package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
  136. package/lib/commonjs/networking/api-requests/rooms.api.js +9 -9
  137. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  138. package/lib/commonjs/networking/api-requests/user.api.js +9 -68
  139. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  140. package/lib/commonjs/networking/apiClient.js +112 -62
  141. package/lib/commonjs/networking/apiClient.js.map +1 -1
  142. package/lib/commonjs/networking/stanzaHandlers.js +51 -93
  143. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  144. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +8 -46
  145. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  146. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +1 -8
  147. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  148. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +1 -5
  149. package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  150. package/lib/commonjs/networking/xmppClient.js +8 -124
  151. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  152. package/lib/commonjs/roomStore/chatSettingsSlice.js +7 -26
  153. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  154. package/lib/commonjs/roomStore/index.js +2 -35
  155. package/lib/commonjs/roomStore/index.js.map +1 -1
  156. package/lib/commonjs/roomStore/persistence.js +39 -226
  157. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  158. package/lib/commonjs/roomStore/roomsSlice.js +8 -87
  159. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  160. package/lib/commonjs/services/pushSubscriptionService.js +13 -15
  161. package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
  162. package/lib/commonjs/version.js +3 -1
  163. package/lib/commonjs/version.js.map +1 -1
  164. package/lib/module/assets/icons.js +1 -6
  165. package/lib/module/assets/icons.js.map +1 -1
  166. package/lib/module/components/AuthForms/Login.js +4 -4
  167. package/lib/module/components/AuthForms/Login.js.map +1 -1
  168. package/lib/module/components/Header/HeaderRoomList.js +7 -26
  169. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  170. package/lib/module/components/MainComponents/ChatHeader.js +3 -9
  171. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  172. package/lib/module/components/MainComponents/ChatRoom.js +14 -102
  173. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  174. package/lib/module/components/MainComponents/ChatWrapper.js +40 -36
  175. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  176. package/lib/module/components/MainComponents/LoginWrapper.js +1 -2
  177. package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
  178. package/lib/module/components/MainComponents/MediaMessage.js +10 -30
  179. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  180. package/lib/module/components/MainComponents/MessageContainer.js +1 -5
  181. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  182. package/lib/module/components/MainComponents/MessageList.js +5 -13
  183. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  184. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +13 -14
  185. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  186. package/lib/module/components/MainComponents/ReduxWrapper.js +26 -5
  187. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  188. package/lib/module/components/MainComponents/RoomList.js +35 -207
  189. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  190. package/lib/module/components/Menu/HeaderRoomListMenu.js +101 -319
  191. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  192. package/lib/module/components/MessageBubble/MessageTranslate.js +16 -7
  193. package/lib/module/components/MessageBubble/MessageTranslate.js.map +1 -1
  194. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +115 -311
  195. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  196. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +219 -559
  197. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  198. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js +9 -7
  199. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  200. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +28 -70
  201. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  202. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +1 -2
  203. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  204. package/lib/module/components/Modals/Modal/Modal.js +1 -9
  205. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  206. package/lib/module/components/Modals/NewChatModal/ModalContent.js +1 -2
  207. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  208. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +111 -208
  209. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  210. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
  211. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  212. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +2 -4
  213. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  214. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +23 -9
  215. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  216. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +248 -509
  217. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  218. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +48 -76
  219. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  220. package/lib/module/components/Modals/styledModalComponents.js +2 -9
  221. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  222. package/lib/module/components/RoomComponents/ChatRoomItem.js +40 -24
  223. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  224. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +3 -22
  225. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  226. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +3 -17
  227. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  228. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +3 -17
  229. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  230. package/lib/module/components/VideoCalls/VideoCallSession.js +3 -6
  231. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  232. package/lib/module/components/styled/AudioMessage.js +1 -2
  233. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  234. package/lib/module/components/styled/DateLabel.js +10 -3
  235. package/lib/module/components/styled/DateLabel.js.map +1 -1
  236. package/lib/module/components/styled/MessageImage.js +9 -37
  237. package/lib/module/components/styled/MessageImage.js.map +1 -1
  238. package/lib/module/components/styled/NewMessageLabel.js +3 -1
  239. package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
  240. package/lib/module/components/styled/SendInput.js +18 -87
  241. package/lib/module/components/styled/SendInput.js.map +1 -1
  242. package/lib/module/components/styled/StyledComponents.js +3 -9
  243. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  244. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +4 -11
  245. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  246. package/lib/module/components/styled/UnsupportedType.js +4 -14
  247. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  248. package/lib/module/components/styled/VideoMessage.js +62 -120
  249. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  250. package/lib/module/context/xmppProvider.js +55 -128
  251. package/lib/module/context/xmppProvider.js.map +1 -1
  252. package/lib/module/helpers/createMessageFromXml.js +1 -19
  253. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  254. package/lib/module/helpers/ensureScopedChatCache.js +2 -2
  255. package/lib/module/helpers/ensureScopedChatCache.js.map +1 -1
  256. package/lib/module/helpers/getDataFromXml.js +23 -1
  257. package/lib/module/helpers/getDataFromXml.js.map +1 -1
  258. package/lib/module/helpers/historyPreloadScheduler.js +3 -66
  259. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  260. package/lib/module/helpers/initXmppRooms.js +8 -14
  261. package/lib/module/helpers/initXmppRooms.js.map +1 -1
  262. package/lib/module/helpers/insertMessageWithDelimiter.js +13 -0
  263. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  264. package/lib/module/helpers/isUnresolvedSenderId.js +6 -1
  265. package/lib/module/helpers/isUnresolvedSenderId.js.map +1 -1
  266. package/lib/module/helpers/mimeToExtension.js +13 -6
  267. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  268. package/lib/module/helpers/resolveInitBeforeLoadUser.js +16 -130
  269. package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  270. package/lib/module/helpers/resolveLangSource.js +32 -0
  271. package/lib/module/helpers/resolveLangSource.js.map +1 -0
  272. package/lib/module/helpers/xmppUsername.js +35 -0
  273. package/lib/module/helpers/xmppUsername.js.map +1 -0
  274. package/lib/module/hooks/useChatRoomFocus.js +8 -17
  275. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  276. package/lib/module/hooks/useChatWrapperInit.js +14 -32
  277. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  278. package/lib/module/hooks/useComposing.js +1 -28
  279. package/lib/module/hooks/useComposing.js.map +1 -1
  280. package/lib/module/hooks/useLogout.js +7 -15
  281. package/lib/module/hooks/useLogout.js.map +1 -1
  282. package/lib/module/hooks/usePendingNotification.js +11 -8
  283. package/lib/module/hooks/usePendingNotification.js.map +1 -1
  284. package/lib/module/hooks/useSendMessage.js +16 -52
  285. package/lib/module/hooks/useSendMessage.js.map +1 -1
  286. package/lib/module/hooks/useUnreadMessagesCounter.js +1 -6
  287. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  288. package/lib/module/i18n/strings.js +133 -121
  289. package/lib/module/i18n/strings.js.map +1 -1
  290. package/lib/module/i18n/useT.js +1 -1
  291. package/lib/module/main.js +2 -14
  292. package/lib/module/main.js.map +1 -1
  293. package/lib/module/networking/api-requests/auth.api.js +59 -131
  294. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  295. package/lib/module/networking/api-requests/roomMembers.api.js +1 -1
  296. package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
  297. package/lib/module/networking/api-requests/rooms.api.js +9 -9
  298. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  299. package/lib/module/networking/api-requests/user.api.js +7 -64
  300. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  301. package/lib/module/networking/apiClient.js +113 -61
  302. package/lib/module/networking/apiClient.js.map +1 -1
  303. package/lib/module/networking/stanzaHandlers.js +52 -94
  304. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  305. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +8 -46
  306. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  307. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +1 -8
  308. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  309. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +1 -5
  310. package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
  311. package/lib/module/networking/xmppClient.js +8 -124
  312. package/lib/module/networking/xmppClient.js.map +1 -1
  313. package/lib/module/roomStore/chatSettingsSlice.js +7 -26
  314. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  315. package/lib/module/roomStore/index.js +4 -37
  316. package/lib/module/roomStore/index.js.map +1 -1
  317. package/lib/module/roomStore/persistence.js +38 -223
  318. package/lib/module/roomStore/persistence.js.map +1 -1
  319. package/lib/module/roomStore/roomsSlice.js +7 -86
  320. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  321. package/lib/module/services/pushSubscriptionService.js +13 -15
  322. package/lib/module/services/pushSubscriptionService.js.map +1 -1
  323. package/lib/module/version.js +3 -1
  324. package/lib/module/version.js.map +1 -1
  325. package/lib/typescript/assets/icons.d.ts +0 -16
  326. package/lib/typescript/assets/icons.d.ts.map +1 -1
  327. package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
  328. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  329. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  330. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  331. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  332. package/lib/typescript/components/MainComponents/LoginWrapper.d.ts.map +1 -1
  333. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  334. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  335. package/lib/typescript/components/MainComponents/MessageList.d.ts +1 -10
  336. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  337. package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
  338. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  339. package/lib/typescript/components/MainComponents/RoomList.d.ts +0 -7
  340. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  341. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +0 -3
  342. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  343. package/lib/typescript/components/MessageBubble/MessageTranslate.d.ts.map +1 -1
  344. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +0 -9
  345. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  346. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +0 -10
  347. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  348. package/lib/typescript/components/Modals/ChatProfileModal/DeleteChatModal.d.ts.map +1 -1
  349. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  350. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  351. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  352. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +2 -4
  353. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  354. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
  355. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  356. package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
  357. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +1 -6
  358. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  359. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  360. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +0 -16
  361. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  362. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +0 -1
  363. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  364. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  365. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  366. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
  367. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  368. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
  369. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  370. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
  371. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  372. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  373. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  374. package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
  375. package/lib/typescript/components/styled/MessageImage.d.ts +0 -14
  376. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  377. package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
  378. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  379. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  380. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  381. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  382. package/lib/typescript/components/styled/VideoMessage.d.ts +0 -8
  383. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  384. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  385. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  386. package/lib/typescript/helpers/getDataFromXml.d.ts.map +1 -1
  387. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  388. package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
  389. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  390. package/lib/typescript/helpers/isUnresolvedSenderId.d.ts.map +1 -1
  391. package/lib/typescript/helpers/mimeToExtension.d.ts +15 -0
  392. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  393. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
  394. package/lib/typescript/helpers/resolveLangSource.d.ts +30 -0
  395. package/lib/typescript/helpers/resolveLangSource.d.ts.map +1 -0
  396. package/lib/typescript/helpers/xmppUsername.d.ts +13 -0
  397. package/lib/typescript/helpers/xmppUsername.d.ts.map +1 -0
  398. package/lib/typescript/hooks/useChatRoomFocus.d.ts +1 -4
  399. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  400. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  401. package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
  402. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  403. package/lib/typescript/hooks/usePendingNotification.d.ts.map +1 -1
  404. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  405. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +0 -1
  406. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  407. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  408. package/lib/typescript/i18n/useT.d.ts +1 -1
  409. package/lib/typescript/main.d.ts +2 -9
  410. package/lib/typescript/main.d.ts.map +1 -1
  411. package/lib/typescript/networking/api-requests/auth.api.d.ts +1 -3
  412. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  413. package/lib/typescript/networking/api-requests/user.api.d.ts +0 -27
  414. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  415. package/lib/typescript/networking/apiClient.d.ts +6 -12
  416. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  417. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  418. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +2 -10
  419. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  420. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  421. package/lib/typescript/networking/xmpp/subscribeToRoomMessages.xmpp.d.ts.map +1 -1
  422. package/lib/typescript/networking/xmppClient.d.ts +0 -14
  423. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  424. package/lib/typescript/roomStore/chatSettingsSlice.d.ts +0 -16
  425. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  426. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  427. package/lib/typescript/roomStore/persistence.d.ts +1 -18
  428. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  429. package/lib/typescript/roomStore/roomsSlice.d.ts +1 -14
  430. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  431. package/lib/typescript/services/pushSubscriptionService.d.ts +1 -1
  432. package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
  433. package/lib/typescript/types/types.d.ts +5 -49
  434. package/lib/typescript/types/types.d.ts.map +1 -1
  435. package/lib/typescript/version.d.ts +1 -1
  436. package/lib/typescript/version.d.ts.map +1 -1
  437. package/package.json +29 -41
  438. package/src/assets/icons.tsx +9 -48
  439. package/src/components/AuthForms/Login.tsx +3 -3
  440. package/src/components/Header/HeaderRoomList.tsx +6 -24
  441. package/src/components/MainComponents/ChatHeader.tsx +3 -9
  442. package/src/components/MainComponents/ChatRoom.tsx +16 -111
  443. package/src/components/MainComponents/ChatWrapper.tsx +53 -36
  444. package/src/components/MainComponents/LoginWrapper.tsx +0 -1
  445. package/src/components/MainComponents/MediaMessage.tsx +8 -26
  446. package/src/components/MainComponents/MessageContainer.tsx +1 -5
  447. package/src/components/MainComponents/MessageList.tsx +4 -23
  448. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +14 -21
  449. package/src/components/MainComponents/ReduxWrapper.tsx +18 -1
  450. package/src/components/MainComponents/RoomList.tsx +39 -236
  451. package/src/components/Menu/HeaderRoomListMenu.tsx +75 -328
  452. package/src/components/MessageBubble/MessageTranslate.tsx +17 -12
  453. package/src/components/Modals/AttachSheet/AttachSheet.tsx +99 -331
  454. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +293 -611
  455. package/src/components/Modals/ChatProfileModal/DeleteChatModal.tsx +9 -7
  456. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +38 -79
  457. package/src/components/Modals/FilePreviewModal/PdfView.tsx +1 -2
  458. package/src/components/Modals/Modal/Modal.tsx +0 -7
  459. package/src/components/Modals/NewChatModal/ModalContent.tsx +3 -6
  460. package/src/components/Modals/NewChatModal/NewChatModal.tsx +126 -223
  461. package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +1 -12
  462. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +4 -14
  463. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +25 -9
  464. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +307 -617
  465. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +58 -75
  466. package/src/components/Modals/styledModalComponents.tsx +2 -9
  467. package/src/components/RoomComponents/ChatRoomItem.tsx +50 -21
  468. package/src/components/RoomComponents/styled/LastMessageFile.tsx +4 -28
  469. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +3 -18
  470. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +3 -18
  471. package/src/components/VideoCalls/VideoCallSession.tsx +3 -8
  472. package/src/components/styled/AudioMessage.tsx +1 -2
  473. package/src/components/styled/DateLabel.tsx +10 -3
  474. package/src/components/styled/MessageImage.tsx +7 -53
  475. package/src/components/styled/NewMessageLabel.tsx +3 -1
  476. package/src/components/styled/SendInput.tsx +18 -91
  477. package/src/components/styled/StyledComponents.ts +3 -9
  478. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +4 -11
  479. package/src/components/styled/UnsupportedType.tsx +4 -14
  480. package/src/components/styled/VideoMessage.tsx +54 -131
  481. package/src/context/xmppProvider.tsx +51 -134
  482. package/src/helpers/createMessageFromXml.ts +1 -20
  483. package/src/helpers/ensureScopedChatCache.ts +2 -2
  484. package/src/helpers/getDataFromXml.ts +25 -1
  485. package/src/helpers/historyPreloadScheduler.ts +3 -80
  486. package/src/helpers/initXmppRooms.tsx +10 -14
  487. package/src/helpers/insertMessageWithDelimiter.ts +13 -0
  488. package/src/helpers/isUnresolvedSenderId.ts +9 -1
  489. package/src/helpers/mimeToExtension.ts +22 -6
  490. package/src/helpers/resolveInitBeforeLoadUser.ts +18 -125
  491. package/src/helpers/resolveLangSource.ts +40 -0
  492. package/src/helpers/xmppUsername.ts +38 -0
  493. package/src/hooks/useChatRoomFocus.ts +5 -14
  494. package/src/hooks/useChatWrapperInit.ts +16 -32
  495. package/src/hooks/useComposing.tsx +1 -37
  496. package/src/hooks/useLogout.tsx +9 -15
  497. package/src/hooks/usePendingNotification.ts +11 -5
  498. package/src/hooks/useSendMessage.tsx +15 -60
  499. package/src/hooks/useUnreadMessagesCounter.ts +0 -11
  500. package/src/i18n/strings.ts +133 -121
  501. package/src/i18n/useT.ts +1 -1
  502. package/src/main.ts +2 -26
  503. package/src/networking/api-requests/auth.api.ts +48 -156
  504. package/src/networking/api-requests/roomMembers.api.ts +1 -1
  505. package/src/networking/api-requests/rooms.api.ts +9 -9
  506. package/src/networking/api-requests/user.api.ts +7 -79
  507. package/src/networking/apiClient.ts +123 -68
  508. package/src/networking/stanzaHandlers.ts +51 -92
  509. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +10 -71
  510. package/src/networking/xmpp/presenceInRoom.xmpp.ts +1 -6
  511. package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +1 -12
  512. package/src/networking/xmppClient.ts +9 -141
  513. package/src/roomStore/chatSettingsSlice.ts +10 -34
  514. package/src/roomStore/index.ts +4 -40
  515. package/src/roomStore/persistence.ts +40 -234
  516. package/src/roomStore/roomsSlice.ts +7 -87
  517. package/src/services/pushSubscriptionService.ts +13 -18
  518. package/src/types/types.ts +5 -58
  519. package/src/version.ts +3 -1
  520. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +0 -226
  521. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +0 -1
  522. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +0 -556
  523. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +0 -1
  524. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +0 -210
  525. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +0 -1
  526. package/lib/commonjs/helpers/getChatBackground.js +0 -23
  527. package/lib/commonjs/helpers/getChatBackground.js.map +0 -1
  528. package/lib/commonjs/helpers/getDisplayFileName.js +0 -79
  529. package/lib/commonjs/helpers/getDisplayFileName.js.map +0 -1
  530. package/lib/commonjs/helpers/getServerReadTimestamp.js +0 -125
  531. package/lib/commonjs/helpers/getServerReadTimestamp.js.map +0 -1
  532. package/lib/commonjs/helpers/isOwnMessage.js +0 -75
  533. package/lib/commonjs/helpers/isOwnMessage.js.map +0 -1
  534. package/lib/commonjs/helpers/mediaLibraryRuntime.js +0 -31
  535. package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +0 -1
  536. package/lib/commonjs/helpers/persistCrypto.js +0 -122
  537. package/lib/commonjs/helpers/persistCrypto.js.map +0 -1
  538. package/lib/commonjs/helpers/pickImageAsset.js +0 -68
  539. package/lib/commonjs/helpers/pickImageAsset.js.map +0 -1
  540. package/lib/commonjs/helpers/pushPayload.js +0 -71
  541. package/lib/commonjs/helpers/pushPayload.js.map +0 -1
  542. package/lib/commonjs/helpers/secureFileUrl.js +0 -101
  543. package/lib/commonjs/helpers/secureFileUrl.js.map +0 -1
  544. package/lib/commonjs/helpers/secureKeyValue.js +0 -83
  545. package/lib/commonjs/helpers/secureKeyValue.js.map +0 -1
  546. package/lib/commonjs/helpers/secureStoreRuntime.js +0 -59
  547. package/lib/commonjs/helpers/secureStoreRuntime.js.map +0 -1
  548. package/lib/commonjs/helpers/secureUserStorage.js +0 -75
  549. package/lib/commonjs/helpers/secureUserStorage.js.map +0 -1
  550. package/lib/commonjs/helpers/shallowEqual.js +0 -36
  551. package/lib/commonjs/helpers/shallowEqual.js.map +0 -1
  552. package/lib/commonjs/helpers/sheetGestures.js +0 -32
  553. package/lib/commonjs/helpers/sheetGestures.js.map +0 -1
  554. package/lib/commonjs/hooks/useFileToken.js +0 -10
  555. package/lib/commonjs/hooks/useFileToken.js.map +0 -1
  556. package/lib/commonjs/networking/authRefresh.js +0 -332
  557. package/lib/commonjs/networking/authRefresh.js.map +0 -1
  558. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +0 -223
  559. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +0 -1
  560. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +0 -548
  561. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +0 -1
  562. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +0 -205
  563. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +0 -1
  564. package/lib/module/helpers/getChatBackground.js +0 -18
  565. package/lib/module/helpers/getChatBackground.js.map +0 -1
  566. package/lib/module/helpers/getDisplayFileName.js +0 -73
  567. package/lib/module/helpers/getDisplayFileName.js.map +0 -1
  568. package/lib/module/helpers/getServerReadTimestamp.js +0 -120
  569. package/lib/module/helpers/getServerReadTimestamp.js.map +0 -1
  570. package/lib/module/helpers/isOwnMessage.js +0 -70
  571. package/lib/module/helpers/isOwnMessage.js.map +0 -1
  572. package/lib/module/helpers/mediaLibraryRuntime.js +0 -25
  573. package/lib/module/helpers/mediaLibraryRuntime.js.map +0 -1
  574. package/lib/module/helpers/persistCrypto.js +0 -115
  575. package/lib/module/helpers/persistCrypto.js.map +0 -1
  576. package/lib/module/helpers/pickImageAsset.js +0 -63
  577. package/lib/module/helpers/pickImageAsset.js.map +0 -1
  578. package/lib/module/helpers/pushPayload.js +0 -63
  579. package/lib/module/helpers/pushPayload.js.map +0 -1
  580. package/lib/module/helpers/secureFileUrl.js +0 -91
  581. package/lib/module/helpers/secureFileUrl.js.map +0 -1
  582. package/lib/module/helpers/secureKeyValue.js +0 -75
  583. package/lib/module/helpers/secureKeyValue.js.map +0 -1
  584. package/lib/module/helpers/secureStoreRuntime.js +0 -52
  585. package/lib/module/helpers/secureStoreRuntime.js.map +0 -1
  586. package/lib/module/helpers/secureUserStorage.js +0 -72
  587. package/lib/module/helpers/secureUserStorage.js.map +0 -1
  588. package/lib/module/helpers/shallowEqual.js +0 -31
  589. package/lib/module/helpers/shallowEqual.js.map +0 -1
  590. package/lib/module/helpers/sheetGestures.js +0 -26
  591. package/lib/module/helpers/sheetGestures.js.map +0 -1
  592. package/lib/module/hooks/useFileToken.js +0 -5
  593. package/lib/module/hooks/useFileToken.js.map +0 -1
  594. package/lib/module/networking/authRefresh.js +0 -321
  595. package/lib/module/networking/authRefresh.js.map +0 -1
  596. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +0 -9
  597. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +0 -1
  598. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +0 -75
  599. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +0 -1
  600. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +0 -25
  601. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +0 -1
  602. package/lib/typescript/helpers/getChatBackground.d.ts +0 -15
  603. package/lib/typescript/helpers/getChatBackground.d.ts.map +0 -1
  604. package/lib/typescript/helpers/getDisplayFileName.d.ts +0 -49
  605. package/lib/typescript/helpers/getDisplayFileName.d.ts.map +0 -1
  606. package/lib/typescript/helpers/getServerReadTimestamp.d.ts +0 -69
  607. package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +0 -1
  608. package/lib/typescript/helpers/isOwnMessage.d.ts +0 -36
  609. package/lib/typescript/helpers/isOwnMessage.d.ts.map +0 -1
  610. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +0 -3
  611. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +0 -1
  612. package/lib/typescript/helpers/persistCrypto.d.ts +0 -13
  613. package/lib/typescript/helpers/persistCrypto.d.ts.map +0 -1
  614. package/lib/typescript/helpers/pickImageAsset.d.ts +0 -27
  615. package/lib/typescript/helpers/pickImageAsset.d.ts.map +0 -1
  616. package/lib/typescript/helpers/pushPayload.d.ts +0 -7
  617. package/lib/typescript/helpers/pushPayload.d.ts.map +0 -1
  618. package/lib/typescript/helpers/secureFileUrl.d.ts +0 -7
  619. package/lib/typescript/helpers/secureFileUrl.d.ts.map +0 -1
  620. package/lib/typescript/helpers/secureKeyValue.d.ts +0 -13
  621. package/lib/typescript/helpers/secureKeyValue.d.ts.map +0 -1
  622. package/lib/typescript/helpers/secureStoreRuntime.d.ts +0 -29
  623. package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +0 -1
  624. package/lib/typescript/helpers/secureUserStorage.d.ts +0 -23
  625. package/lib/typescript/helpers/secureUserStorage.d.ts.map +0 -1
  626. package/lib/typescript/helpers/shallowEqual.d.ts +0 -11
  627. package/lib/typescript/helpers/shallowEqual.d.ts.map +0 -1
  628. package/lib/typescript/helpers/sheetGestures.d.ts +0 -20
  629. package/lib/typescript/helpers/sheetGestures.d.ts.map +0 -1
  630. package/lib/typescript/hooks/useFileToken.d.ts +0 -2
  631. package/lib/typescript/hooks/useFileToken.d.ts.map +0 -1
  632. package/lib/typescript/networking/authRefresh.d.ts +0 -95
  633. package/lib/typescript/networking/authRefresh.d.ts.map +0 -1
  634. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +0 -244
  635. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +0 -615
  636. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +0 -217
  637. package/src/helpers/getChatBackground.ts +0 -18
  638. package/src/helpers/getDisplayFileName.ts +0 -87
  639. package/src/helpers/getServerReadTimestamp.ts +0 -120
  640. package/src/helpers/isOwnMessage.ts +0 -90
  641. package/src/helpers/mediaLibraryRuntime.ts +0 -25
  642. package/src/helpers/persistCrypto.ts +0 -127
  643. package/src/helpers/pickImageAsset.ts +0 -68
  644. package/src/helpers/pushPayload.ts +0 -62
  645. package/src/helpers/secureFileUrl.ts +0 -103
  646. package/src/helpers/secureKeyValue.ts +0 -80
  647. package/src/helpers/secureStoreRuntime.ts +0 -62
  648. package/src/helpers/secureUserStorage.ts +0 -80
  649. package/src/helpers/shallowEqual.ts +0 -33
  650. package/src/helpers/sheetGestures.ts +0 -25
  651. package/src/hooks/useFileToken.ts +0 -7
  652. package/src/networking/authRefresh.ts +0 -451
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethora/chat-component-rn",
3
- "version": "26.7.9",
3
+ "version": "26.8.1",
4
4
  "description": "Drop-in XMPP chat component for React Native / Expo. <Chat config={...}/> and you're done.",
5
5
  "main": "index.js",
6
6
  "module": "lib/module/main.js",
@@ -48,7 +48,6 @@
48
48
  "@react-native-async-storage/async-storage": ">=1.21.0",
49
49
  "@react-native-community/netinfo": ">=11.0.0",
50
50
  "expo-audio": ">=1.0.0",
51
- "expo-blur": ">=13.0.0",
52
51
  "expo-clipboard": ">=7.0.0",
53
52
  "expo-document-picker": ">=13.0.0",
54
53
  "expo-file-system": ">=19.0.0",
@@ -56,7 +55,6 @@
56
55
  "expo-image-manipulator": ">=13.0.0",
57
56
  "expo-image-picker": ">=16.0.0",
58
57
  "expo-media-library": ">=17.0.0",
59
- "expo-secure-store": ">=13.0.0",
60
58
  "expo-video": ">=2.0.0",
61
59
  "react": ">=18.0.0",
62
60
  "react-native": ">=0.73.0",
@@ -94,9 +92,6 @@
94
92
  "expo-audio": {
95
93
  "optional": true
96
94
  },
97
- "expo-blur": {
98
- "optional": true
99
- },
100
95
  "expo-clipboard": {
101
96
  "optional": true
102
97
  },
@@ -118,9 +113,6 @@
118
113
  "expo-media-library": {
119
114
  "optional": true
120
115
  },
121
- "expo-secure-store": {
122
- "optional": true
123
- },
124
116
  "expo-video": {
125
117
  "optional": true
126
118
  }
@@ -135,6 +127,7 @@
135
127
  "fix-prebuild-deps": "node scripts/fix-prebuild-deps.js",
136
128
  "lint": "eslint .",
137
129
  "test": "jest",
130
+ "version": "node scripts/sync-version.mjs",
138
131
  "build": "bob build",
139
132
  "clean": "rm -rf lib",
140
133
  "prepack": "npm run clean && npm run build",
@@ -146,9 +139,8 @@
146
139
  "@reduxjs/toolkit": "^2.5.0",
147
140
  "@xmpp/client": "^0.13.1",
148
141
  "axios": "^1.7.9",
149
- "crypto-js": "^4.2.0",
150
142
  "js-sha256": "^0.11.0",
151
- "react-native-keyboard-controller": "^1.22.3",
143
+ "react-native-keyboard-controller": "^1.18.5",
152
144
  "react-native-webview": "^13.16.1",
153
145
  "react-redux": "^9.2.0",
154
146
  "styled-components": "^6.1.13"
@@ -157,48 +149,44 @@
157
149
  "@babel/core": "^7.25.2",
158
150
  "@babel/preset-env": "^7.25.3",
159
151
  "@babel/runtime": "^7.25.0",
160
- "@livekit/react-native": "2.12.0",
161
- "@livekit/react-native-webrtc": "144.1.2",
152
+ "@livekit/react-native": "2.7.6",
153
+ "@livekit/react-native-webrtc": "125.0.11",
162
154
  "@react-native-async-storage/async-storage": "2.2.0",
163
- "@react-native-community/netinfo": "12.0.1",
164
- "@react-native/eslint-config": "^0.86.2",
165
- "@types/crypto-js": "^4.2.2",
155
+ "@react-native-community/netinfo": "11.4.1",
166
156
  "@types/jest": "^29.5.12",
167
- "@types/react": "~19.2.0",
157
+ "@types/react": "~19.1.0",
168
158
  "@types/react-test-renderer": "^19.1.0",
169
159
  "babel-jest": "^29.6.3",
170
160
  "eslint": "^8.19.0",
171
- "eslint-config-expo": "~57.0.1",
172
- "expo": "~57.0.0",
173
- "expo-audio": "~57.0.3",
174
- "expo-blur": "~57.0.2",
175
- "expo-build-properties": "~57.0.10",
176
- "expo-clipboard": "~57.0.1",
177
- "expo-document-picker": "~57.0.1",
178
- "expo-image-manipulator": "~57.0.9",
179
- "expo-image-picker": "~57.0.9",
180
- "expo-media-library": "~57.0.3",
181
- "expo-secure-store": "~15.0.7",
182
- "expo-status-bar": "~57.0.1",
183
- "expo-video": "~57.0.2",
161
+ "eslint-config-expo": "~9.2.0",
162
+ "expo": "~54.0.0",
163
+ "expo-audio": "~1.1.1",
164
+ "expo-build-properties": "^55.0.14",
165
+ "expo-clipboard": "~8.0.8",
166
+ "expo-document-picker": "~14.0.0",
167
+ "expo-image-manipulator": "~14.0.0",
168
+ "expo-image-picker": "~17.0.0",
169
+ "expo-media-library": "~18.2.1",
170
+ "expo-status-bar": "~3.0.0",
171
+ "expo-video": "~3.0.16",
184
172
  "jest": "^29.6.3",
185
- "jest-expo": "~57.0.4",
186
- "livekit-client": "2.21.0",
173
+ "jest-expo": "~54.0.0",
174
+ "livekit-client": "2.9.0",
187
175
  "patch-package": "^8.0.1",
188
176
  "prettier": "2.8.8",
189
- "react": "19.2.8",
190
- "react-native": "0.86.2",
177
+ "react": "19.1.0",
178
+ "react-native": "0.81.5",
191
179
  "react-native-builder-bob": "^0.41.0",
192
180
  "react-native-callkeep": "4.3.16",
193
- "react-native-gesture-handler": "~2.32.0",
181
+ "react-native-gesture-handler": "~2.28.0",
194
182
  "react-native-get-random-values": "~1.11.0",
195
- "react-native-reanimated": "~4.5.1",
196
- "react-native-safe-area-context": "~5.7.0",
197
- "react-native-screens": "~4.26.0",
198
- "react-native-svg": "15.15.4",
199
- "react-native-worklets": "~0.10.1",
183
+ "react-native-reanimated": "~4.1.0",
184
+ "react-native-safe-area-context": "~5.6.0",
185
+ "react-native-screens": "~4.16.0",
186
+ "react-native-svg": "15.12.1",
187
+ "react-native-worklets": "~0.5.0",
200
188
  "react-qr-code": "^2.0.15",
201
- "react-test-renderer": "19.2.8",
189
+ "react-test-renderer": "19.1.0",
202
190
  "typescript": "~5.9.0"
203
191
  },
204
192
  "engines": {
@@ -271,18 +271,18 @@ export const NoMessages = ({
271
271
  </Svg>
272
272
  );
273
273
 
274
- export const ReportIcon = ({ color = '#E53935', ...props }) => (
274
+ export const ReportIcon = ({ color = '#8C8C8C', ...props }) => (
275
275
  <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
276
276
  <Path
277
277
  d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z"
278
- stroke={color}
278
+ stroke="#E53935"
279
279
  strokeWidth="1.5"
280
280
  strokeLinecap="round"
281
281
  strokeLinejoin="round"
282
282
  />
283
283
  <Path
284
284
  d="M12 7V13M12 16H12.01"
285
- stroke={color}
285
+ stroke="#E53935"
286
286
  strokeWidth="1.5"
287
287
  strokeLinecap="round"
288
288
  strokeLinejoin="round"
@@ -333,26 +333,6 @@ export const ReplyIcon = ({ color = '#8C8C8C', ...props }) => (
333
333
  </Svg>
334
334
  );
335
335
 
336
- /**
337
- * Classic "share" glyph — three nodes joined by two links — for the
338
- * profile's Share button. `SendItemIcon`, which used to stand in here, is
339
- * a textured item/token badge with a hardcoded blue outline: wrong shape,
340
- * and it ignores the button's tint.
341
- */
342
- export const ShareIcon = ({ color = '#8C8C8C', width = 24, height = 24, ...props }) => (
343
- <Svg width={width} height={height} viewBox="0 0 24 24" fill="none" {...props}>
344
- <Circle cx="18" cy="5" r="3" stroke={color} strokeWidth="2" />
345
- <Circle cx="6" cy="12" r="3" stroke={color} strokeWidth="2" />
346
- <Circle cx="18" cy="19" r="3" stroke={color} strokeWidth="2" />
347
- <Path
348
- d="M8.59 13.51L15.42 17.49M15.41 6.51L8.59 10.49"
349
- stroke={color}
350
- strokeWidth="2"
351
- strokeLinecap="round"
352
- />
353
- </Svg>
354
- );
355
-
356
336
  export const SendItemIcon = ({ color = '#8C8C8C', ...props }) => (
357
337
  <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
358
338
  <Path
@@ -457,18 +437,18 @@ export const BurgerMenuIcon = ({ color = '#fff', ...props }) => (
457
437
  </Svg>
458
438
  );
459
439
 
460
- export const LeaveIcon = ({ color = '#E53935', ...props }) => (
440
+ export const LeaveIcon = ({ color = '#fff', ...props }) => (
461
441
  <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
462
442
  <Path
463
443
  d="M14 8V6C14 5.46957 13.7893 4.96086 13.4142 4.58579C13.0391 4.21071 12.5304 4 12 4H5C4.46957 4 3.96086 4.21071 3.58579 4.58579C3.21071 4.96086 3 5.46957 3 6V18C3 18.5304 3.21071 19.0391 3.58579 19.4142C3.96086 19.7893 4.46957 20 5 20H12C12.5304 20 13.0391 19.7893 13.4142 19.4142C13.7893 19.0391 14 18.5304 14 18V16"
464
- stroke={color}
444
+ stroke="#E53935"
465
445
  strokeWidth="2"
466
446
  strokeLinecap="round"
467
447
  strokeLinejoin="round"
468
448
  />
469
449
  <Path
470
450
  d="M9 12H21M21 12L18 9M21 12L18 15"
471
- stroke={color}
451
+ stroke="#E53935"
472
452
  strokeWidth="2"
473
453
  strokeLinecap="round"
474
454
  strokeLinejoin="round"
@@ -476,12 +456,12 @@ export const LeaveIcon = ({ color = '#E53935', ...props }) => (
476
456
  </Svg>
477
457
  );
478
458
 
479
- export const BackIcon = ({ color = '#8C8C8C', ...props }) => (
459
+ export const BackIcon = ({ color = '#fff', ...props }) => (
480
460
  <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
481
- <Path d="M5 12H19H5ZM5 12L9 8L5 12ZM5 12L9 16L5 12Z" fill={color} />
461
+ <Path d="M5 12H19H5ZM5 12L9 8L5 12ZM5 12L9 16L5 12Z" fill="#8C8C8C" />
482
462
  <Path
483
463
  d="M5 12H19M5 12L9 8M5 12L9 16"
484
- stroke={color}
464
+ stroke="#8C8C8C"
485
465
  strokeWidth="2"
486
466
  strokeLinecap="round"
487
467
  strokeLinejoin="round"
@@ -598,25 +578,6 @@ export const SettingIcon = ({ color = '#8C8C8C', ...props }) => (
598
578
  </Svg>
599
579
  );
600
580
 
601
- export const LogoutIcon = ({ color = '#8C8C8C', ...props }) => (
602
- <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
603
- <Path
604
- d="M15 4H18C19.1046 4 20 4.89543 20 6V18C20 19.1046 19.1046 20 18 20H15"
605
- stroke={color}
606
- strokeWidth="2"
607
- strokeLinecap="round"
608
- strokeLinejoin="round"
609
- />
610
- <Path
611
- d="M10 8L14 12L10 16M14 12H4"
612
- stroke={color}
613
- strokeWidth="2"
614
- strokeLinecap="round"
615
- strokeLinejoin="round"
616
- />
617
- </Svg>
618
- );
619
-
620
581
  export const FileIcon = ({ width = 46, height = 46, ...props }) => (
621
582
  <Svg width={width} height={height} viewBox="0 0 40 40" fill="none">
622
583
  <Rect width="40" height="40" rx="8" fill="#F2E6F6" />
@@ -12,8 +12,9 @@ import {
12
12
  // signInWithGoogle,
13
13
  } from '../../networking/api-requests/auth.api';
14
14
  import { useDispatch } from 'react-redux';
15
- import { secureUserStorage } from '../../helpers/secureUserStorage';
15
+ import { useLocalStorage } from '../../hooks/useLocalStorage';
16
16
  import { setUser, unpackAndTransform } from '../../roomStore/chatSettingsSlice';
17
+ import { localStorageConstants } from '../../helpers/constants/LOCAL_STORAGE';
17
18
  import { Text, TextInput, View } from 'react-native';
18
19
 
19
20
  interface LoginFormProps {
@@ -22,7 +23,7 @@ interface LoginFormProps {
22
23
 
23
24
  const LoginForm: React.FC<LoginFormProps> = ({ config }) => {
24
25
  const dispatch = useDispatch();
25
- const { set } = secureUserStorage();
26
+ const { set } = useLocalStorage(localStorageConstants.ETHORA_USER);
26
27
 
27
28
  const [email, setEmail] = useState('');
28
29
  const [password, setPassword] = useState('');
@@ -63,7 +64,6 @@ const LoginForm: React.FC<LoginFormProps> = ({ config }) => {
63
64
  ...authData.data.user,
64
65
  token: authData.data.token,
65
66
  refreshToken: authData.data.refreshToken,
66
- fileToken: (authData.data as any).fileToken || '',
67
67
  };
68
68
  dispatch(setUser(user));
69
69
 
@@ -1,6 +1,5 @@
1
1
  /** @format */
2
2
 
3
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
4
3
  import React, { FC, useMemo } from 'react';
5
4
  import { View, StyleSheet, Image, Text } from 'react-native';
6
5
  import { ProfileImagePlaceholder } from '../MainComponents/ProfileImagePlaceholder';
@@ -14,8 +13,6 @@ interface HeaderRoomListProps {
14
13
 
15
14
  export const HeaderRoomList: FC<HeaderRoomListProps> = ({ setDrawerOpen }) => {
16
15
  const { config, user, selectedUser } = useChatSettingState();
17
- const insets = useSafeAreaInsets();
18
- const topInset = config?.headerLayout?.safeAreaTop ? insets.top : 0;
19
16
 
20
17
  const modalUser: any = selectedUser ?? user;
21
18
 
@@ -37,20 +34,15 @@ export const HeaderRoomList: FC<HeaderRoomListProps> = ({ setDrawerOpen }) => {
37
34
  }, [config?.backgroundChat?.image]);
38
35
 
39
36
  return (
40
- <View style={[styles.headerContainer, topInset ? { paddingTop: 16 + topInset } : null]}>
37
+ <View style={styles.headerContainer}>
41
38
  {!config?.disableRoomMenu && config?.headerMenu ? (
42
39
  <View style={styles.leftContainer}>
43
40
  <Button
44
- testID="room-list-burger"
45
41
  style={styles.menuButton}
46
42
  color="black"
47
43
  unstyled
48
44
  EndIcon={<BurgerMenuIcon color={config?.colors?.primary} />}
49
- onPress={() =>
50
- typeof config?.headerMenu === 'function'
51
- ? config.headerMenu()
52
- : setDrawerOpen()
53
- }
45
+ onPress={() => config?.headerMenu && config?.headerMenu()}
54
46
  />
55
47
  </View>
56
48
  ) : (
@@ -67,7 +59,7 @@ export const HeaderRoomList: FC<HeaderRoomListProps> = ({ setDrawerOpen }) => {
67
59
  <ProfileImagePlaceholder
68
60
  icon={modalUser?.profileImage ?? null}
69
61
  name={modalUser?.name ?? modalUser?.firstName}
70
- size={36}
62
+ size={30}
71
63
  click={{
72
64
  isClick: true,
73
65
  onPress: setDrawerOpen,
@@ -84,19 +76,9 @@ const styles = StyleSheet.create({
84
76
  alignItems: 'center',
85
77
  paddingHorizontal: 16,
86
78
  paddingTop: 16,
87
- paddingBottom: 12,
79
+ paddingBottom: 8,
88
80
  minHeight: 56,
89
81
  justifyContent: 'space-between',
90
- backgroundColor: '#FFFFFF',
91
- borderBottomLeftRadius: 20,
92
- borderBottomRightRadius: 20,
93
- // Lifts the header off the page ground behind it.
94
- shadowColor: '#101828',
95
- shadowOffset: { width: 0, height: 4 },
96
- shadowOpacity: 0.06,
97
- shadowRadius: 12,
98
- elevation: 4,
99
- zIndex: 2,
100
82
  },
101
83
  menuButton: {
102
84
  padding: 8,
@@ -104,7 +86,7 @@ const styles = StyleSheet.create({
104
86
  backgroundColor: 'transparent',
105
87
  },
106
88
  leftContainer: {
107
- width: 44,
89
+ width: 40,
108
90
  alignItems: 'flex-start',
109
91
  justifyContent: 'center',
110
92
  },
@@ -116,7 +98,7 @@ const styles = StyleSheet.create({
116
98
  justifyContent: 'center',
117
99
  },
118
100
  rightContainer: {
119
- width: 44,
101
+ width: 40,
120
102
  alignItems: 'flex-end',
121
103
  justifyContent: 'center',
122
104
  },
@@ -1,7 +1,6 @@
1
1
  /** @format */
2
2
 
3
3
  import React, { useCallback } from 'react';
4
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
4
  import {
6
5
  CenterContainer,
7
6
  ChatContainerHeader,
@@ -29,8 +28,6 @@ import { MODAL_TYPES } from '../../helpers/constants/MODAL_TYPES';
29
28
  import { RoomMenu } from '../MenuRoom/MenuRoom';
30
29
  import { useRoomState } from '../../hooks/useRoomState';
31
30
  import { useChatSettingState } from '../../hooks/useChatSettingState';
32
- import { useFileToken } from '../../hooks/useFileToken';
33
- import { appendFileToken } from '../../helpers/secureFileUrl';
34
31
  import { View, StyleSheet, Text, Keyboard } from 'react-native';
35
32
  import { getIconColor } from '../../helpers/getIconColor';
36
33
  import { resolveHeaderHeight } from '../../helpers/headerLayout';
@@ -46,7 +43,6 @@ const ChatHeader: React.FC<ChatHeaderProps> = ({
46
43
  currentRoom,
47
44
  handleBackClick,
48
45
  }) => {
49
- const fileToken = useFileToken();
50
46
  const dispatch = useDispatch();
51
47
  const { client } = useXmppClient();
52
48
 
@@ -88,14 +84,12 @@ const ChatHeader: React.FC<ChatHeaderProps> = ({
88
84
  // here so `height` defines the band exactly (content centers via the
89
85
  // styled `align-items: center`); the styled 12px vertical padding would
90
86
  // otherwise add on top of it.
91
- const insets = useSafeAreaInsets();
92
- const topInset = config?.headerLayout?.safeAreaTop ? insets.top : 0;
93
- const headerHeight = resolveHeaderHeight(config?.headerLayout?.height) + topInset;
87
+ const headerHeight = resolveHeaderHeight(config?.headerLayout?.height);
94
88
 
95
89
  return (
96
90
  <>
97
91
  <ChatContainerHeader
98
- style={{ height: headerHeight, paddingTop: topInset, paddingBottom: 0 }}
92
+ style={{ height: headerHeight, paddingTop: 0, paddingBottom: 0 }}
99
93
  >
100
94
  {handleBackClick && !config?.headerChatMenu ? (
101
95
  <View style={styles.leftContainer}>
@@ -158,7 +152,7 @@ const ChatHeader: React.FC<ChatHeaderProps> = ({
158
152
  <ProfileImagePlaceholder
159
153
  name={currentRoom?.title || currentRoom?.name}
160
154
  size={40}
161
- icon={appendFileToken(currentRoom?.icon, fileToken)}
155
+ icon={currentRoom?.icon}
162
156
  active={!config?.disableChatInfo?.disableChatHeaderMenu}
163
157
  click={
164
158
  config?.disableChatInfo?.disableChatHeaderMenu
@@ -20,7 +20,6 @@ import NewChatModal from '../Modals/NewChatModal/NewChatModal';
20
20
  import { EditWrapper } from './EditWrapper';
21
21
  import { EmptyChatIllustration } from '../../assets/EmptyChatIllustration';
22
22
  import { getIconColor } from '../../helpers/getIconColor';
23
- import { getChatBackgroundColor } from '../../helpers/getChatBackground';
24
23
  import { ChooseChatMessage } from './ChooseChatMessage';
25
24
  import { useRoomUrl } from '../../hooks/useRoomUrl';
26
25
  import { useSendMessage } from '../../hooks/useSendMessage';
@@ -28,14 +27,10 @@ import { IConfig } from '../../types/models/config.model';
28
27
  import { useRoomInitialization } from '../../hooks/useRoomInitialization';
29
28
  import { useRoomState } from '../../hooks/useRoomState';
30
29
  import { useChatSettingState } from '../../hooks/useChatSettingState';
31
- import { isOwnMessage } from '../../helpers/isOwnMessage';
32
30
  import CustomTypingIndicator from '../styled/StyledInputComponents/CustomTypingIndicator';
33
31
  // import {PanGestureHandler} from 'react-native-gesture-handler';
34
32
  import { FlatList } from 'react-native';
35
33
  import {
36
- AppState,
37
- AppStateStatus,
38
- Keyboard,
39
34
  Platform,
40
35
  TouchableWithoutFeedback,
41
36
  View,
@@ -47,7 +42,6 @@ import {
47
42
  } from 'react-native-keyboard-controller';
48
43
  import useComposing from '../../hooks/useComposing';
49
44
  import { store } from '../../roomStore';
50
- import { getServerReadTimestamp } from '../../helpers/getServerReadTimestamp';
51
45
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
52
46
  import {
53
47
  getInputDockPaddingBottom,
@@ -112,45 +106,6 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
112
106
  configWithEventHandlers || storeConfig,
113
107
  );
114
108
 
115
- // Under the sticky keyboard strategy, the input dock's position is
116
- // driven by KeyboardStickyView's native-animated offset. If the app
117
- // is backgrounded while the keyboard-close animation hasn't finished,
118
- // the OS removes the keyboard from the app-switcher snapshot but the
119
- // shared value hasn't caught up to "closed" yet, so the input appears
120
- // to float in that preview.
121
- //
122
- // NOTE on what this does and doesn't fix: iOS actually captures that
123
- // preview during the active→inactive transition, BEFORE 'background'
124
- // fires — so dismissing here on 'background' lands too late to affect
125
- // the snapshot already taken, and is effectively a no-op for the exact
126
- // iOS symptom in bug #37. An earlier version keyed this off 'inactive'
127
- // instead, which does land in time, but 'inactive' also fires for
128
- // Control Center, share sheets, and permission prompts — none of which
129
- // should close the user's keyboard — so that traded a rare cosmetic
130
- // preview glitch for a much more common false dismissal. Kept on
131
- // 'background': it still resets the offset for genuine backgrounding
132
- // (home button, app switch) and for Android's recents preview (RN's
133
- // AppState has no 'inactive' there), at the cost of leaving the iOS
134
- // switcher-preview glitch itself unresolved. Both symptoms are cosmetic
135
- // per the QA report, which explicitly accepted leaving this imperfect
136
- // rather than risk destabilizing the sticky strategy. Sticky-only;
137
- // doesn't touch the other keyboard strategies.
138
- const stickyInputEnabled =
139
- !configWithEventHandlers?.disableKeyboardAvoidingView &&
140
- !!configWithEventHandlers?.keyboardStickyInput;
141
- useEffect(() => {
142
- if (!stickyInputEnabled) {
143
- return;
144
- }
145
- const onAppStateChange = (nextState: AppStateStatus) => {
146
- if (nextState === 'background') {
147
- Keyboard.dismiss();
148
- }
149
- };
150
- const subscription = AppState.addEventListener('change', onAppStateChange);
151
- return () => subscription.remove();
152
- }, [stickyInputEnabled]);
153
-
154
109
  const sendMessage = useCallback(
155
110
  (message: string) => {
156
111
  if (!activeRoomJID) {
@@ -215,55 +170,27 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
215
170
  clientRef.current = client;
216
171
  }, [client]);
217
172
 
218
- // Tracks what the user actually saw: `null` while they're at the
219
- // bottom (safe to mark everything read), or the timestamp of the
220
- // newest message visible when they scrolled away from it. Reported
221
- // by MessageList via onReadBoundaryChange. Without this, leaving a
222
- // room (or backgrounding) while scrolled up stamped `now()` as read
223
- // and silently discarded genuinely-unread messages. Customer-
224
- // reported #33.
225
- const readBoundaryRef = useRef<number | null>(null);
226
- const handleReadBoundaryChange = useCallback((boundaryTs: number | null) => {
227
- readBoundaryRef.current = boundaryTs;
228
- }, []);
229
-
230
173
  useEffect(() => {
231
174
  if (!activeRoomJID) {
232
175
  return;
233
176
  }
234
177
 
235
- readBoundaryRef.current = null;
236
178
  dispatch(setVisibleRoom({ roomJID: activeRoomJID }));
237
179
  setIsLoadingMore(false);
238
180
  return () => {
239
- const rooms = store.getState().rooms?.rooms;
240
- const heapState = store.getState().roomHeapSlice;
241
- // Fall back to the newest server-acked message, never the device
242
- // clock: a fast device clock would write a future marker that the
243
- // forward-only private-store merge could never correct (bug #38).
244
- const timestamp =
245
- readBoundaryRef.current ??
246
- getServerReadTimestamp(rooms?.[activeRoomJID], heapState);
247
- if (timestamp > 0) {
248
- dispatch(
249
- setLastViewedTimestamp({
250
- chatJID: activeRoomJID,
251
- timestamp,
252
- }),
253
- );
254
- }
181
+ const timestamp = new Date().getTime();
182
+ dispatch(
183
+ setLastViewedTimestamp({
184
+ chatJID: activeRoomJID,
185
+ timestamp,
186
+ }),
187
+ );
255
188
  dispatch(clearVisibleRoom());
256
189
  const liveClient = clientRef.current;
257
190
  if (liveClient) {
258
191
  liveClient
259
- .flushLastViewedToPrivateStoreStanza(rooms, {
192
+ .flushLastViewedToPrivateStoreStanza(store.getState().rooms?.rooms, {
260
193
  visibleRoomJID: activeRoomJID,
261
- // Carry the same boundary to the SERVER marker. Without
262
- // this the flush defaults to "everything" for the visible
263
- // room, so messages the user never scrolled down to come
264
- // back as read on the next login — the local count was
265
- // right but the server overrode it.
266
- visibleRoomTs: readBoundaryRef.current,
267
194
  })
268
195
  .catch(() => {});
269
196
  }
@@ -352,20 +279,7 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
352
279
  ? KeyboardStickyView
353
280
  : View;
354
281
  const inputDockProps: any = {
355
- // The dock carries the composer's white surface all the way to the
356
- // bottom edge, so it needs the same rounded top and upward shadow —
357
- // a square white block behind a rounded composer just hid the corners.
358
- style: {
359
- paddingBottom: inputDockPaddingBottom,
360
- backgroundColor: '#fff',
361
- borderTopLeftRadius: 20,
362
- borderTopRightRadius: 20,
363
- shadowColor: '#101828',
364
- shadowOffset: { width: 0, height: -4 },
365
- shadowOpacity: 0.06,
366
- shadowRadius: 12,
367
- elevation: 8,
368
- },
282
+ style: { paddingBottom: inputDockPaddingBottom, backgroundColor: '#fff' },
369
283
  ...(stickyInput
370
284
  ? { offset: { closed: 0, opened: keyboardVerticalOffset } }
371
285
  : {}),
@@ -374,15 +288,11 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
374
288
  return (
375
289
  <KeyboardWrapper {...keyboardWrapperProps}>
376
290
  <ChatContainer
377
- // The conversation's own colour, not white: the header's rounded
378
- // bottom corners and the composer's rounded top corners reveal
379
- // THIS view, so a white parent made both look square.
380
- style={[
381
- { backgroundColor: getChatBackgroundColor(configWithEventHandlers) },
382
- configWithEventHandlers?.chatRoomStyles as
383
- | import('react-native').ViewStyle
384
- | undefined,
385
- ]}
291
+ style={
292
+ configWithEventHandlers?.chatRoomStyles
293
+ ? (configWithEventHandlers.chatRoomStyles as import('react-native').ViewStyle)
294
+ : undefined
295
+ }
386
296
  >
387
297
  {!configWithEventHandlers?.disableHeader && (
388
298
  <ChatHeader
@@ -421,11 +331,7 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
421
331
  flex: 1,
422
332
  justifyContent: 'center',
423
333
  alignItems: 'center',
424
- // Empty rooms used to flip to white, which broke the
425
- // header's rounded corners in exactly the same way.
426
- backgroundColor: getChatBackgroundColor(
427
- configWithEventHandlers
428
- ),
334
+ backgroundColor: '#ffffff',
429
335
  }}
430
336
  >
431
337
  <NoMessagesPlaceholder />
@@ -451,7 +357,7 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
451
357
  CustomMessageComponent ? (
452
358
  <CustomMessageComponent
453
359
  message={decorated.message}
454
- isUser={isOwnMessage(decorated.message, user)}
360
+ isUser={decorated.message.user.id === user.xmppUsername}
455
361
  isReply={false}
456
362
  />
457
363
  ) : null
@@ -498,7 +404,6 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
498
404
  config={configWithEventHandlers}
499
405
  loading={isLoadingMore}
500
406
  isReply={false}
501
- onReadBoundaryChange={handleReadBoundaryChange}
502
407
  />
503
408
  )}
504
409
  </View>