@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.
- package/CHANGELOG.md +0 -93
- package/README.md +10 -33
- package/lib/commonjs/assets/icons.js +2 -7
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/AuthForms/Login.js +4 -4
- package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
- package/lib/commonjs/components/Header/HeaderRoomList.js +7 -26
- package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +3 -9
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +13 -101
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +38 -34
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/LoginWrapper.js +1 -2
- package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +9 -29
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +1 -5
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +5 -13
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +13 -14
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js +24 -3
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +35 -208
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +98 -317
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageTranslate.js +16 -7
- package/lib/commonjs/components/MessageBubble/MessageTranslate.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +112 -320
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +215 -556
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js +9 -7
- package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +27 -69
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +1 -2
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js +0 -8
- package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +1 -2
- package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +109 -205
- package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
- package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +2 -4
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +21 -7
- package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +244 -507
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +46 -74
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/commonjs/components/Modals/styledModalComponents.js +2 -9
- package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +39 -23
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +3 -22
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +3 -17
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +3 -17
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js +3 -6
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/commonjs/components/styled/AudioMessage.js +1 -2
- package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/DateLabel.js +10 -3
- package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +9 -37
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/NewMessageLabel.js +3 -1
- package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +17 -86
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledComponents.js +3 -9
- package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +4 -11
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/commonjs/components/styled/UnsupportedType.js +4 -14
- package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +61 -119
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +54 -128
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/createMessageFromXml.js +1 -19
- package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
- package/lib/commonjs/helpers/ensureScopedChatCache.js +2 -2
- package/lib/commonjs/helpers/ensureScopedChatCache.js.map +1 -1
- package/lib/commonjs/helpers/getDataFromXml.js +24 -1
- package/lib/commonjs/helpers/getDataFromXml.js.map +1 -1
- package/lib/commonjs/helpers/historyPreloadScheduler.js +2 -65
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/initXmppRooms.js +8 -14
- package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +13 -0
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/isUnresolvedSenderId.js +6 -1
- package/lib/commonjs/helpers/isUnresolvedSenderId.js.map +1 -1
- package/lib/commonjs/helpers/mimeToExtension.js +14 -6
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +17 -130
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/commonjs/helpers/resolveLangSource.js +38 -0
- package/lib/commonjs/helpers/resolveLangSource.js.map +1 -0
- package/lib/commonjs/helpers/xmppUsername.js +39 -0
- package/lib/commonjs/helpers/xmppUsername.js.map +1 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js +8 -17
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/commonjs/hooks/useChatWrapperInit.js +14 -32
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/hooks/useComposing.js +0 -27
- package/lib/commonjs/hooks/useComposing.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +7 -15
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/hooks/usePendingNotification.js +11 -8
- package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +14 -50
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -6
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/i18n/strings.js +133 -121
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/i18n/useT.js +1 -1
- package/lib/commonjs/main.js +0 -44
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/api-requests/auth.api.js +60 -134
- package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/roomMembers.api.js +1 -1
- package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +9 -9
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/user.api.js +9 -68
- package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
- package/lib/commonjs/networking/apiClient.js +112 -62
- package/lib/commonjs/networking/apiClient.js.map +1 -1
- package/lib/commonjs/networking/stanzaHandlers.js +51 -93
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +8 -46
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +1 -8
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +1 -5
- package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +8 -124
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/chatSettingsSlice.js +7 -26
- package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/commonjs/roomStore/index.js +2 -35
- package/lib/commonjs/roomStore/index.js.map +1 -1
- package/lib/commonjs/roomStore/persistence.js +39 -226
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +8 -87
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/services/pushSubscriptionService.js +13 -15
- package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
- package/lib/commonjs/version.js +3 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/assets/icons.js +1 -6
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/AuthForms/Login.js +4 -4
- package/lib/module/components/AuthForms/Login.js.map +1 -1
- package/lib/module/components/Header/HeaderRoomList.js +7 -26
- package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +3 -9
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +14 -102
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +40 -36
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/LoginWrapper.js +1 -2
- package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +10 -30
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +1 -5
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +5 -13
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +13 -14
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/module/components/MainComponents/ReduxWrapper.js +26 -5
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +35 -207
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/Menu/HeaderRoomListMenu.js +101 -319
- package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageTranslate.js +16 -7
- package/lib/module/components/MessageBubble/MessageTranslate.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +115 -311
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +219 -559
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js +9 -7
- package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +28 -70
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js +1 -2
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/module/components/Modals/Modal/Modal.js +1 -9
- package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/ModalContent.js +1 -2
- package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/NewChatModal.js +111 -208
- package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
- package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +2 -4
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +23 -9
- package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +248 -509
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +48 -76
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/module/components/Modals/styledModalComponents.js +2 -9
- package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js +40 -24
- package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js +3 -22
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +3 -17
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +3 -17
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/module/components/VideoCalls/VideoCallSession.js +3 -6
- package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/module/components/styled/AudioMessage.js +1 -2
- package/lib/module/components/styled/AudioMessage.js.map +1 -1
- package/lib/module/components/styled/DateLabel.js +10 -3
- package/lib/module/components/styled/DateLabel.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +9 -37
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/NewMessageLabel.js +3 -1
- package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +18 -87
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledComponents.js +3 -9
- package/lib/module/components/styled/StyledComponents.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +4 -11
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/module/components/styled/UnsupportedType.js +4 -14
- package/lib/module/components/styled/UnsupportedType.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +62 -120
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/xmppProvider.js +55 -128
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/createMessageFromXml.js +1 -19
- package/lib/module/helpers/createMessageFromXml.js.map +1 -1
- package/lib/module/helpers/ensureScopedChatCache.js +2 -2
- package/lib/module/helpers/ensureScopedChatCache.js.map +1 -1
- package/lib/module/helpers/getDataFromXml.js +23 -1
- package/lib/module/helpers/getDataFromXml.js.map +1 -1
- package/lib/module/helpers/historyPreloadScheduler.js +3 -66
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/initXmppRooms.js +8 -14
- package/lib/module/helpers/initXmppRooms.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +13 -0
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/isUnresolvedSenderId.js +6 -1
- package/lib/module/helpers/isUnresolvedSenderId.js.map +1 -1
- package/lib/module/helpers/mimeToExtension.js +13 -6
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- package/lib/module/helpers/resolveInitBeforeLoadUser.js +16 -130
- package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/module/helpers/resolveLangSource.js +32 -0
- package/lib/module/helpers/resolveLangSource.js.map +1 -0
- package/lib/module/helpers/xmppUsername.js +35 -0
- package/lib/module/helpers/xmppUsername.js.map +1 -0
- package/lib/module/hooks/useChatRoomFocus.js +8 -17
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/module/hooks/useChatWrapperInit.js +14 -32
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/hooks/useComposing.js +1 -28
- package/lib/module/hooks/useComposing.js.map +1 -1
- package/lib/module/hooks/useLogout.js +7 -15
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/hooks/usePendingNotification.js +11 -8
- package/lib/module/hooks/usePendingNotification.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +16 -52
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js +1 -6
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/i18n/strings.js +133 -121
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/i18n/useT.js +1 -1
- package/lib/module/main.js +2 -14
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/api-requests/auth.api.js +59 -131
- package/lib/module/networking/api-requests/auth.api.js.map +1 -1
- package/lib/module/networking/api-requests/roomMembers.api.js +1 -1
- package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +9 -9
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/networking/api-requests/user.api.js +7 -64
- package/lib/module/networking/api-requests/user.api.js.map +1 -1
- package/lib/module/networking/apiClient.js +113 -61
- package/lib/module/networking/apiClient.js.map +1 -1
- package/lib/module/networking/stanzaHandlers.js +52 -94
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +8 -46
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +1 -8
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +1 -5
- package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
- package/lib/module/networking/xmppClient.js +8 -124
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/chatSettingsSlice.js +7 -26
- package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/module/roomStore/index.js +4 -37
- package/lib/module/roomStore/index.js.map +1 -1
- package/lib/module/roomStore/persistence.js +38 -223
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +7 -86
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/services/pushSubscriptionService.js +13 -15
- package/lib/module/services/pushSubscriptionService.js.map +1 -1
- package/lib/module/version.js +3 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts +0 -16
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
- package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/LoginWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts +1 -10
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomList.d.ts +0 -7
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +0 -3
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageTranslate.d.ts.map +1 -1
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +0 -9
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +0 -10
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/DeleteChatModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +2 -4
- package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
- package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
- package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +1 -6
- package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +0 -16
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +0 -1
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
- package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts +0 -14
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts +0 -8
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
- package/lib/typescript/helpers/getDataFromXml.d.ts.map +1 -1
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
- package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/isUnresolvedSenderId.d.ts.map +1 -1
- package/lib/typescript/helpers/mimeToExtension.d.ts +15 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
- package/lib/typescript/helpers/resolveLangSource.d.ts +30 -0
- package/lib/typescript/helpers/resolveLangSource.d.ts.map +1 -0
- package/lib/typescript/helpers/xmppUsername.d.ts +13 -0
- package/lib/typescript/helpers/xmppUsername.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts +1 -4
- package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
- package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
- package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
- package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
- package/lib/typescript/hooks/usePendingNotification.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +0 -1
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
- package/lib/typescript/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/i18n/useT.d.ts +1 -1
- package/lib/typescript/main.d.ts +2 -9
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/auth.api.d.ts +1 -3
- package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/user.api.d.ts +0 -27
- package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
- package/lib/typescript/networking/apiClient.d.ts +6 -12
- package/lib/typescript/networking/apiClient.d.ts.map +1 -1
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +2 -10
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/subscribeToRoomMessages.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +0 -14
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts +0 -16
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
- package/lib/typescript/roomStore/index.d.ts.map +1 -1
- package/lib/typescript/roomStore/persistence.d.ts +1 -18
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +1 -14
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/services/pushSubscriptionService.d.ts +1 -1
- package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +5 -49
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/lib/typescript/version.d.ts.map +1 -1
- package/package.json +29 -41
- package/src/assets/icons.tsx +9 -48
- package/src/components/AuthForms/Login.tsx +3 -3
- package/src/components/Header/HeaderRoomList.tsx +6 -24
- package/src/components/MainComponents/ChatHeader.tsx +3 -9
- package/src/components/MainComponents/ChatRoom.tsx +16 -111
- package/src/components/MainComponents/ChatWrapper.tsx +53 -36
- package/src/components/MainComponents/LoginWrapper.tsx +0 -1
- package/src/components/MainComponents/MediaMessage.tsx +8 -26
- package/src/components/MainComponents/MessageContainer.tsx +1 -5
- package/src/components/MainComponents/MessageList.tsx +4 -23
- package/src/components/MainComponents/ProfileImagePlaceholder.tsx +14 -21
- package/src/components/MainComponents/ReduxWrapper.tsx +18 -1
- package/src/components/MainComponents/RoomList.tsx +39 -236
- package/src/components/Menu/HeaderRoomListMenu.tsx +75 -328
- package/src/components/MessageBubble/MessageTranslate.tsx +17 -12
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +99 -331
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +293 -611
- package/src/components/Modals/ChatProfileModal/DeleteChatModal.tsx +9 -7
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +38 -79
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +1 -2
- package/src/components/Modals/Modal/Modal.tsx +0 -7
- package/src/components/Modals/NewChatModal/ModalContent.tsx +3 -6
- package/src/components/Modals/NewChatModal/NewChatModal.tsx +126 -223
- package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +1 -12
- package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +4 -14
- package/src/components/Modals/UserProfileModal/EditUserModal.tsx +25 -9
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +307 -617
- package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +58 -75
- package/src/components/Modals/styledModalComponents.tsx +2 -9
- package/src/components/RoomComponents/ChatRoomItem.tsx +50 -21
- package/src/components/RoomComponents/styled/LastMessageFile.tsx +4 -28
- package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +3 -18
- package/src/components/RoomComponents/styled/LastMessageVideo.tsx +3 -18
- package/src/components/VideoCalls/VideoCallSession.tsx +3 -8
- package/src/components/styled/AudioMessage.tsx +1 -2
- package/src/components/styled/DateLabel.tsx +10 -3
- package/src/components/styled/MessageImage.tsx +7 -53
- package/src/components/styled/NewMessageLabel.tsx +3 -1
- package/src/components/styled/SendInput.tsx +18 -91
- package/src/components/styled/StyledComponents.ts +3 -9
- package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +4 -11
- package/src/components/styled/UnsupportedType.tsx +4 -14
- package/src/components/styled/VideoMessage.tsx +54 -131
- package/src/context/xmppProvider.tsx +51 -134
- package/src/helpers/createMessageFromXml.ts +1 -20
- package/src/helpers/ensureScopedChatCache.ts +2 -2
- package/src/helpers/getDataFromXml.ts +25 -1
- package/src/helpers/historyPreloadScheduler.ts +3 -80
- package/src/helpers/initXmppRooms.tsx +10 -14
- package/src/helpers/insertMessageWithDelimiter.ts +13 -0
- package/src/helpers/isUnresolvedSenderId.ts +9 -1
- package/src/helpers/mimeToExtension.ts +22 -6
- package/src/helpers/resolveInitBeforeLoadUser.ts +18 -125
- package/src/helpers/resolveLangSource.ts +40 -0
- package/src/helpers/xmppUsername.ts +38 -0
- package/src/hooks/useChatRoomFocus.ts +5 -14
- package/src/hooks/useChatWrapperInit.ts +16 -32
- package/src/hooks/useComposing.tsx +1 -37
- package/src/hooks/useLogout.tsx +9 -15
- package/src/hooks/usePendingNotification.ts +11 -5
- package/src/hooks/useSendMessage.tsx +15 -60
- package/src/hooks/useUnreadMessagesCounter.ts +0 -11
- package/src/i18n/strings.ts +133 -121
- package/src/i18n/useT.ts +1 -1
- package/src/main.ts +2 -26
- package/src/networking/api-requests/auth.api.ts +48 -156
- package/src/networking/api-requests/roomMembers.api.ts +1 -1
- package/src/networking/api-requests/rooms.api.ts +9 -9
- package/src/networking/api-requests/user.api.ts +7 -79
- package/src/networking/apiClient.ts +123 -68
- package/src/networking/stanzaHandlers.ts +51 -92
- package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +10 -71
- package/src/networking/xmpp/presenceInRoom.xmpp.ts +1 -6
- package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +1 -12
- package/src/networking/xmppClient.ts +9 -141
- package/src/roomStore/chatSettingsSlice.ts +10 -34
- package/src/roomStore/index.ts +4 -40
- package/src/roomStore/persistence.ts +40 -234
- package/src/roomStore/roomsSlice.ts +7 -87
- package/src/services/pushSubscriptionService.ts +13 -18
- package/src/types/types.ts +5 -58
- package/src/version.ts +3 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +0 -226
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +0 -1
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +0 -556
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +0 -1
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +0 -210
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +0 -1
- package/lib/commonjs/helpers/getChatBackground.js +0 -23
- package/lib/commonjs/helpers/getChatBackground.js.map +0 -1
- package/lib/commonjs/helpers/getDisplayFileName.js +0 -79
- package/lib/commonjs/helpers/getDisplayFileName.js.map +0 -1
- package/lib/commonjs/helpers/getServerReadTimestamp.js +0 -125
- package/lib/commonjs/helpers/getServerReadTimestamp.js.map +0 -1
- package/lib/commonjs/helpers/isOwnMessage.js +0 -75
- package/lib/commonjs/helpers/isOwnMessage.js.map +0 -1
- package/lib/commonjs/helpers/mediaLibraryRuntime.js +0 -31
- package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +0 -1
- package/lib/commonjs/helpers/persistCrypto.js +0 -122
- package/lib/commonjs/helpers/persistCrypto.js.map +0 -1
- package/lib/commonjs/helpers/pickImageAsset.js +0 -68
- package/lib/commonjs/helpers/pickImageAsset.js.map +0 -1
- package/lib/commonjs/helpers/pushPayload.js +0 -71
- package/lib/commonjs/helpers/pushPayload.js.map +0 -1
- package/lib/commonjs/helpers/secureFileUrl.js +0 -101
- package/lib/commonjs/helpers/secureFileUrl.js.map +0 -1
- package/lib/commonjs/helpers/secureKeyValue.js +0 -83
- package/lib/commonjs/helpers/secureKeyValue.js.map +0 -1
- package/lib/commonjs/helpers/secureStoreRuntime.js +0 -59
- package/lib/commonjs/helpers/secureStoreRuntime.js.map +0 -1
- package/lib/commonjs/helpers/secureUserStorage.js +0 -75
- package/lib/commonjs/helpers/secureUserStorage.js.map +0 -1
- package/lib/commonjs/helpers/shallowEqual.js +0 -36
- package/lib/commonjs/helpers/shallowEqual.js.map +0 -1
- package/lib/commonjs/helpers/sheetGestures.js +0 -32
- package/lib/commonjs/helpers/sheetGestures.js.map +0 -1
- package/lib/commonjs/hooks/useFileToken.js +0 -10
- package/lib/commonjs/hooks/useFileToken.js.map +0 -1
- package/lib/commonjs/networking/authRefresh.js +0 -332
- package/lib/commonjs/networking/authRefresh.js.map +0 -1
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +0 -223
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +0 -1
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +0 -548
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +0 -1
- package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +0 -205
- package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +0 -1
- package/lib/module/helpers/getChatBackground.js +0 -18
- package/lib/module/helpers/getChatBackground.js.map +0 -1
- package/lib/module/helpers/getDisplayFileName.js +0 -73
- package/lib/module/helpers/getDisplayFileName.js.map +0 -1
- package/lib/module/helpers/getServerReadTimestamp.js +0 -120
- package/lib/module/helpers/getServerReadTimestamp.js.map +0 -1
- package/lib/module/helpers/isOwnMessage.js +0 -70
- package/lib/module/helpers/isOwnMessage.js.map +0 -1
- package/lib/module/helpers/mediaLibraryRuntime.js +0 -25
- package/lib/module/helpers/mediaLibraryRuntime.js.map +0 -1
- package/lib/module/helpers/persistCrypto.js +0 -115
- package/lib/module/helpers/persistCrypto.js.map +0 -1
- package/lib/module/helpers/pickImageAsset.js +0 -63
- package/lib/module/helpers/pickImageAsset.js.map +0 -1
- package/lib/module/helpers/pushPayload.js +0 -63
- package/lib/module/helpers/pushPayload.js.map +0 -1
- package/lib/module/helpers/secureFileUrl.js +0 -91
- package/lib/module/helpers/secureFileUrl.js.map +0 -1
- package/lib/module/helpers/secureKeyValue.js +0 -75
- package/lib/module/helpers/secureKeyValue.js.map +0 -1
- package/lib/module/helpers/secureStoreRuntime.js +0 -52
- package/lib/module/helpers/secureStoreRuntime.js.map +0 -1
- package/lib/module/helpers/secureUserStorage.js +0 -72
- package/lib/module/helpers/secureUserStorage.js.map +0 -1
- package/lib/module/helpers/shallowEqual.js +0 -31
- package/lib/module/helpers/shallowEqual.js.map +0 -1
- package/lib/module/helpers/sheetGestures.js +0 -26
- package/lib/module/helpers/sheetGestures.js.map +0 -1
- package/lib/module/hooks/useFileToken.js +0 -5
- package/lib/module/hooks/useFileToken.js.map +0 -1
- package/lib/module/networking/authRefresh.js +0 -321
- package/lib/module/networking/authRefresh.js.map +0 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +0 -9
- package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +0 -1
- package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +0 -75
- package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +0 -1
- package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +0 -25
- package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +0 -1
- package/lib/typescript/helpers/getChatBackground.d.ts +0 -15
- package/lib/typescript/helpers/getChatBackground.d.ts.map +0 -1
- package/lib/typescript/helpers/getDisplayFileName.d.ts +0 -49
- package/lib/typescript/helpers/getDisplayFileName.d.ts.map +0 -1
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts +0 -69
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +0 -1
- package/lib/typescript/helpers/isOwnMessage.d.ts +0 -36
- package/lib/typescript/helpers/isOwnMessage.d.ts.map +0 -1
- package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +0 -3
- package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +0 -1
- package/lib/typescript/helpers/persistCrypto.d.ts +0 -13
- package/lib/typescript/helpers/persistCrypto.d.ts.map +0 -1
- package/lib/typescript/helpers/pickImageAsset.d.ts +0 -27
- package/lib/typescript/helpers/pickImageAsset.d.ts.map +0 -1
- package/lib/typescript/helpers/pushPayload.d.ts +0 -7
- package/lib/typescript/helpers/pushPayload.d.ts.map +0 -1
- package/lib/typescript/helpers/secureFileUrl.d.ts +0 -7
- package/lib/typescript/helpers/secureFileUrl.d.ts.map +0 -1
- package/lib/typescript/helpers/secureKeyValue.d.ts +0 -13
- package/lib/typescript/helpers/secureKeyValue.d.ts.map +0 -1
- package/lib/typescript/helpers/secureStoreRuntime.d.ts +0 -29
- package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +0 -1
- package/lib/typescript/helpers/secureUserStorage.d.ts +0 -23
- package/lib/typescript/helpers/secureUserStorage.d.ts.map +0 -1
- package/lib/typescript/helpers/shallowEqual.d.ts +0 -11
- package/lib/typescript/helpers/shallowEqual.d.ts.map +0 -1
- package/lib/typescript/helpers/sheetGestures.d.ts +0 -20
- package/lib/typescript/helpers/sheetGestures.d.ts.map +0 -1
- package/lib/typescript/hooks/useFileToken.d.ts +0 -2
- package/lib/typescript/hooks/useFileToken.d.ts.map +0 -1
- package/lib/typescript/networking/authRefresh.d.ts +0 -95
- package/lib/typescript/networking/authRefresh.d.ts.map +0 -1
- package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +0 -244
- package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +0 -615
- package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +0 -217
- package/src/helpers/getChatBackground.ts +0 -18
- package/src/helpers/getDisplayFileName.ts +0 -87
- package/src/helpers/getServerReadTimestamp.ts +0 -120
- package/src/helpers/isOwnMessage.ts +0 -90
- package/src/helpers/mediaLibraryRuntime.ts +0 -25
- package/src/helpers/persistCrypto.ts +0 -127
- package/src/helpers/pickImageAsset.ts +0 -68
- package/src/helpers/pushPayload.ts +0 -62
- package/src/helpers/secureFileUrl.ts +0 -103
- package/src/helpers/secureKeyValue.ts +0 -80
- package/src/helpers/secureStoreRuntime.ts +0 -62
- package/src/helpers/secureUserStorage.ts +0 -80
- package/src/helpers/shallowEqual.ts +0 -33
- package/src/helpers/sheetGestures.ts +0 -25
- package/src/hooks/useFileToken.ts +0 -7
- package/src/networking/authRefresh.ts +0 -451
|
@@ -32,10 +32,6 @@ import {
|
|
|
32
32
|
enqueueOutboundSend,
|
|
33
33
|
flushOutboundSends,
|
|
34
34
|
} from './outboundQueue';
|
|
35
|
-
import {
|
|
36
|
-
getServerReadTimestamp,
|
|
37
|
-
isCorruptFutureReadMarker,
|
|
38
|
-
} from '../helpers/getServerReadTimestamp';
|
|
39
35
|
|
|
40
36
|
// Canonical production XMPP WSS endpoint (standard wss/443, no port suffix).
|
|
41
37
|
const DEFAULT_DEV_SERVER = 'xmpp.chat.ethora.com';
|
|
@@ -98,13 +94,6 @@ interface MamInFlightEntry {
|
|
|
98
94
|
startedAt: number;
|
|
99
95
|
}
|
|
100
96
|
|
|
101
|
-
/**
|
|
102
|
-
* Floor between two credential rotations driven by reconnects. Well under
|
|
103
|
-
* the XMPP password's one-hour life, but high enough that a link flapping
|
|
104
|
-
* every few seconds rotates once, not thirty times.
|
|
105
|
-
*/
|
|
106
|
-
const CREDENTIALS_REFRESH_MIN_INTERVAL_MS = 60_000;
|
|
107
|
-
|
|
108
97
|
export type XmppCredentialsProvider = () => Promise<{
|
|
109
98
|
username: string;
|
|
110
99
|
password: string;
|
|
@@ -148,12 +137,6 @@ export class XmppClient {
|
|
|
148
137
|
// derived XMPP password after idle). Triggers the credentialsProvider
|
|
149
138
|
// refresh path in reconnect().
|
|
150
139
|
lastAuthError: 'not-authorized' | null = null;
|
|
151
|
-
/**
|
|
152
|
-
* When the credentials currently held were last (re)minted. Drives the
|
|
153
|
-
* throttle in `reconnect()` so a flapping connection can't rotate the
|
|
154
|
-
* session once per flap.
|
|
155
|
-
*/
|
|
156
|
-
private credentialsRefreshedAt = 0;
|
|
157
140
|
private credentialsProvider: XmppCredentialsProvider | null = null;
|
|
158
141
|
private credentialsRefreshInFlight: Promise<void> | null = null;
|
|
159
142
|
// Fired by the provider on every 'online' so it can re-join MUC rooms
|
|
@@ -346,7 +329,6 @@ export class XmppClient {
|
|
|
346
329
|
}
|
|
347
330
|
|
|
348
331
|
initializeClient() {
|
|
349
|
-
this.clientAlreadyStopped = false;
|
|
350
332
|
try {
|
|
351
333
|
const devServer = this.devServer || DEFAULT_DEV_SERVER;
|
|
352
334
|
const url = `wss://${devServer}/ws`;
|
|
@@ -718,32 +700,14 @@ export class XmppClient {
|
|
|
718
700
|
console.log('Attempting to reconnect xmpp client...');
|
|
719
701
|
|
|
720
702
|
try {
|
|
721
|
-
//
|
|
722
|
-
//
|
|
723
|
-
//
|
|
724
|
-
//
|
|
725
|
-
|
|
726
|
-
// bind. So by the time anything disconnects us (a network blip, a
|
|
727
|
-
// sleeping device, a server restart) the password we still hold may
|
|
728
|
-
// well be dead, and we have no way to know. Reconnecting with it
|
|
729
|
-
// burns a guaranteed-failed bind plus a backoff delay before the
|
|
730
|
-
// old `lastAuthError` path could even start recovering.
|
|
731
|
-
//
|
|
732
|
-
// Throttled, because reconnects are not rare: a flapping link would
|
|
733
|
-
// otherwise rotate the whole session (access + refresh + file token
|
|
734
|
-
// + XMPP password) once per flap. A SASL failure bypasses the
|
|
735
|
-
// throttle — there the credentials are known bad.
|
|
736
|
-
const authFailed = this.lastAuthError === 'not-authorized';
|
|
737
|
-
const staleCreds =
|
|
738
|
-
Date.now() - this.credentialsRefreshedAt >=
|
|
739
|
-
CREDENTIALS_REFRESH_MIN_INTERVAL_MS;
|
|
740
|
-
|
|
741
|
-
if (this.credentialsProvider && (authFailed || staleCreds)) {
|
|
703
|
+
// If the last failure was a SASL `not-authorized` (typically a stale
|
|
704
|
+
// JWT-derived XMPP password after idle), try to fetch fresh creds
|
|
705
|
+
// before retrying. Without this, reconnect retries with the same
|
|
706
|
+
// stale password forever and the user has to kill the app.
|
|
707
|
+
if (this.lastAuthError === 'not-authorized' && this.credentialsProvider) {
|
|
742
708
|
try {
|
|
743
709
|
await this.refreshCredentialsOnce();
|
|
744
710
|
} catch (err) {
|
|
745
|
-
// Offline is the common case here — reconnect with what we
|
|
746
|
-
// have and let the next attempt try again.
|
|
747
711
|
console.warn(
|
|
748
712
|
'XMPP credential refresh failed; reconnecting with cached creds',
|
|
749
713
|
err
|
|
@@ -757,10 +721,7 @@ export class XmppClient {
|
|
|
757
721
|
// `this.client` still points at the old client — i.e. before
|
|
758
722
|
// initializeClient() reassigns it.
|
|
759
723
|
const old = this.client;
|
|
760
|
-
if (old
|
|
761
|
-
this.detachEventListeners();
|
|
762
|
-
this.clientAlreadyStopped = false;
|
|
763
|
-
} else if (old) {
|
|
724
|
+
if (old) {
|
|
764
725
|
this.detachEventListeners();
|
|
765
726
|
// NEVER await a bare stop(): on a half-dead socket (the exact case
|
|
766
727
|
// we're reconnecting for) @xmpp/client's stop() can hang forever
|
|
@@ -775,9 +736,6 @@ export class XmppClient {
|
|
|
775
736
|
await withTimeout(old.stop(), STOP_TIMEOUT_MS);
|
|
776
737
|
}
|
|
777
738
|
this.initializeClient();
|
|
778
|
-
if (this.suspendedForBackground) {
|
|
779
|
-
await this.stopClientQuietly();
|
|
780
|
-
}
|
|
781
739
|
} finally {
|
|
782
740
|
this.reconnecting = false;
|
|
783
741
|
}
|
|
@@ -805,7 +763,6 @@ export class XmppClient {
|
|
|
805
763
|
// creds really are stale we simply get not-authorized again and
|
|
806
764
|
// retry, which is the confirmed-good 26.5.7 behaviour.
|
|
807
765
|
this.updateCredentials(fresh.username, fresh.password);
|
|
808
|
-
this.credentialsRefreshedAt = Date.now();
|
|
809
766
|
this.lastAuthError = null;
|
|
810
767
|
}
|
|
811
768
|
} finally {
|
|
@@ -815,56 +772,6 @@ export class XmppClient {
|
|
|
815
772
|
return this.credentialsRefreshInFlight;
|
|
816
773
|
}
|
|
817
774
|
|
|
818
|
-
private suspendedForBackground = false;
|
|
819
|
-
private clientAlreadyStopped = false;
|
|
820
|
-
|
|
821
|
-
private async stopClientQuietly(): Promise<void> {
|
|
822
|
-
const c: any = this.client;
|
|
823
|
-
if (c) {
|
|
824
|
-
const sock = c.socket;
|
|
825
|
-
if (sock && typeof sock.end === 'function') {
|
|
826
|
-
try {
|
|
827
|
-
sock.end();
|
|
828
|
-
} catch {}
|
|
829
|
-
try {
|
|
830
|
-
if (c.status !== 'offline') c._status?.('offline');
|
|
831
|
-
} catch {}
|
|
832
|
-
} else {
|
|
833
|
-
await withTimeout(
|
|
834
|
-
Promise.resolve(c.stop()).catch(() => undefined),
|
|
835
|
-
STOP_TIMEOUT_MS
|
|
836
|
-
);
|
|
837
|
-
}
|
|
838
|
-
this.clientAlreadyStopped = true;
|
|
839
|
-
}
|
|
840
|
-
this.status = 'offline';
|
|
841
|
-
this.presencesReady = false;
|
|
842
|
-
}
|
|
843
|
-
|
|
844
|
-
async suspend(): Promise<void> {
|
|
845
|
-
if (this.suspendedForBackground) {return;}
|
|
846
|
-
this.suspendedForBackground = true;
|
|
847
|
-
this.suppressReconnect = true;
|
|
848
|
-
if (this.reconnectTimer) {
|
|
849
|
-
clearTimeout(this.reconnectTimer);
|
|
850
|
-
this.reconnectTimer = null;
|
|
851
|
-
}
|
|
852
|
-
await this.stopClientQuietly();
|
|
853
|
-
console.log('XMPP suspended (background).');
|
|
854
|
-
}
|
|
855
|
-
|
|
856
|
-
/** Back in the foreground: allow reconnects again and reconnect at once. */
|
|
857
|
-
resume(): void {
|
|
858
|
-
if (!this.suspendedForBackground) {return;}
|
|
859
|
-
this.suspendedForBackground = false;
|
|
860
|
-
this.suppressReconnect = false;
|
|
861
|
-
this.forceReconnect();
|
|
862
|
-
}
|
|
863
|
-
|
|
864
|
-
get isSuspended(): boolean {
|
|
865
|
-
return this.suspendedForBackground;
|
|
866
|
-
}
|
|
867
|
-
|
|
868
775
|
async disconnect(options?: { suppressReconnect?: boolean }): Promise<void> {
|
|
869
776
|
if (options?.suppressReconnect) {this.suppressReconnect = true;}
|
|
870
777
|
return this.close();
|
|
@@ -1064,37 +971,9 @@ export class XmppClient {
|
|
|
1064
971
|
// `getChatsPrivateStoreRequest` directly and intentionally skip this.
|
|
1065
972
|
if (markers && typeof markers === 'object') {
|
|
1066
973
|
const normalized: Record<string, number> = {};
|
|
1067
|
-
const roomsState = store.getState().rooms?.rooms || {};
|
|
1068
|
-
const heapState = store.getState().roomHeapSlice;
|
|
1069
974
|
for (const jid of Object.keys(markers as Record<string, unknown>)) {
|
|
1070
975
|
const n = Number((markers as Record<string, unknown>)[jid]);
|
|
1071
|
-
if (
|
|
1072
|
-
// Defensive clamp (bug #38): a marker written while some
|
|
1073
|
-
// device's clock was ahead can land in the future relative to
|
|
1074
|
-
// the newest message the server actually has for this room.
|
|
1075
|
-
// The redux merge (applyPrivateStoreMarkers) and the
|
|
1076
|
-
// server-side merge (flushLastViewedToPrivateStore) both treat
|
|
1077
|
-
// "newer" as "better", so an uncorrected future value would
|
|
1078
|
-
// block every later correct write forever - useUnread() would
|
|
1079
|
-
// report 0 for that room on every cold start. When we already
|
|
1080
|
-
// know this room's messages locally, clamp an implausible
|
|
1081
|
-
// marker down to the newest one we actually have instead of
|
|
1082
|
-
// trusting the server value verbatim.
|
|
1083
|
-
//
|
|
1084
|
-
// "Implausible" needs BOTH "past the newest message we know
|
|
1085
|
-
// about" AND "past real time" (isCorruptFutureReadMarker):
|
|
1086
|
-
// this device's cache for a room is routinely stale, and
|
|
1087
|
-
// clamping on staleness alone would drag a perfectly good
|
|
1088
|
-
// marker written by another device backwards.
|
|
1089
|
-
const room = roomsState[jid];
|
|
1090
|
-
const newestKnownMs = room
|
|
1091
|
-
? getServerReadTimestamp(room, heapState)
|
|
1092
|
-
: 0;
|
|
1093
|
-
if (isCorruptFutureReadMarker(n, newestKnownMs)) {
|
|
1094
|
-
normalized[jid] = newestKnownMs;
|
|
1095
|
-
} else {
|
|
1096
|
-
normalized[jid] = n;
|
|
1097
|
-
}
|
|
976
|
+
if (jid && Number.isFinite(n) && n > 0) {normalized[jid] = n;}
|
|
1098
977
|
}
|
|
1099
978
|
if (Object.keys(normalized).length > 0) {
|
|
1100
979
|
store.dispatch(applyPrivateStoreMarkers(normalized));
|
|
@@ -1128,22 +1007,11 @@ export class XmppClient {
|
|
|
1128
1007
|
// src/networking/xmpp/flushLastViewedToPrivateStore.ts for details.
|
|
1129
1008
|
async flushLastViewedToPrivateStoreStanza(
|
|
1130
1009
|
rooms: Record<string, any> | null | undefined,
|
|
1131
|
-
opts: {
|
|
1132
|
-
visibleRoomJID?: string | null;
|
|
1133
|
-
visibleRoomTs?: number | null;
|
|
1134
|
-
onlyIfNoUnread?: boolean;
|
|
1135
|
-
} = {}
|
|
1010
|
+
opts: { visibleRoomJID?: string | null; onlyIfNoUnread?: boolean } = {}
|
|
1136
1011
|
) {
|
|
1137
1012
|
if (this.disableLastRead) {return false;}
|
|
1138
1013
|
try {
|
|
1139
|
-
|
|
1140
|
-
// getServerReadTimestamp's exclusion of optimistic messages for
|
|
1141
|
-
// free, without needing to reach into the redux store themselves.
|
|
1142
|
-
const heapState = store.getState().roomHeapSlice;
|
|
1143
|
-
return await flushLastViewedToPrivateStore(this, rooms, {
|
|
1144
|
-
...opts,
|
|
1145
|
-
heapState,
|
|
1146
|
-
});
|
|
1014
|
+
return await flushLastViewedToPrivateStore(this, rooms, opts);
|
|
1147
1015
|
} catch {
|
|
1148
1016
|
return false;
|
|
1149
1017
|
}
|
|
@@ -11,7 +11,8 @@ import {
|
|
|
11
11
|
} from '../types/types';
|
|
12
12
|
import { Iso639_1Codes } from '../types/models/language.model';
|
|
13
13
|
import type { TranslateMode } from '../utils/translateModePolicy';
|
|
14
|
-
import {
|
|
14
|
+
import { localStorageConstants } from '../helpers/constants/LOCAL_STORAGE';
|
|
15
|
+
import { asyncLocalStorage } from '../hooks/useLocalStorage';
|
|
15
16
|
|
|
16
17
|
export interface ChatState {
|
|
17
18
|
user: User;
|
|
@@ -33,15 +34,12 @@ export interface ChatState {
|
|
|
33
34
|
|
|
34
35
|
export const unpackAndTransform = (input?: User): User => {
|
|
35
36
|
return {
|
|
36
|
-
|
|
37
|
-
// the profile's About section could never show one.
|
|
38
|
-
description: input?.description || '',
|
|
37
|
+
description: '',
|
|
39
38
|
token: input?.token || '',
|
|
40
39
|
profileImage: input?.profileImage || '',
|
|
41
40
|
_id: input?._id || '',
|
|
42
41
|
walletAddress: input?.defaultWallet?.walletAddress || '',
|
|
43
42
|
xmppPassword: input?.xmppPassword || '',
|
|
44
|
-
fileToken: input?.fileToken || '',
|
|
45
43
|
refreshToken: input?.refreshToken || '',
|
|
46
44
|
firstName: input?.firstName || '',
|
|
47
45
|
lastName: input?.lastName || '',
|
|
@@ -75,7 +73,6 @@ const initialState: ChatState = {
|
|
|
75
73
|
_id: '',
|
|
76
74
|
walletAddress: '',
|
|
77
75
|
xmppPassword: '',
|
|
78
|
-
fileToken: '',
|
|
79
76
|
refreshToken: '',
|
|
80
77
|
firstName: '',
|
|
81
78
|
lastName: '',
|
|
@@ -114,7 +111,9 @@ const initialState: ChatState = {
|
|
|
114
111
|
const reducers = {
|
|
115
112
|
setUser: (state: WritableDraft<ChatState>, action: PayloadAction<User>) => {
|
|
116
113
|
state.user = unpackAndTransform(action.payload);
|
|
117
|
-
|
|
114
|
+
asyncLocalStorage(localStorageConstants.ETHORA_USER).set(
|
|
115
|
+
unpackAndTransform(action.payload)
|
|
116
|
+
);
|
|
118
117
|
},
|
|
119
118
|
updateUser(state: WritableDraft<ChatState>, action: PayloadAction<{ updates: Partial<User> }>) {
|
|
120
119
|
const { updates } = action.payload;
|
|
@@ -147,37 +146,14 @@ const reducers = {
|
|
|
147
146
|
setSelectedUser: (state: WritableDraft<ChatState>, action: PayloadAction<IUser | undefined>) => {
|
|
148
147
|
state.selectedUser = action.payload;
|
|
149
148
|
},
|
|
150
|
-
/**
|
|
151
|
-
* Token rotation. Dispatched from ONE place only — `authRefresh` —
|
|
152
|
-
* which awaits the AsyncStorage write immediately afterwards, before
|
|
153
|
-
* resolving its promise.
|
|
154
|
-
*
|
|
155
|
-
* The reducer used to fire its own best-effort write here. That was
|
|
156
|
-
* both redundant and racy (two writers, no ordering), and a
|
|
157
|
-
* fire-and-forget write can be lost if the app dies right after a
|
|
158
|
-
* rotation — which on a backend with reuse detection means the next
|
|
159
|
-
* launch presents a burned token. Persistence now belongs to the
|
|
160
|
-
* caller, which can actually await it.
|
|
161
|
-
*/
|
|
162
149
|
refreshTokens: (
|
|
163
150
|
state: WritableDraft<ChatState>,
|
|
164
|
-
action: PayloadAction<{
|
|
165
|
-
token: string;
|
|
166
|
-
refreshToken: string;
|
|
167
|
-
xmppPassword?: string;
|
|
168
|
-
fileToken?: string;
|
|
169
|
-
}>
|
|
151
|
+
action: PayloadAction<{ token: string; refreshToken: string }>
|
|
170
152
|
) => {
|
|
171
153
|
state.user.refreshToken = action.payload.refreshToken;
|
|
172
154
|
state.user.token = action.payload.token;
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
state.user.xmppPassword = action.payload.xmppPassword;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
if (action.payload.fileToken) {
|
|
179
|
-
state.user.fileToken = action.payload.fileToken;
|
|
180
|
-
}
|
|
155
|
+
// AsyncStorage is async; fire-and-forget so the reducer stays sync.
|
|
156
|
+
asyncLocalStorage(localStorageConstants.ETHORA_USER).set(state.user);
|
|
181
157
|
},
|
|
182
158
|
logout: (state: WritableDraft<ChatState>) => {
|
|
183
159
|
state.user = unpackAndTransform();
|
|
@@ -185,7 +161,7 @@ const reducers = {
|
|
|
185
161
|
state.client = undefined;
|
|
186
162
|
state.langSource = undefined;
|
|
187
163
|
state.translateMode = undefined;
|
|
188
|
-
|
|
164
|
+
asyncLocalStorage(localStorageConstants.ETHORA_USER).remove();
|
|
189
165
|
},
|
|
190
166
|
setLangSource: (
|
|
191
167
|
state: WritableDraft<ChatState>,
|
package/src/roomStore/index.ts
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { configureStore, combineReducers } from '@reduxjs/toolkit';
|
|
2
2
|
import chatSettingsReducer, { setUser } from './chatSettingsSlice';
|
|
3
3
|
import roomsSlice, { addRoom } from './roomsSlice';
|
|
4
|
-
import { roomHeapSlice
|
|
4
|
+
import { roomHeapSlice } from './roomHeapSlice';
|
|
5
5
|
import callReducer from './callSlice';
|
|
6
6
|
import { IRoom } from '../types/types';
|
|
7
7
|
import { unreadMiddleware } from './Middleware/unreadMidlleware';
|
|
8
8
|
import { logoutMiddleware } from './Middleware/logoutMiddleware';
|
|
9
9
|
import { newMessageMidlleware } from './Middleware/newMessageMidlleware';
|
|
10
10
|
import { reactionsMiddleware } from './Middleware/reactionsMiddleware';
|
|
11
|
-
import {
|
|
12
|
-
persistenceMiddleware,
|
|
13
|
-
readPersistedState,
|
|
14
|
-
computeBootTimeFailures,
|
|
15
|
-
} from './persistence';
|
|
11
|
+
import { persistenceMiddleware, readPersistedState } from './persistence';
|
|
16
12
|
|
|
17
13
|
const rootReducer = combineReducers({
|
|
18
14
|
chatSettingStore: chatSettingsReducer,
|
|
@@ -72,12 +68,11 @@ export const getActiveRoom = (state: RootState): IRoom | null => {
|
|
|
72
68
|
: null;
|
|
73
69
|
};
|
|
74
70
|
|
|
75
|
-
// Async rehydrate
|
|
76
|
-
// actions.
|
|
71
|
+
// Async rehydrate — read persisted slices and replay them as standard
|
|
77
72
|
export const persistorReady =
|
|
78
73
|
globalScope.__CHAT_PERSISTOR_READY__ ||
|
|
79
74
|
(globalScope.__CHAT_PERSISTOR_READY__ = (async () => {
|
|
80
|
-
const { chat, rooms
|
|
75
|
+
const { chat, rooms } = await readPersistedState();
|
|
81
76
|
if (chat?.user && chat.user.walletAddress) {
|
|
82
77
|
store.dispatch(setUser(chat.user));
|
|
83
78
|
}
|
|
@@ -87,35 +82,4 @@ export const persistorReady =
|
|
|
87
82
|
store.dispatch(addRoom({ roomData: room as IRoom }));
|
|
88
83
|
}
|
|
89
84
|
}
|
|
90
|
-
|
|
91
|
-
// bug #39: restore failures that were already flagged (watchdog or
|
|
92
|
-
// an explicit send error) before the app was killed, so the bubble
|
|
93
|
-
// still shows "Failed / tap to retry" instead of quietly reverting
|
|
94
|
-
// to a normal sent bubble.
|
|
95
|
-
// Skip entries whose bubble no longer exists in the restored cache.
|
|
96
|
-
// A failure flag is only ever READ as `failedMessages[message.id]`,
|
|
97
|
-
// so one with no matching message is dead weight that would be
|
|
98
|
-
// replayed and re-persisted on every launch forever. This happens
|
|
99
|
-
// for real: a send that reached the server but whose echo was lost
|
|
100
|
-
// gets flagged failed at boot, then the history merge replaces the
|
|
101
|
-
// optimistic bubble with the archived copy under its server id (see
|
|
102
|
-
// mergeHistoryIntoCache), leaving the flag behind.
|
|
103
|
-
const restoredFailed = heap?.failedMessages || {};
|
|
104
|
-
for (const payload of Object.values(restoredFailed)) {
|
|
105
|
-
const stillRendered = (
|
|
106
|
-
rooms?.rooms?.[payload.roomJID]?.messages || []
|
|
107
|
-
).some((m) => m?.id === payload.id);
|
|
108
|
-
if (!stillRendered) {continue;}
|
|
109
|
-
store.dispatch(markMessageFailed(payload));
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// bug #39: a message that was still `pending: true` at kill time
|
|
113
|
-
// never got a server echo AND never got the chance to trip the
|
|
114
|
-
// in-session send watchdog (messageHeap is process-lifetime only,
|
|
115
|
-
// never persisted). Treat every such message as failed so it gets
|
|
116
|
-
// a working retry instead of silently rendering as delivered.
|
|
117
|
-
const bootFailures = computeBootTimeFailures(rooms?.rooms, restoredFailed);
|
|
118
|
-
for (const payload of bootFailures) {
|
|
119
|
-
store.dispatch(markMessageFailed(payload));
|
|
120
|
-
}
|
|
121
85
|
})());
|