@ethora/chat-component-rn 26.8.1 → 26.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +110 -0
- package/README.md +70 -11
- package/lib/commonjs/assets/EmptyChatIllustration.js +7 -6
- package/lib/commonjs/assets/EmptyChatIllustration.js.map +1 -1
- package/lib/commonjs/assets/icons.js +7 -2
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/AuthForms/Login.js +27 -12
- package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
- package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +12 -4
- package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
- package/lib/commonjs/components/DropdownMenu/DropdownMenu.js +16 -9
- package/lib/commonjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/lib/commonjs/components/ExampleComponents/CustomMessage.js +25 -7
- package/lib/commonjs/components/ExampleComponents/CustomMessage.js.map +1 -1
- package/lib/commonjs/components/ExampleComponents/CustomTypingIndicatorExamples.js +18 -6
- package/lib/commonjs/components/ExampleComponents/CustomTypingIndicatorExamples.js.map +1 -1
- package/lib/commonjs/components/Header/HeaderRoomList.js +34 -10
- package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/commonjs/components/InputComponents/Search.js +13 -4
- package/lib/commonjs/components/InputComponents/Search.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +18 -6
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +154 -15
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +42 -19
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js +37 -10
- package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js.map +1 -1
- package/lib/commonjs/components/MainComponents/LoginWrapper.js +2 -1
- package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +72 -28
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +5 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +22 -8
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +14 -13
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RNStyled.js +12 -4
- package/lib/commonjs/components/MainComponents/RNStyled.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js +25 -8
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +214 -38
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/Select.js +29 -8
- package/lib/commonjs/components/MainComponents/Select.js.map +1 -1
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +329 -99
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js +24 -8
- package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/Message.js +46 -24
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +15 -4
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageReaction.js +10 -5
- package/lib/commonjs/components/MessageBubble/MessageReaction.js.map +1 -1
- package/lib/commonjs/components/Modals/AddMembersModal/AddMembersModal.js +1 -5
- package/lib/commonjs/components/Modals/AddMembersModal/AddMembersModal.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +345 -118
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +599 -203
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js +5 -7
- package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +230 -0
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +89 -36
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +2 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js +8 -0
- package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/commonjs/components/Modals/ModalHeaderComponent.js +8 -2
- package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
- package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +8 -8
- package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +3 -6
- package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +205 -106
- package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
- package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +563 -0
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +215 -0
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +7 -9
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/commonjs/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js +8 -6
- package/lib/commonjs/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js.map +1 -1
- package/lib/commonjs/components/Modals/SettingsModals/Referrals/Referrals.js +7 -2
- package/lib/commonjs/components/Modals/SettingsModals/Referrals/Referrals.js.map +1 -1
- package/lib/commonjs/components/Modals/SettingsModals/SharedStyledComponents.js +7 -3
- package/lib/commonjs/components/Modals/SettingsModals/SharedStyledComponents.js.map +1 -1
- package/lib/commonjs/components/Modals/SettingsModals/Visibility/RadioInput.js +10 -6
- package/lib/commonjs/components/Modals/SettingsModals/Visibility/RadioInput.js.map +1 -1
- package/lib/commonjs/components/Modals/SettingsModals/Visibility/VisibilityModal.js +7 -6
- package/lib/commonjs/components/Modals/SettingsModals/Visibility/VisibilityModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +10 -22
- package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +510 -244
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +77 -46
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/commonjs/components/Modals/styledModalComponents.js +68 -17
- package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +30 -10
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +6 -2
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +22 -3
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +17 -3
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +17 -3
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/StyledRoomComponents.js +6 -0
- package/lib/commonjs/components/RoomComponents/styled/StyledRoomComponents.js.map +1 -1
- package/lib/commonjs/components/Thread/ThreadWrapper.js +9 -2
- package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/commonjs/components/Toast/Toast.js +3 -1
- package/lib/commonjs/components/Toast/Toast.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js +6 -3
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/commonjs/components/styled/AudioMessage.js +18 -12
- package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/Button.js +18 -9
- package/lib/commonjs/components/styled/Button.js.map +1 -1
- package/lib/commonjs/components/styled/DateLabel.js +8 -5
- package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
- package/lib/commonjs/components/styled/MediaModal.js +27 -21
- package/lib/commonjs/components/styled/MediaModal.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +37 -9
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/RoomListComponents/index.js +60 -38
- package/lib/commonjs/components/styled/RoomListComponents/index.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +93 -19
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledComponents.js +75 -25
- package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInput.js +32 -18
- package/lib/commonjs/components/styled/StyledInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/CustomTypingIndicator.js +13 -8
- package/lib/commonjs/components/styled/StyledInputComponents/CustomTypingIndicator.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +20 -9
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +50 -22
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/commonjs/components/styled/TreadLabel.js +6 -3
- package/lib/commonjs/components/styled/TreadLabel.js.map +1 -1
- package/lib/commonjs/components/styled/UnsupportedType.js +14 -4
- package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +119 -61
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/MessageNotificationContext.js +14 -3
- package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +184 -59
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/createMessageFromXml.js +19 -1
- 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/getChatBackground.js +26 -0
- package/lib/commonjs/helpers/getChatBackground.js.map +1 -0
- package/lib/commonjs/helpers/getDateLabelColor.js +3 -1
- package/lib/commonjs/helpers/getDateLabelColor.js.map +1 -1
- package/lib/commonjs/helpers/getDisplayFileName.js +79 -0
- package/lib/commonjs/helpers/getDisplayFileName.js.map +1 -0
- package/lib/commonjs/helpers/getIconColor.js +4 -1
- package/lib/commonjs/helpers/getIconColor.js.map +1 -1
- package/lib/commonjs/helpers/getSenderNameColor.js +3 -1
- package/lib/commonjs/helpers/getSenderNameColor.js.map +1 -1
- package/lib/commonjs/helpers/getServerReadTimestamp.js +188 -0
- package/lib/commonjs/helpers/getServerReadTimestamp.js.map +1 -0
- package/lib/commonjs/helpers/historyPreloadScheduler.js +65 -2
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/initXmppRooms.js +14 -8
- package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +51 -9
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/isOwnMessage.js +75 -0
- package/lib/commonjs/helpers/isOwnMessage.js.map +1 -0
- package/lib/commonjs/helpers/keyboardLayout.js +12 -2
- package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
- package/lib/commonjs/helpers/markdownParser.js +27 -5
- package/lib/commonjs/helpers/markdownParser.js.map +1 -1
- package/lib/commonjs/helpers/mediaLibraryRuntime.js +31 -0
- package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +1 -0
- package/lib/commonjs/helpers/mimeToExtension.js +6 -14
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- package/lib/commonjs/helpers/msgSortableMs.js +37 -0
- package/lib/commonjs/helpers/msgSortableMs.js.map +1 -0
- package/lib/commonjs/helpers/parseMessageBody.js +82 -24
- package/lib/commonjs/helpers/parseMessageBody.js.map +1 -1
- package/lib/commonjs/helpers/persistCrypto.js +122 -0
- package/lib/commonjs/helpers/persistCrypto.js.map +1 -0
- package/lib/commonjs/helpers/pickImageAsset.js +68 -0
- package/lib/commonjs/helpers/pickImageAsset.js.map +1 -0
- package/lib/commonjs/helpers/pushPayload.js +71 -0
- package/lib/commonjs/helpers/pushPayload.js.map +1 -0
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +130 -17
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/commonjs/helpers/secureFileUrl.js +101 -0
- package/lib/commonjs/helpers/secureFileUrl.js.map +1 -0
- package/lib/commonjs/helpers/secureKeyValue.js +83 -0
- package/lib/commonjs/helpers/secureKeyValue.js.map +1 -0
- package/lib/commonjs/helpers/secureStoreRuntime.js +59 -0
- package/lib/commonjs/helpers/secureStoreRuntime.js.map +1 -0
- package/lib/commonjs/helpers/secureUserStorage.js +75 -0
- package/lib/commonjs/helpers/secureUserStorage.js.map +1 -0
- package/lib/commonjs/helpers/shallowEqual.js +36 -0
- package/lib/commonjs/helpers/shallowEqual.js.map +1 -0
- package/lib/commonjs/helpers/sheetGestures.js +32 -0
- package/lib/commonjs/helpers/sheetGestures.js.map +1 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js +45 -12
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/commonjs/hooks/useChatWrapperInit.js +30 -10
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/hooks/useComposing.js +27 -0
- package/lib/commonjs/hooks/useComposing.js.map +1 -1
- package/lib/commonjs/hooks/useCustomTypingIndicator.js +7 -3
- package/lib/commonjs/hooks/useCustomTypingIndicator.js.map +1 -1
- package/lib/commonjs/hooks/useFileToken.js +10 -0
- package/lib/commonjs/hooks/useFileToken.js.map +1 -0
- package/lib/commonjs/hooks/useLogout.js +33 -10
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/hooks/usePendingNotification.js +8 -11
- package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +50 -14
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/hooks/useTheme.js +35 -0
- package/lib/commonjs/hooks/useTheme.js.map +1 -0
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +6 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/i18n/strings.js +163 -37
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/main.js +119 -0
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/api-requests/auth.api.js +134 -60
- package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/push.api.js +130 -45
- package/lib/commonjs/networking/api-requests/push.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 +22 -9
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/user.api.js +68 -9
- package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
- package/lib/commonjs/networking/apiClient.js +62 -112
- package/lib/commonjs/networking/apiClient.js.map +1 -1
- package/lib/commonjs/networking/authRefresh.js +332 -0
- package/lib/commonjs/networking/authRefresh.js.map +1 -0
- package/lib/commonjs/networking/stanzaHandlers.js +41 -28
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +46 -8
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +8 -1
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
- package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +124 -8
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/chatSettingsSlice.js +26 -7
- package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/commonjs/roomStore/index.js +35 -2
- package/lib/commonjs/roomStore/index.js.map +1 -1
- package/lib/commonjs/roomStore/persistence.js +226 -23
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +151 -38
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/services/pushRegistration.js +250 -0
- package/lib/commonjs/services/pushRegistration.js.map +1 -0
- package/lib/commonjs/services/pushSubscriptionService.js +15 -37
- package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
- package/lib/commonjs/theme/index.js +38 -0
- package/lib/commonjs/theme/index.js.map +1 -0
- package/lib/commonjs/theme/styled.d.js +4 -0
- package/lib/commonjs/theme/styled.d.js.map +1 -0
- package/lib/commonjs/theme/theme.js +137 -0
- package/lib/commonjs/theme/theme.js.map +1 -0
- package/lib/commonjs/version.js +1 -1
- package/lib/module/assets/EmptyChatIllustration.js +7 -6
- package/lib/module/assets/EmptyChatIllustration.js.map +1 -1
- package/lib/module/assets/icons.js +6 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/AuthForms/Login.js +27 -12
- package/lib/module/components/AuthForms/Login.js.map +1 -1
- package/lib/module/components/ContextMenu/ContextMenuComponents.js +12 -4
- package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
- package/lib/module/components/DropdownMenu/DropdownMenu.js +16 -9
- package/lib/module/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/lib/module/components/ExampleComponents/CustomMessage.js +25 -7
- package/lib/module/components/ExampleComponents/CustomMessage.js.map +1 -1
- package/lib/module/components/ExampleComponents/CustomTypingIndicatorExamples.js +18 -6
- package/lib/module/components/ExampleComponents/CustomTypingIndicatorExamples.js.map +1 -1
- package/lib/module/components/Header/HeaderRoomList.js +34 -10
- package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/module/components/InputComponents/Search.js +13 -4
- package/lib/module/components/InputComponents/Search.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +18 -6
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +156 -17
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +43 -20
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/LanguageSelectorModal.js +37 -10
- package/lib/module/components/MainComponents/LanguageSelectorModal.js.map +1 -1
- package/lib/module/components/MainComponents/LoginWrapper.js +2 -1
- package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +72 -29
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +5 -1
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +22 -8
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +14 -13
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/module/components/MainComponents/RNStyled.js +12 -4
- package/lib/module/components/MainComponents/RNStyled.js.map +1 -1
- package/lib/module/components/MainComponents/ReduxWrapper.js +25 -8
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +213 -38
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/MainComponents/Select.js +29 -8
- package/lib/module/components/MainComponents/Select.js.map +1 -1
- package/lib/module/components/Menu/HeaderRoomListMenu.js +331 -102
- package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/module/components/MessageBubble/BottomReplyContainer.js +24 -8
- package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
- package/lib/module/components/MessageBubble/Message.js +47 -25
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +15 -4
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageReaction.js +10 -5
- package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
- package/lib/module/components/Modals/AddMembersModal/AddMembersModal.js +2 -6
- package/lib/module/components/Modals/AddMembersModal/AddMembersModal.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +336 -121
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +603 -208
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js +6 -8
- package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +225 -0
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +90 -37
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js +2 -1
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/module/components/Modals/Modal/Modal.js +9 -1
- package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/module/components/Modals/ModalHeaderComponent.js +8 -2
- package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
- package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +10 -10
- package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/ModalContent.js +4 -7
- package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/NewChatModal.js +208 -108
- package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +8 -0
- package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +555 -0
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
- package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +210 -0
- package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +8 -10
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js +8 -6
- package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js.map +1 -1
- package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js +7 -2
- package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js.map +1 -1
- package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js +7 -3
- package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js.map +1 -1
- package/lib/module/components/Modals/SettingsModals/Visibility/RadioInput.js +10 -6
- package/lib/module/components/Modals/SettingsModals/Visibility/RadioInput.js.map +1 -1
- package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js +7 -6
- package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +11 -24
- package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +512 -248
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +79 -48
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/module/components/Modals/styledModalComponents.js +67 -16
- package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js +30 -10
- package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +6 -2
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js +22 -3
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +17 -3
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +17 -3
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/StyledRoomComponents.js +6 -0
- package/lib/module/components/RoomComponents/styled/StyledRoomComponents.js.map +1 -1
- package/lib/module/components/Thread/ThreadWrapper.js +9 -2
- package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/module/components/Toast/Toast.js +3 -1
- package/lib/module/components/Toast/Toast.js.map +1 -1
- package/lib/module/components/VideoCalls/VideoCallSession.js +6 -3
- package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/module/components/styled/AudioMessage.js +18 -12
- package/lib/module/components/styled/AudioMessage.js.map +1 -1
- package/lib/module/components/styled/Button.js +17 -9
- package/lib/module/components/styled/Button.js.map +1 -1
- package/lib/module/components/styled/DateLabel.js +8 -5
- package/lib/module/components/styled/DateLabel.js.map +1 -1
- package/lib/module/components/styled/MediaModal.js +29 -23
- package/lib/module/components/styled/MediaModal.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +37 -9
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/RoomListComponents/index.js +62 -39
- package/lib/module/components/styled/RoomListComponents/index.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +94 -20
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledComponents.js +75 -25
- package/lib/module/components/styled/StyledComponents.js.map +1 -1
- package/lib/module/components/styled/StyledInput.js +32 -18
- package/lib/module/components/styled/StyledInput.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/CustomTypingIndicator.js +13 -8
- package/lib/module/components/styled/StyledInputComponents/CustomTypingIndicator.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +20 -9
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +50 -22
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/module/components/styled/TreadLabel.js +6 -3
- package/lib/module/components/styled/TreadLabel.js.map +1 -1
- package/lib/module/components/styled/UnsupportedType.js +14 -4
- package/lib/module/components/styled/UnsupportedType.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +120 -62
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/MessageNotificationContext.js +14 -3
- package/lib/module/context/MessageNotificationContext.js.map +1 -1
- package/lib/module/context/xmppProvider.js +184 -60
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/createMessageFromXml.js +19 -1
- 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/getChatBackground.js +22 -0
- package/lib/module/helpers/getChatBackground.js.map +1 -0
- package/lib/module/helpers/getDateLabelColor.js +4 -1
- package/lib/module/helpers/getDateLabelColor.js.map +1 -1
- package/lib/module/helpers/getDisplayFileName.js +73 -0
- package/lib/module/helpers/getDisplayFileName.js.map +1 -0
- package/lib/module/helpers/getIconColor.js +5 -1
- package/lib/module/helpers/getIconColor.js.map +1 -1
- package/lib/module/helpers/getSenderNameColor.js +4 -1
- package/lib/module/helpers/getSenderNameColor.js.map +1 -1
- package/lib/module/helpers/getServerReadTimestamp.js +181 -0
- package/lib/module/helpers/getServerReadTimestamp.js.map +1 -0
- package/lib/module/helpers/historyPreloadScheduler.js +66 -3
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/initXmppRooms.js +14 -8
- package/lib/module/helpers/initXmppRooms.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +52 -9
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/isOwnMessage.js +70 -0
- package/lib/module/helpers/isOwnMessage.js.map +1 -0
- package/lib/module/helpers/keyboardLayout.js +12 -2
- package/lib/module/helpers/keyboardLayout.js.map +1 -1
- package/lib/module/helpers/markdownParser.js +27 -5
- package/lib/module/helpers/markdownParser.js.map +1 -1
- package/lib/module/helpers/mediaLibraryRuntime.js +25 -0
- package/lib/module/helpers/mediaLibraryRuntime.js.map +1 -0
- package/lib/module/helpers/mimeToExtension.js +6 -13
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- package/lib/module/helpers/msgSortableMs.js +32 -0
- package/lib/module/helpers/msgSortableMs.js.map +1 -0
- package/lib/module/helpers/parseMessageBody.js +82 -24
- package/lib/module/helpers/parseMessageBody.js.map +1 -1
- package/lib/module/helpers/persistCrypto.js +115 -0
- package/lib/module/helpers/persistCrypto.js.map +1 -0
- package/lib/module/helpers/pickImageAsset.js +63 -0
- package/lib/module/helpers/pickImageAsset.js.map +1 -0
- package/lib/module/helpers/pushPayload.js +63 -0
- package/lib/module/helpers/pushPayload.js.map +1 -0
- package/lib/module/helpers/resolveInitBeforeLoadUser.js +130 -16
- package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/module/helpers/secureFileUrl.js +91 -0
- package/lib/module/helpers/secureFileUrl.js.map +1 -0
- package/lib/module/helpers/secureKeyValue.js +75 -0
- package/lib/module/helpers/secureKeyValue.js.map +1 -0
- package/lib/module/helpers/secureStoreRuntime.js +52 -0
- package/lib/module/helpers/secureStoreRuntime.js.map +1 -0
- package/lib/module/helpers/secureUserStorage.js +72 -0
- package/lib/module/helpers/secureUserStorage.js.map +1 -0
- package/lib/module/helpers/shallowEqual.js +31 -0
- package/lib/module/helpers/shallowEqual.js.map +1 -0
- package/lib/module/helpers/sheetGestures.js +26 -0
- package/lib/module/helpers/sheetGestures.js.map +1 -0
- package/lib/module/hooks/useChatRoomFocus.js +46 -13
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/module/hooks/useChatWrapperInit.js +30 -10
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/hooks/useComposing.js +28 -1
- package/lib/module/hooks/useComposing.js.map +1 -1
- package/lib/module/hooks/useCustomTypingIndicator.js +8 -3
- package/lib/module/hooks/useCustomTypingIndicator.js.map +1 -1
- package/lib/module/hooks/useFileToken.js +5 -0
- package/lib/module/hooks/useFileToken.js.map +1 -0
- package/lib/module/hooks/useLogout.js +33 -10
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/hooks/usePendingNotification.js +8 -11
- package/lib/module/hooks/usePendingNotification.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +52 -16
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useTheme.js +30 -0
- package/lib/module/hooks/useTheme.js.map +1 -0
- package/lib/module/hooks/useUnreadMessagesCounter.js +6 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/i18n/strings.js +163 -37
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/main.js +17 -2
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/api-requests/auth.api.js +131 -59
- package/lib/module/networking/api-requests/auth.api.js.map +1 -1
- package/lib/module/networking/api-requests/push.api.js +119 -45
- package/lib/module/networking/api-requests/push.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 +21 -9
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/networking/api-requests/user.api.js +64 -7
- package/lib/module/networking/api-requests/user.api.js.map +1 -1
- package/lib/module/networking/apiClient.js +61 -113
- package/lib/module/networking/apiClient.js.map +1 -1
- package/lib/module/networking/authRefresh.js +321 -0
- package/lib/module/networking/authRefresh.js.map +1 -0
- package/lib/module/networking/stanzaHandlers.js +41 -28
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +46 -8
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +8 -1
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +5 -1
- package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
- package/lib/module/networking/xmppClient.js +124 -8
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/chatSettingsSlice.js +26 -7
- package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/module/roomStore/index.js +37 -4
- package/lib/module/roomStore/index.js.map +1 -1
- package/lib/module/roomStore/persistence.js +223 -22
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +139 -34
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/services/pushRegistration.js +239 -0
- package/lib/module/services/pushRegistration.js.map +1 -0
- package/lib/module/services/pushSubscriptionService.js +15 -37
- package/lib/module/services/pushSubscriptionService.js.map +1 -1
- package/lib/module/theme/index.js +7 -0
- package/lib/module/theme/index.js.map +1 -0
- package/lib/module/theme/styled.d.js +6 -0
- package/lib/module/theme/styled.d.js.map +1 -0
- package/lib/module/theme/theme.js +131 -0
- package/lib/module/theme/theme.js.map +1 -0
- package/lib/module/version.js +1 -1
- package/lib/typescript/assets/EmptyChatIllustration.d.ts +1 -0
- package/lib/typescript/assets/EmptyChatIllustration.d.ts.map +1 -1
- package/lib/typescript/assets/icons.d.ts +24 -0
- 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/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/lib/typescript/components/ExampleComponents/CustomMessage.d.ts.map +1 -1
- package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
- package/lib/typescript/components/InputComponents/Search.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/LanguageSelectorModal.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 +10 -1
- 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 +7 -0
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/Select.d.ts.map +1 -1
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +3 -0
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +9 -0
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +10 -0
- 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/ChatProfileModal/ReportChatModal.d.ts +9 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -0
- 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/ModalHeaderComponent.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
- package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +4 -2
- 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/ProfileHeader/ProfileHeader.d.ts +75 -0
- package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -0
- package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +25 -0
- package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -0
- package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +6 -1
- package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SettingsModals/Referrals/Referrals.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts +2 -2
- package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SettingsModals/Visibility/RadioInput.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SettingsModals/Visibility/VisibilityModal.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 +16 -0
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +1 -0
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/styledModalComponents.d.ts +2 -0
- 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/LastAudioMessage.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/RoomComponents/styled/StyledRoomComponents.d.ts.map +1 -1
- package/lib/typescript/components/Thread/ThreadWrapper.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/Button.d.ts.map +1 -1
- package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
- package/lib/typescript/components/styled/MediaModal.d.ts +2 -2
- package/lib/typescript/components/styled/MediaModal.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts +14 -0
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/RoomListComponents/index.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/StyledInput.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/TreadLabel.d.ts.map +1 -1
- package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts +8 -0
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/MessageNotificationContext.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/getAvatarColor.d.ts +1 -1
- package/lib/typescript/helpers/getChatBackground.d.ts +15 -0
- package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -0
- package/lib/typescript/helpers/getDateLabelColor.d.ts +3 -7
- package/lib/typescript/helpers/getDateLabelColor.d.ts.map +1 -1
- package/lib/typescript/helpers/getDisplayFileName.d.ts +49 -0
- package/lib/typescript/helpers/getDisplayFileName.d.ts.map +1 -0
- package/lib/typescript/helpers/getIconColor.d.ts +4 -7
- package/lib/typescript/helpers/getIconColor.d.ts.map +1 -1
- package/lib/typescript/helpers/getSenderNameColor.d.ts +3 -7
- package/lib/typescript/helpers/getSenderNameColor.d.ts.map +1 -1
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts +108 -0
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +1 -0
- 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 +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/isOwnMessage.d.ts +36 -0
- package/lib/typescript/helpers/isOwnMessage.d.ts.map +1 -0
- package/lib/typescript/helpers/keyboardLayout.d.ts +5 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
- package/lib/typescript/helpers/markdownParser.d.ts +8 -1
- package/lib/typescript/helpers/markdownParser.d.ts.map +1 -1
- package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +3 -0
- package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +1 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts +0 -15
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- package/lib/typescript/helpers/msgSortableMs.d.ts +2 -0
- package/lib/typescript/helpers/msgSortableMs.d.ts.map +1 -0
- package/lib/typescript/helpers/parseMessageBody.d.ts +8 -1
- package/lib/typescript/helpers/parseMessageBody.d.ts.map +1 -1
- package/lib/typescript/helpers/persistCrypto.d.ts +13 -0
- package/lib/typescript/helpers/persistCrypto.d.ts.map +1 -0
- package/lib/typescript/helpers/pickImageAsset.d.ts +27 -0
- package/lib/typescript/helpers/pickImageAsset.d.ts.map +1 -0
- package/lib/typescript/helpers/pushPayload.d.ts +7 -0
- package/lib/typescript/helpers/pushPayload.d.ts.map +1 -0
- package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
- package/lib/typescript/helpers/secureFileUrl.d.ts +7 -0
- package/lib/typescript/helpers/secureFileUrl.d.ts.map +1 -0
- package/lib/typescript/helpers/secureKeyValue.d.ts +13 -0
- package/lib/typescript/helpers/secureKeyValue.d.ts.map +1 -0
- package/lib/typescript/helpers/secureStoreRuntime.d.ts +29 -0
- package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +1 -0
- package/lib/typescript/helpers/secureUserStorage.d.ts +23 -0
- package/lib/typescript/helpers/secureUserStorage.d.ts.map +1 -0
- package/lib/typescript/helpers/shallowEqual.d.ts +11 -0
- package/lib/typescript/helpers/shallowEqual.d.ts.map +1 -0
- package/lib/typescript/helpers/sheetGestures.d.ts +20 -0
- package/lib/typescript/helpers/sheetGestures.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts +4 -1
- 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/useCustomTypingIndicator.d.ts +2 -0
- package/lib/typescript/hooks/useCustomTypingIndicator.d.ts.map +1 -1
- package/lib/typescript/hooks/useFileToken.d.ts +2 -0
- package/lib/typescript/hooks/useFileToken.d.ts.map +1 -0
- 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/useTheme.d.ts +16 -0
- package/lib/typescript/hooks/useTheme.d.ts.map +1 -0
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
- package/lib/typescript/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/main.d.ts +16 -2
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -1
- package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/push.api.d.ts +46 -3
- package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts +1 -0
- package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/user.api.d.ts +27 -0
- package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
- package/lib/typescript/networking/apiClient.d.ts +12 -6
- package/lib/typescript/networking/apiClient.d.ts.map +1 -1
- package/lib/typescript/networking/authRefresh.d.ts +95 -0
- package/lib/typescript/networking/authRefresh.d.ts.map +1 -0
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +10 -2
- 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 +14 -0
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts +16 -0
- 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 +18 -1
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +43 -3
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/services/pushRegistration.d.ts +21 -0
- package/lib/typescript/services/pushRegistration.d.ts.map +1 -0
- package/lib/typescript/services/pushSubscriptionService.d.ts +1 -5
- package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
- package/lib/typescript/theme/index.d.ts +5 -0
- package/lib/typescript/theme/index.d.ts.map +1 -0
- package/lib/typescript/theme/theme.d.ts +113 -0
- package/lib/typescript/theme/theme.d.ts.map +1 -0
- package/lib/typescript/types/models/room.model.d.ts +1 -0
- package/lib/typescript/types/models/room.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +70 -5
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +41 -28
- package/src/assets/EmptyChatIllustration.tsx +7 -5
- package/src/assets/icons.tsx +72 -9
- package/src/components/AuthForms/Login.tsx +14 -12
- package/src/components/ContextMenu/ContextMenuComponents.tsx +4 -4
- package/src/components/DropdownMenu/DropdownMenu.tsx +14 -6
- package/src/components/ExampleComponents/CustomMessage.tsx +9 -8
- package/src/components/ExampleComponents/CustomTypingIndicatorExamples.tsx +6 -6
- package/src/components/Header/HeaderRoomList.tsx +35 -8
- package/src/components/InputComponents/Search.tsx +7 -4
- package/src/components/MainComponents/ChatHeader.tsx +18 -6
- package/src/components/MainComponents/ChatRoom.tsx +164 -15
- package/src/components/MainComponents/ChatWrapper.tsx +44 -26
- package/src/components/MainComponents/LanguageSelectorModal.tsx +33 -7
- package/src/components/MainComponents/LoginWrapper.tsx +1 -0
- package/src/components/MainComponents/MediaMessage.tsx +63 -26
- package/src/components/MainComponents/MessageContainer.tsx +5 -1
- package/src/components/MainComponents/MessageList.tsx +36 -7
- package/src/components/MainComponents/ProfileImagePlaceholder.tsx +21 -14
- package/src/components/MainComponents/RNStyled.tsx +4 -4
- package/src/components/MainComponents/ReduxWrapper.tsx +23 -7
- package/src/components/MainComponents/RoomList.tsx +243 -40
- package/src/components/MainComponents/Select.tsx +13 -8
- package/src/components/Menu/HeaderRoomListMenu.tsx +347 -77
- package/src/components/MessageBubble/BottomReplyContainer.tsx +16 -11
- package/src/components/MessageBubble/Message.tsx +48 -25
- package/src/components/MessageBubble/MessageInteractions.tsx +17 -4
- package/src/components/MessageBubble/MessageReaction.tsx +9 -4
- package/src/components/Modals/AddMembersModal/AddMembersModal.tsx +2 -2
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +376 -106
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +639 -283
- package/src/components/Modals/ChatProfileModal/DeleteChatModal.tsx +6 -4
- package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +248 -0
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +93 -47
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +2 -1
- package/src/components/Modals/Modal/Modal.tsx +7 -0
- package/src/components/Modals/ModalHeaderComponent.tsx +9 -2
- package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +14 -6
- package/src/components/Modals/NewChatModal/ModalContent.tsx +8 -5
- package/src/components/Modals/NewChatModal/NewChatModal.tsx +223 -119
- package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +12 -1
- package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +624 -0
- package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +224 -0
- package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +16 -7
- package/src/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.tsx +8 -6
- package/src/components/Modals/SettingsModals/Referrals/Referrals.tsx +5 -3
- package/src/components/Modals/SettingsModals/SharedStyledComponents.ts +4 -4
- package/src/components/Modals/SettingsModals/Visibility/RadioInput.tsx +9 -5
- package/src/components/Modals/SettingsModals/Visibility/VisibilityModal.tsx +7 -7
- package/src/components/Modals/UserProfileModal/EditUserModal.tsx +12 -26
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +621 -307
- package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +84 -58
- package/src/components/Modals/styledModalComponents.tsx +31 -16
- package/src/components/RoomComponents/ChatRoomItem.tsx +30 -6
- package/src/components/RoomComponents/styled/LastAudioMessage.tsx +4 -2
- package/src/components/RoomComponents/styled/LastMessageFile.tsx +28 -4
- package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +18 -3
- package/src/components/RoomComponents/styled/LastMessageVideo.tsx +18 -3
- package/src/components/RoomComponents/styled/StyledRoomComponents.ts +2 -0
- package/src/components/Thread/ThreadWrapper.tsx +6 -5
- package/src/components/Toast/Toast.tsx +1 -1
- package/src/components/VideoCalls/VideoCallSession.tsx +8 -3
- package/src/components/styled/AudioMessage.tsx +14 -10
- package/src/components/styled/Button.tsx +15 -8
- package/src/components/styled/DateLabel.tsx +7 -3
- package/src/components/styled/MediaModal.tsx +30 -25
- package/src/components/styled/MessageImage.tsx +53 -7
- package/src/components/styled/RoomListComponents/index.tsx +60 -35
- package/src/components/styled/SendInput.tsx +106 -20
- package/src/components/styled/StyledComponents.ts +38 -25
- package/src/components/styled/StyledInput.tsx +35 -21
- package/src/components/styled/StyledInputComponents/CustomTypingIndicator.tsx +8 -8
- package/src/components/styled/StyledInputComponents/MediaComponents.tsx +20 -7
- package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +26 -23
- package/src/components/styled/TreadLabel.tsx +9 -3
- package/src/components/styled/UnsupportedType.tsx +14 -4
- package/src/components/styled/VideoMessage.tsx +131 -54
- package/src/context/MessageNotificationContext.tsx +18 -4
- package/src/context/xmppProvider.tsx +216 -57
- package/src/helpers/createMessageFromXml.ts +20 -1
- package/src/helpers/ensureScopedChatCache.ts +2 -2
- package/src/helpers/getChatBackground.ts +20 -0
- package/src/helpers/getDateLabelColor.ts +5 -3
- package/src/helpers/getDisplayFileName.ts +87 -0
- package/src/helpers/getIconColor.ts +6 -3
- package/src/helpers/getSenderNameColor.ts +5 -3
- package/src/helpers/getServerReadTimestamp.ts +197 -0
- package/src/helpers/historyPreloadScheduler.ts +80 -3
- package/src/helpers/initXmppRooms.tsx +14 -10
- package/src/helpers/insertMessageWithDelimiter.ts +55 -19
- package/src/helpers/isOwnMessage.ts +90 -0
- package/src/helpers/keyboardLayout.ts +23 -2
- package/src/helpers/markdownParser.tsx +29 -5
- package/src/helpers/mediaLibraryRuntime.ts +25 -0
- package/src/helpers/mimeToExtension.ts +6 -22
- package/src/helpers/msgSortableMs.ts +25 -0
- package/src/helpers/parseMessageBody.tsx +79 -26
- package/src/helpers/persistCrypto.ts +127 -0
- package/src/helpers/pickImageAsset.ts +68 -0
- package/src/helpers/pushPayload.ts +62 -0
- package/src/helpers/resolveInitBeforeLoadUser.ts +125 -18
- package/src/helpers/secureFileUrl.ts +103 -0
- package/src/helpers/secureKeyValue.ts +80 -0
- package/src/helpers/secureStoreRuntime.ts +62 -0
- package/src/helpers/secureUserStorage.ts +80 -0
- package/src/helpers/shallowEqual.ts +33 -0
- package/src/helpers/sheetGestures.ts +25 -0
- package/src/hooks/useChatRoomFocus.ts +49 -9
- package/src/hooks/useChatWrapperInit.ts +30 -10
- package/src/hooks/useComposing.tsx +37 -1
- package/src/hooks/useCustomTypingIndicator.tsx +7 -3
- package/src/hooks/useFileToken.ts +7 -0
- package/src/hooks/useLogout.tsx +39 -12
- package/src/hooks/usePendingNotification.ts +5 -11
- package/src/hooks/useSendMessage.tsx +60 -15
- package/src/hooks/useTheme.ts +41 -0
- package/src/hooks/useUnreadMessagesCounter.ts +11 -0
- package/src/i18n/strings.ts +163 -37
- package/src/main.ts +57 -2
- package/src/networking/api-requests/auth.api.ts +156 -48
- package/src/networking/api-requests/push.api.ts +185 -62
- package/src/networking/api-requests/roomMembers.api.ts +1 -1
- package/src/networking/api-requests/rooms.api.ts +18 -9
- package/src/networking/api-requests/user.api.ts +79 -7
- package/src/networking/apiClient.ts +68 -123
- package/src/networking/authRefresh.ts +451 -0
- package/src/networking/stanzaHandlers.ts +44 -28
- package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +71 -10
- package/src/networking/xmpp/presenceInRoom.xmpp.ts +6 -1
- package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +12 -1
- package/src/networking/xmppClient.ts +141 -9
- package/src/roomStore/chatSettingsSlice.ts +34 -10
- package/src/roomStore/index.ts +40 -4
- package/src/roomStore/persistence.ts +234 -24
- package/src/roomStore/roomsSlice.ts +161 -29
- package/src/services/pushRegistration.ts +356 -0
- package/src/services/pushSubscriptionService.ts +18 -47
- package/src/theme/index.ts +10 -0
- package/src/theme/styled.d.ts +9 -0
- package/src/theme/theme.ts +243 -0
- package/src/types/models/room.model.ts +1 -0
- package/src/types/types.ts +96 -5
- package/src/version.ts +1 -1
- package/lib/commonjs/context/PushNotificationProvider.js +0 -79
- package/lib/commonjs/context/PushNotificationProvider.js.map +0 -1
- package/lib/commonjs/hooks/usePushNotifications.js +0 -110
- package/lib/commonjs/hooks/usePushNotifications.js.map +0 -1
- package/lib/commonjs/services/pushNotifications.js +0 -143
- package/lib/commonjs/services/pushNotifications.js.map +0 -1
- package/lib/module/context/PushNotificationProvider.js +0 -79
- package/lib/module/context/PushNotificationProvider.js.map +0 -1
- package/lib/module/hooks/usePushNotifications.js +0 -106
- package/lib/module/hooks/usePushNotifications.js.map +0 -1
- package/lib/module/services/pushNotifications.js +0 -130
- package/lib/module/services/pushNotifications.js.map +0 -1
- package/lib/typescript/context/PushNotificationProvider.d.ts +0 -2
- package/lib/typescript/context/PushNotificationProvider.d.ts.map +0 -1
- package/lib/typescript/hooks/usePushNotifications.d.ts +0 -5
- package/lib/typescript/hooks/usePushNotifications.d.ts.map +0 -1
- package/lib/typescript/services/pushNotifications.d.ts +0 -10
- package/lib/typescript/services/pushNotifications.d.ts.map +0 -1
- package/src/context/PushNotificationProvider.tsx +0 -78
- package/src/hooks/usePushNotifications.ts +0 -131
- package/src/services/pushNotifications.ts +0 -170
|
@@ -9,6 +9,7 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _reactRedux = require("react-redux");
|
|
10
10
|
var _messageNotificationManager = require("../utils/messageNotificationManager");
|
|
11
11
|
var _roomsSlice = require("../roomStore/roomsSlice");
|
|
12
|
+
var _useTheme = require("../hooks/useTheme");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
14
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
15
|
// RN port of the web MessageNotificationProvider. Renders Telegram-style
|
|
@@ -156,6 +157,7 @@ const ToastRow = ({
|
|
|
156
157
|
onPress,
|
|
157
158
|
onDismiss
|
|
158
159
|
}) => {
|
|
160
|
+
const theme = (0, _useTheme.useTheme)();
|
|
159
161
|
const fade = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
160
162
|
(0, _react.useEffect)(() => {
|
|
161
163
|
_reactNative.Animated.timing(fade, {
|
|
@@ -166,17 +168,24 @@ const ToastRow = ({
|
|
|
166
168
|
}, [fade]);
|
|
167
169
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
|
|
168
170
|
style: [styles.toast, {
|
|
171
|
+
backgroundColor: theme.surface,
|
|
172
|
+
shadowColor: theme.shadow
|
|
173
|
+
}, {
|
|
169
174
|
opacity: fade
|
|
170
175
|
}],
|
|
171
176
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
172
177
|
style: styles.toastBody,
|
|
173
178
|
onPress: onPress,
|
|
174
179
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
175
|
-
style: styles.toastTitle,
|
|
180
|
+
style: [styles.toastTitle, {
|
|
181
|
+
color: theme.text
|
|
182
|
+
}],
|
|
176
183
|
numberOfLines: 1,
|
|
177
184
|
children: item.roomName
|
|
178
185
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
179
|
-
style: styles.toastSubtitle,
|
|
186
|
+
style: [styles.toastSubtitle, {
|
|
187
|
+
color: theme.textSecondary
|
|
188
|
+
}],
|
|
180
189
|
numberOfLines: 2,
|
|
181
190
|
children: [item.senderName, ": ", item.message?.body || '']
|
|
182
191
|
})]
|
|
@@ -184,7 +193,9 @@ const ToastRow = ({
|
|
|
184
193
|
onPress: onDismiss,
|
|
185
194
|
style: styles.dismiss,
|
|
186
195
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
187
|
-
style: styles.dismissText,
|
|
196
|
+
style: [styles.dismissText, {
|
|
197
|
+
color: theme.textMuted
|
|
198
|
+
}],
|
|
188
199
|
children: "\xD7"
|
|
189
200
|
})
|
|
190
201
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRedux","_messageNotificationManager","_roomsSlice","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MessageNotificationContext","createContext","DEFAULT_MAX","DEFAULT_DURATION_MS","MessageNotificationProvider","children","config","propConfig","dispatch","useDispatch","contextConfig","useSelector","state","chatSettingStore","visibleRoomJID","rooms","notificationConfig","inAppNotifications","isEnabled","enabled","maxNotifications","duration","toasts","setToasts","useState","appActiveRef","useRef","AppState","currentState","useEffect","sub","addEventListener","next","current","now","Date","prev","filter","timestamp","remove","interval","setInterval","clearInterval","roomJID","dismiss","useCallback","id","navigateToMessage","messageId","message","roomName","senderName","customOnClick","onClick","Promise","resolve","catch","console","error","setCurrentRoom","showMessageNotification","item","length","slice","unsubscribe","messageNotificationManager","addCallback","jsxs","Provider","value","jsx","View","pointerEvents","style","styles","container","positionToStyle","position","map","Custom","customComponent","onClose","onNavigateToMessage","ToastRow","onPress","onDismiss","exports","fade","Animated","Value","timing","toValue","useNativeDriver","start","toast","opacity","Pressable","toastBody","Text","toastTitle","numberOfLines","toastSubtitle","body","dismissText","horizontal","vertical","offset","out","top","bottom","right","alignItems","left","StyleSheet","create","zIndex","elevation","flexDirection","backgroundColor","paddingVertical","paddingHorizontal","marginVertical","borderRadius","minWidth","maxWidth","shadowColor","shadowOpacity","shadowOffset","width","height","shadowRadius","flex","fontWeight","fontSize","color","marginBottom","useMessageNotification","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["context/MessageNotificationContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRedux","_messageNotificationManager","_roomsSlice","_useTheme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MessageNotificationContext","createContext","DEFAULT_MAX","DEFAULT_DURATION_MS","MessageNotificationProvider","children","config","propConfig","dispatch","useDispatch","contextConfig","useSelector","state","chatSettingStore","visibleRoomJID","rooms","notificationConfig","inAppNotifications","isEnabled","enabled","maxNotifications","duration","toasts","setToasts","useState","appActiveRef","useRef","AppState","currentState","useEffect","sub","addEventListener","next","current","now","Date","prev","filter","timestamp","remove","interval","setInterval","clearInterval","roomJID","dismiss","useCallback","id","navigateToMessage","messageId","message","roomName","senderName","customOnClick","onClick","Promise","resolve","catch","console","error","setCurrentRoom","showMessageNotification","item","length","slice","unsubscribe","messageNotificationManager","addCallback","jsxs","Provider","value","jsx","View","pointerEvents","style","styles","container","positionToStyle","position","map","Custom","customComponent","onClose","onNavigateToMessage","ToastRow","onPress","onDismiss","exports","theme","useTheme","fade","Animated","Value","timing","toValue","useNativeDriver","start","toast","backgroundColor","surface","shadowColor","shadow","opacity","Pressable","toastBody","Text","toastTitle","color","text","numberOfLines","toastSubtitle","textSecondary","body","dismissText","textMuted","horizontal","vertical","offset","out","top","bottom","right","alignItems","left","StyleSheet","create","zIndex","elevation","flexDirection","paddingVertical","paddingHorizontal","marginVertical","borderRadius","minWidth","maxWidth","shadowOpacity","shadowOffset","width","height","shadowRadius","flex","fontWeight","fontSize","marginBottom","useMessageNotification","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["context/MessageNotificationContext.tsx"],"mappings":";;;;;;AAIA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,YAAA,GAAAD,OAAA;AASA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAGA,IAAAK,SAAA,GAAAL,OAAA;AAA6C,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AA3B7C;AACA;AACA;AACA;;AA4CA,MAAMkB,0BAA0B,gBAC9B,IAAAC,oBAAa,EAAyC,IAAI,CAAC;AAE7D,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,mBAAmB,GAAG,KAAK;AAO1B,MAAMC,2BAAoD,GAAGA,CAAC;EACnEC,QAAQ;EACRC,MAAM,EAAEC;AACV,CAAC,KAAK;EACJ,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAC9B,MAAMC,aAAa,GAAG,IAAAC,uBAAW,EAC9BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,EAAEP,MAChD,CAAC;EACD,MAAMQ,cAAc,GAAG,IAAAH,uBAAW,EAC/BC,KAAgB,IAAKA,KAAK,CAACG,KAAK,CAACD,cACpC,CAAC;EAED,MAAMR,MAAM,GAAGC,UAAU,IAAIG,aAAa;EAC1C,MAAMM,kBAAkB,GAAGV,MAAM,EAAEW,kBAAkB;EACrD,MAAMC,SAAS,GAAGF,kBAAkB,EAAEG,OAAO,KAAK,IAAI;EACtD,MAAMC,gBAAgB,GAAGJ,kBAAkB,EAAEI,gBAAgB,IAAIlB,WAAW;EAC5E,MAAMmB,QAAQ,GAAGL,kBAAkB,EAAEK,QAAQ,IAAIlB,mBAAmB;EAEpE,MAAM,CAACmB,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAc,EAAE,CAAC;EACrD,MAAMC,YAAY,GAAG,IAAAC,aAAM,EAACC,qBAAQ,CAACC,YAAY,KAAK,QAAQ,CAAC;;EAE/D;EACA;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,GAAG,GAAGH,qBAAQ,CAACI,gBAAgB,CACnC,QAAQ,EACPC,IAAoB,IAAK;MACxBP,YAAY,CAACQ,OAAO,GAAGD,IAAI,KAAK,QAAQ;MACxC,IAAIA,IAAI,KAAK,QAAQ,EAAE;QACrB,MAAME,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;QACtBX,SAAS,CAAEa,IAAI,IAAKA,IAAI,CAACC,MAAM,CAAEvD,CAAC,IAAKoD,GAAG,GAAGpD,CAAC,CAACwD,SAAS,GAAGjB,QAAQ,CAAC,CAAC;MACvE;IACF,CACF,CAAC;IACD,OAAO,MAAMS,GAAG,CAACS,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAAClB,QAAQ,CAAC,CAAC;;EAEd;EACA,IAAAQ,gBAAS,EAAC,MAAM;IACd,MAAMW,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjC,IAAI,CAAChB,YAAY,CAACQ,OAAO,EAAE;QAAC;MAAO;MACnC,MAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;MACtBX,SAAS,CAAEa,IAAI,IAAKA,IAAI,CAACC,MAAM,CAAEvD,CAAC,IAAKoD,GAAG,GAAGpD,CAAC,CAACwD,SAAS,GAAGjB,QAAQ,CAAC,CAAC;IACvE,CAAC,EAAE,IAAI,CAAC;IACR,OAAO,MAAMqB,aAAa,CAACF,QAAQ,CAAC;EACtC,CAAC,EAAE,CAACnB,QAAQ,CAAC,CAAC;;EAEd;EACA,IAAAQ,gBAAS,EAAC,MAAM;IACd,IAAI,CAACf,cAAc,EAAE;MAAC;IAAO;IAC7BS,SAAS,CAAEa,IAAI,IAAKA,IAAI,CAACC,MAAM,CAAEvD,CAAC,IAAKA,CAAC,CAAC6D,OAAO,KAAK7B,cAAc,CAAC,CAAC;EACvE,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB,MAAM8B,OAAO,GAAG,IAAAC,kBAAW,EAAEC,EAAU,IAAK;IAC1CvB,SAAS,CAAEa,IAAI,IAAKA,IAAI,CAACC,MAAM,CAAEvD,CAAC,IAAKA,CAAC,CAACgE,EAAE,KAAKA,EAAE,CAAC,CAAC;EACtD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,iBAAiB,GAAG,IAAAF,kBAAW,EACnC,CACEF,OAAe,EACfK,SAAiB,EACjBC,OAAiB,EACjBC,QAAgB,EAChBC,UAAkB,KACf;IACH5B,SAAS,CAAEa,IAAI,IAAKA,IAAI,CAACC,MAAM,CAAEvD,CAAC,IAAKA,CAAC,CAAC6D,OAAO,KAAKA,OAAO,CAAC,CAAC;IAC9D,MAAMS,aAAa,GAAGpC,kBAAkB,EAAEqC,OAAO;IACjD,IAAID,aAAa,EAAE;MACjBE,OAAO,CAACC,OAAO,CACbH,aAAa,CAAC;QAAET,OAAO;QAAEK,SAAS;QAAEC,OAAO;QAAEC,QAAQ;QAAEC;MAAW,CAAC,CACrE,CAAC,CAACK,KAAK,CAAE3E,CAAC,IAAK4E,OAAO,CAACC,KAAK,CAAC,uBAAuB,EAAE7E,CAAC,CAAC,CAAC;MACzD;IACF;IACA,IAAI8D,OAAO,EAAE;MAACnC,QAAQ,CAAC,IAAAmD,0BAAc,EAAC;QAAEhB;MAAQ,CAAC,CAAC,CAAC;IAAC;EACtD,CAAC,EACD,CAACnC,QAAQ,EAAEQ,kBAAkB,CAC/B,CAAC;EAED,MAAM4C,uBAAuB,GAAG,IAAAf,kBAAW,EACzC,CACEI,OAAiB,EACjBC,QAAgB,EAChBC,UAAkB,EAClBR,OAAe,KACZ;IACH,IAAI,CAACzB,SAAS,EAAE;MAAC;IAAO;IACxB;IACA,IAAIJ,cAAc,IAAIA,cAAc,KAAK6B,OAAO,EAAE;MAAC;IAAO;IAC1D,MAAMG,EAAE,GAAG,oBAAoBG,OAAO,CAACH,EAAE,IAAIX,IAAI,CAACD,GAAG,CAAC,CAAC,EAAE;IACzD,MAAM2B,IAAe,GAAG;MACtBf,EAAE;MACFG,OAAO;MACPC,QAAQ;MACRC,UAAU;MACVR,OAAO;MACPL,SAAS,EAAEH,IAAI,CAACD,GAAG,CAAC;IACtB,CAAC;IACDX,SAAS,CAAEa,IAAI,IAAK;MAClB,MAAMJ,IAAI,GAAG,CAAC,GAAGI,IAAI,EAAEyB,IAAI,CAAC;MAC5B,OAAO7B,IAAI,CAAC8B,MAAM,GAAG1C,gBAAgB,GACjCY,IAAI,CAAC+B,KAAK,CAAC,CAAC3C,gBAAgB,CAAC,GAC7BY,IAAI;IACV,CAAC,CAAC;EACJ,CAAC,EACD,CAACd,SAAS,EAAEJ,cAAc,EAAEM,gBAAgB,CAC9C,CAAC;;EAED;EACA,IAAAS,gBAAS,EAAC,MAAM;IACd,IAAI,CAACX,SAAS,EAAE;MAAC;IAAO;IACxB,MAAM8C,WAAW,GAAGC,sDAA0B,CAACC,WAAW,CACxDN,uBACF,CAAC;IACD,OAAOI,WAAW;EACpB,CAAC,EAAE,CAAC9C,SAAS,EAAE0C,uBAAuB,CAAC,CAAC;EAExC,oBACE,IAAAhF,WAAA,CAAAuF,IAAA,EAACnE,0BAA0B,CAACoE,QAAQ;IAACC,KAAK,EAAE;MAAET;IAAwB,CAAE;IAAAvD,QAAA,GACrEA,QAAQ,EACRa,SAAS,IAAII,MAAM,CAACwC,MAAM,GAAG,CAAC,iBAC7B,IAAAlF,WAAA,CAAA0F,GAAA,EAAC/F,YAAA,CAAAgG,IAAI;MACHC,aAAa,EAAC,UAAU;MACxBC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChBC,eAAe,CAAC5D,kBAAkB,EAAE6D,QAAQ,CAAC,CAC7C;MAAAxE,QAAA,EAEDiB,MAAM,CAACwD,GAAG,CAAEhG,CAAC,IAAK;QACjB,MAAMiG,MAAM,GAAG/D,kBAAkB,EAAEgE,eAAe;QAClD,IAAID,MAAM,EAAE;UACV,oBACE,IAAAnG,WAAA,CAAA0F,GAAA,EAACS,MAAM;YAELjC,EAAE,EAAEhE,CAAC,CAACgE,EAAG;YACTG,OAAO,EAAEnE,CAAC,CAACmE,OAAQ;YACnBC,QAAQ,EAAEpE,CAAC,CAACoE,QAAS;YACrBC,UAAU,EAAErE,CAAC,CAACqE,UAAW;YACzBR,OAAO,EAAE7D,CAAC,CAAC6D,OAAQ;YACnBL,SAAS,EAAExD,CAAC,CAACwD,SAAU;YACvB2C,OAAO,EAAEA,CAAA,KAAMrC,OAAO,CAAC9D,CAAC,CAACgE,EAAE,CAAE;YAC7BoC,mBAAmB,EAAEnC,iBAAkB;YACvC1B,QAAQ,EAAEA;UAAS,GATdvC,CAAC,CAACgE,EAUR,CAAC;QAEN;QACA,oBACE,IAAAlE,WAAA,CAAA0F,GAAA,EAACa,QAAQ;UAEPtB,IAAI,EAAE/E,CAAE;UACRsG,OAAO,EAAEA,CAAA,KACPrC,iBAAiB,CACfjE,CAAC,CAAC6D,OAAO,EACT7D,CAAC,CAACmE,OAAO,CAACH,EAAE,EACZhE,CAAC,CAACmE,OAAO,EACTnE,CAAC,CAACoE,QAAQ,EACVpE,CAAC,CAACqE,UACJ,CACD;UACDkC,SAAS,EAAEA,CAAA,KAAMzC,OAAO,CAAC9D,CAAC,CAACgE,EAAE;QAAE,GAX1BhE,CAAC,CAACgE,EAYR,CAAC;MAEN,CAAC;IAAC,CACE,CACP;EAAA,CACkC,CAAC;AAE1C,CAAC;AAACwC,OAAA,CAAAlF,2BAAA,GAAAA,2BAAA;AAEF,MAAM+E,QAIJ,GAAGA,CAAC;EAAEtB,IAAI;EAAEuB,OAAO;EAAEC;AAAU,CAAC,KAAK;EACrC,MAAME,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACxB,MAAMC,IAAI,GAAG,IAAA/D,aAAM,EAAC,IAAIgE,qBAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC1D,OAAO;EAClD,IAAAJ,gBAAS,EAAC,MAAM;IACd6D,qBAAQ,CAACE,MAAM,CAACH,IAAI,EAAE;MACpBI,OAAO,EAAE,CAAC;MACVxE,QAAQ,EAAE,GAAG;MACbyE,eAAe,EAAE;IACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAACN,IAAI,CAAC,CAAC;EAEV,oBACE,IAAA7G,WAAA,CAAAuF,IAAA,EAAC5F,YAAA,CAAAmH,QAAQ,CAACnB,IAAI;IACZE,KAAK,EAAE,CACLC,MAAM,CAACsB,KAAK,EACZ;MAAEC,eAAe,EAAEV,KAAK,CAACW,OAAO;MAAEC,WAAW,EAAEZ,KAAK,CAACa;IAAO,CAAC,EAC7D;MAAEC,OAAO,EAAEZ;IAAK,CAAC,CACjB;IAAApF,QAAA,gBAEF,IAAAzB,WAAA,CAAAuF,IAAA,EAAC5F,YAAA,CAAA+H,SAAS;MAAC7B,KAAK,EAAEC,MAAM,CAAC6B,SAAU;MAACnB,OAAO,EAAEA,OAAQ;MAAA/E,QAAA,gBACnD,IAAAzB,WAAA,CAAA0F,GAAA,EAAC/F,YAAA,CAAAiI,IAAI;QACH/B,KAAK,EAAE,CAACC,MAAM,CAAC+B,UAAU,EAAE;UAAEC,KAAK,EAAEnB,KAAK,CAACoB;QAAK,CAAC,CAAE;QAClDC,aAAa,EAAE,CAAE;QAAAvG,QAAA,EAEhBwD,IAAI,CAACX;MAAQ,CACV,CAAC,eACP,IAAAtE,WAAA,CAAAuF,IAAA,EAAC5F,YAAA,CAAAiI,IAAI;QACH/B,KAAK,EAAE,CAACC,MAAM,CAACmC,aAAa,EAAE;UAAEH,KAAK,EAAEnB,KAAK,CAACuB;QAAc,CAAC,CAAE;QAC9DF,aAAa,EAAE,CAAE;QAAAvG,QAAA,GAEhBwD,IAAI,CAACV,UAAU,EAAC,IAAE,EAACU,IAAI,CAACZ,OAAO,EAAE8D,IAAI,IAAI,EAAE;MAAA,CACxC,CAAC;IAAA,CACE,CAAC,eACZ,IAAAnI,WAAA,CAAA0F,GAAA,EAAC/F,YAAA,CAAA+H,SAAS;MAAClB,OAAO,EAAEC,SAAU;MAACZ,KAAK,EAAEC,MAAM,CAAC9B,OAAQ;MAAAvC,QAAA,eACnD,IAAAzB,WAAA,CAAA0F,GAAA,EAAC/F,YAAA,CAAAiI,IAAI;QAAC/B,KAAK,EAAE,CAACC,MAAM,CAACsC,WAAW,EAAE;UAAEN,KAAK,EAAEnB,KAAK,CAAC0B;QAAU,CAAC,CAAE;QAAA5G,QAAA,EAAC;MAAC,CAAM;IAAC,CAC9D,CAAC;EAAA,CACC,CAAC;AAEpB,CAAC;AAED,MAAMuE,eAAe,GACnBC,QAAiE,IAC9D;EACH,MAAMqC,UAAU,GAAGrC,QAAQ,EAAEqC,UAAU,IAAI,MAAM;EACjD,MAAMC,QAAQ,GAAGtC,QAAQ,EAAEsC,QAAQ,IAAI,QAAQ;EAC/C,MAAMC,MAAM,GAAGvC,QAAQ,EAAEuC,MAAM,IAAI,CAAC,CAAC;EACrC,MAAMC,GAAQ,GAAG,CAAC,CAAC;EACnB,IAAIF,QAAQ,KAAK,KAAK,EAAE;IACtBE,GAAG,CAACC,GAAG,GAAGF,MAAM,CAACE,GAAG,IAAI,EAAE;EAC5B,CAAC,MAAM;IACLD,GAAG,CAACE,MAAM,GAAGH,MAAM,CAACG,MAAM,IAAI,EAAE;EAClC;EACA,IAAIL,UAAU,KAAK,OAAO,EAAE;IAC1BG,GAAG,CAACG,KAAK,GAAGJ,MAAM,CAACI,KAAK,IAAI,EAAE;IAC9BH,GAAG,CAACI,UAAU,GAAG,UAAU;EAC7B,CAAC,MAAM,IAAIP,UAAU,KAAK,QAAQ,EAAE;IAClCG,GAAG,CAACK,IAAI,GAAG,CAAC;IACZL,GAAG,CAACG,KAAK,GAAG,CAAC;IACbH,GAAG,CAACI,UAAU,GAAG,QAAQ;EAC3B,CAAC,MAAM;IACLJ,GAAG,CAACK,IAAI,GAAGN,MAAM,CAACM,IAAI,IAAI,EAAE;IAC5BL,GAAG,CAACI,UAAU,GAAG,YAAY;EAC/B;EACA,OAAOJ,GAAG;AACZ,CAAC;AAED,MAAM3C,MAAM,GAAGiD,uBAAU,CAACC,MAAM,CAAC;EAC/BjD,SAAS,EAAE;IACTE,QAAQ,EAAE,UAAU;IACpBgD,MAAM,EAAE,KAAK;IACbC,SAAS,EAAE;EACb,CAAC;EACD9B,KAAK,EAAE;IACL+B,aAAa,EAAE,KAAK;IACpBN,UAAU,EAAE,QAAQ;IACpBxB,eAAe,EAAE,MAAM;IACvB+B,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,cAAc,EAAE,CAAC;IACjBC,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE,GAAG;IACbC,QAAQ,EAAE,GAAG;IACblC,WAAW,EAAE,MAAM;IACnBmC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCC,YAAY,EAAE;EAChB,CAAC;EACDnC,SAAS,EAAE;IACToC,IAAI,EAAE;EACR,CAAC;EACDlC,UAAU,EAAE;IACVmC,UAAU,EAAE,KAAK;IACjBC,QAAQ,EAAE,EAAE;IACZnC,KAAK,EAAE,MAAM;IACboC,YAAY,EAAE;EAChB,CAAC;EACDjC,aAAa,EAAE;IACbgC,QAAQ,EAAE,EAAE;IACZnC,KAAK,EAAE;EACT,CAAC;EACD9D,OAAO,EAAE;IACPqF,iBAAiB,EAAE,CAAC;IACpBD,eAAe,EAAE;EACnB,CAAC;EACDhB,WAAW,EAAE;IACX6B,QAAQ,EAAE,EAAE;IACZnC,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEK,MAAMqC,sBAAsB,GAAGA,CAAA,KAAM;EAC1C,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACjJ,0BAA0B,CAAC;EAClD,IAAI,CAACgJ,GAAG,EAAE;IACR,MAAM,IAAIE,KAAK,CACb,0EACF,CAAC;EACH;EACA,OAAOF,GAAG;AACZ,CAAC;AAAC1D,OAAA,CAAAyD,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -11,17 +11,20 @@ var _reactNative = require("react-native");
|
|
|
11
11
|
var _netinfo = _interopRequireDefault(require("@react-native-community/netinfo"));
|
|
12
12
|
var _VideoCallOverlay = require("../components/VideoCalls/VideoCallOverlay");
|
|
13
13
|
var _xmppClient = _interopRequireDefault(require("../networking/xmppClient"));
|
|
14
|
-
var
|
|
14
|
+
var _authRefresh = require("../networking/authRefresh");
|
|
15
15
|
var _clientRegistry = require("../utils/clientRegistry");
|
|
16
16
|
var _resolveInitBeforeLoadUser = require("../helpers/resolveInitBeforeLoadUser");
|
|
17
17
|
var _ensureScopedChatCache = require("../helpers/ensureScopedChatCache");
|
|
18
18
|
var _rooms = require("../networking/api-requests/rooms.api");
|
|
19
19
|
var _allRoomPresences = require("../networking/xmpp/allRoomPresences.xmpp");
|
|
20
|
+
var _pushSubscriptionService = require("../services/pushSubscriptionService");
|
|
20
21
|
var _roomStore = require("../roomStore");
|
|
22
|
+
var _chatSettingsSlice = require("../roomStore/chatSettingsSlice");
|
|
21
23
|
var _roomsSlice = require("../roomStore/roomsSlice");
|
|
24
|
+
var _getServerReadTimestamp = require("../helpers/getServerReadTimestamp");
|
|
22
25
|
var _historyPreloadScheduler = require("../helpers/historyPreloadScheduler");
|
|
23
|
-
var
|
|
24
|
-
var
|
|
26
|
+
var _updateMessagesTillLast = require("../helpers/updateMessagesTillLast");
|
|
27
|
+
var _secureUserStorage = require("../helpers/secureUserStorage");
|
|
25
28
|
var _persistence = require("../roomStore/persistence");
|
|
26
29
|
var _devLogger = require("../utils/devLogger");
|
|
27
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -29,6 +32,14 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
29
32
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
30
33
|
const XmppContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
31
34
|
const LOGOUT_EVENT = 'ethora-xmpp-logout';
|
|
35
|
+
const subscribeAllRoomsForPush = (client, reason) => {
|
|
36
|
+
const rooms = Object.keys(_roomStore.store.getState().rooms.rooms || {});
|
|
37
|
+
if (!client || !rooms.length) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const nick = client.jid?.getLocal();
|
|
41
|
+
_pushSubscriptionService.pushSubscriptionService.subscribeToRooms(client, rooms, nick).then(() => (0, _devLogger.pushLog)('xmpp', `${reason}: mucsub ok for ${rooms.length} rooms`)).catch(e => (0, _devLogger.pushLog)('warn', `${reason}: mucsub subscribe failed`, e));
|
|
42
|
+
};
|
|
32
43
|
const XmppProvider = ({
|
|
33
44
|
children,
|
|
34
45
|
config,
|
|
@@ -55,21 +66,23 @@ const XmppProvider = ({
|
|
|
55
66
|
// the XmppClient at least doesn't crash on `undefined.password`.
|
|
56
67
|
const credentialsProvider = (0, _react.useMemo)(() => {
|
|
57
68
|
return async () => {
|
|
58
|
-
// 1.
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
// 1. Make sure the REST tokens are fresh before re-minting XMPP
|
|
70
|
+
// creds. This used to call `config.refreshTokens.refreshFunction`
|
|
71
|
+
// directly and then fall into step 2, which refreshes again —
|
|
72
|
+
// two rotations back to back, which the new backend scheme
|
|
73
|
+
// reads as a race at best and token reuse at worst. One call to
|
|
74
|
+
// the shared rotation point covers both the consumer-supplied
|
|
75
|
+
// function and the built-in endpoint.
|
|
76
|
+
if (config?.refreshTokens?.enabled) {
|
|
77
|
+
const rotated = await (0, _authRefresh.refreshAuthTokensQuietly)({
|
|
78
|
+
force: true
|
|
79
|
+
});
|
|
80
|
+
if (rotated?.xmppPassword) {
|
|
81
|
+
const rotatedUser = _roomStore.store.getState().chatSettingStore.user;
|
|
82
|
+
return {
|
|
83
|
+
username: rotatedUser?.xmppUsername || rotatedUser?.defaultWallet?.walletAddress || '',
|
|
84
|
+
password: rotated.xmppPassword
|
|
85
|
+
};
|
|
73
86
|
}
|
|
74
87
|
}
|
|
75
88
|
|
|
@@ -101,7 +114,7 @@ const XmppProvider = ({
|
|
|
101
114
|
password: u?.xmppPassword || ''
|
|
102
115
|
};
|
|
103
116
|
};
|
|
104
|
-
}, [config?.jwtLogin?.enabled, config?.jwtLogin?.token, config?.refreshTokens?.
|
|
117
|
+
}, [config?.jwtLogin?.enabled, config?.jwtLogin?.token, config?.refreshTokens?.enabled, config?.userLogin?.enabled, config?.customLogin?.enabled, config?.initBeforeLoadAuth?.myEndpoint]);
|
|
105
118
|
const initializeClient = (0, _react.useCallback)(async (username, password, xmppSettings) => {
|
|
106
119
|
const settings = xmppSettings || config?.xmppSettings;
|
|
107
120
|
const key = (0, _clientRegistry.buildXmppClientKey)(username, settings);
|
|
@@ -167,11 +180,22 @@ const XmppProvider = ({
|
|
|
167
180
|
if (!underlying) {
|
|
168
181
|
return;
|
|
169
182
|
}
|
|
170
|
-
(0, _allRoomPresences.allRoomPresences)(underlying).catch(e => (0, _devLogger.pushLog)('warn', 'reconnect: allRoomPresences re-join failed', e));
|
|
183
|
+
(0, _allRoomPresences.allRoomPresences)(underlying).catch(e => (0, _devLogger.pushLog)('warn', 'reconnect: allRoomPresences re-join failed', e)).finally(() => subscribeAllRoomsForPush(underlying, 'reconnect'));
|
|
171
184
|
// Also refresh the private store so unread / lastViewed markers
|
|
172
185
|
// are accurate after a long reconnect — the MUC re-join above only
|
|
173
186
|
// restores delivery, not unread state. Idempotent on first connect.
|
|
174
187
|
created.getChatsPrivateStoreRequestStanza().catch(e => (0, _devLogger.pushLog)('warn', 'reconnect: privateStore refresh failed', e));
|
|
188
|
+
// Pull whatever landed in each room's archive while the stream was
|
|
189
|
+
// down. MUC presence re-join above only restores delivery for
|
|
190
|
+
// messages sent AFTER this reconnect — anything sent during the
|
|
191
|
+
// offline window has no live stanza to catch, and previously only
|
|
192
|
+
// came back on a full app restart (fresh useChatWrapperInit mount
|
|
193
|
+
// re-running its own one-shot boot sync). Safe on the very first
|
|
194
|
+
// connect too: rooms have no `lastMessageTimestamp` yet at that
|
|
195
|
+
// point, so this is a no-op until the bootstrap's own history load
|
|
196
|
+
// populates it. Customer-reported #32.
|
|
197
|
+
const rooms = _roomStore.store.getState().rooms?.rooms || {};
|
|
198
|
+
(0, _updateMessagesTillLast.updateMessagesTillLast)(rooms, created).catch(e => (0, _devLogger.pushLog)('warn', 'reconnect: offline catch-up sync failed', e));
|
|
175
199
|
});
|
|
176
200
|
setClient(created);
|
|
177
201
|
lastCredsRef.current = {
|
|
@@ -225,6 +249,13 @@ const XmppProvider = ({
|
|
|
225
249
|
const key = [config?.appId || '', config?.baseUrl || '', explicitUser?.defaultWallet?.walletAddress || '', explicitUser?.xmppUsername || '', explicitUser?.token ? '1' : '0', config?.jwtLogin?.enabled ? config?.jwtLogin?.token || '' : '', config?.xmppSettings?.devServer || ''].join('|');
|
|
226
250
|
if (completedBootstrapKeyRef.current === key) {
|
|
227
251
|
(0, _devLogger.pushLog)('rn', 'initBeforeLoad: already completed (same key) — skip');
|
|
252
|
+
// This run does no work, so it must not leave the budget it armed
|
|
253
|
+
// above running: 45 s later it would flip an already-'ready'
|
|
254
|
+
// provider to 'failed' and surface "Could not authenticate" over a
|
|
255
|
+
// healthy connection. Any dep change that leaves the key intact
|
|
256
|
+
// triggers this - e.g. a rotated `userLogin.user.token`.
|
|
257
|
+
reachedReady = true;
|
|
258
|
+
clearBudget();
|
|
228
259
|
return;
|
|
229
260
|
}
|
|
230
261
|
if (inflightBootstrapKeyRef.current === key) {
|
|
@@ -244,7 +275,7 @@ const XmppProvider = ({
|
|
|
244
275
|
(0, _devLogger.pushLog)('rn', 'initBeforeLoad: clearStoreBeforeInit');
|
|
245
276
|
_roomStore.store.dispatch((0, _roomsSlice.setLogoutState)());
|
|
246
277
|
_roomStore.store.dispatch((0, _chatSettingsSlice.logout)());
|
|
247
|
-
await (0,
|
|
278
|
+
await (0, _secureUserStorage.secureUserStorage)().remove().catch(() => undefined);
|
|
248
279
|
}
|
|
249
280
|
await (0, _ensureScopedChatCache.ensureScopedChatCache)(config);
|
|
250
281
|
(0, _devLogger.pushLog)('rn', 'initBeforeLoad: scope ok, resolving user…');
|
|
@@ -272,13 +303,40 @@ const XmppProvider = ({
|
|
|
272
303
|
_roomStore.store.dispatch((0, _chatSettingsSlice.setConfig)(config));
|
|
273
304
|
}
|
|
274
305
|
|
|
306
|
+
// Rotate BEFORE the first XMPP connect. On the rotating backend
|
|
307
|
+
// the xmpp password is a short-lived JWT that only the newest
|
|
308
|
+
// rotation knows, and each rotation invalidates its predecessors
|
|
309
|
+
// — so a snapshot's password (a host's cached `userLogin.user`,
|
|
310
|
+
// a persisted session) is usually already dead at boot. Without
|
|
311
|
+
// this, the first SASL attempt fails `not-authorized`, all three
|
|
312
|
+
// bootstrap retries re-present the same dead password, and the
|
|
313
|
+
// user dead-ends on the Connection error modal even though one
|
|
314
|
+
// rotation away a perfectly good session existed. The rotation
|
|
315
|
+
// also lands the fileToken pre-render, so secure media never
|
|
316
|
+
// paints blank first. Quiet + deduped; when it can't rotate
|
|
317
|
+
// (no refresh material, non-rotating backend) we just connect
|
|
318
|
+
// with what the snapshot has, exactly as before.
|
|
319
|
+
// jwtLogin is skipped: /users/client just minted fresh creds.
|
|
320
|
+
let connectPassword = resolved.xmppPassword;
|
|
321
|
+
if (config?.refreshTokens?.enabled && !config?.jwtLogin?.enabled) {
|
|
322
|
+
const rotated = await (0, _authRefresh.refreshAuthTokensQuietly)({
|
|
323
|
+
force: true
|
|
324
|
+
});
|
|
325
|
+
if (cancelled) {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
if (rotated?.xmppPassword) {
|
|
329
|
+
connectPassword = rotated.xmppPassword;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
275
333
|
// Kick off REST /chats/my; allRoomPresences below needs the
|
|
276
334
|
// room list to be in redux, otherwise it joins 0 MUCs and the
|
|
277
335
|
// user receives zero realtime messages until they manually tap
|
|
278
336
|
// into each room. Track the promise so we can await it before
|
|
279
337
|
// joining presences.
|
|
280
338
|
const restRoomsPromise = (0, _rooms.getRooms)().catch(() => undefined);
|
|
281
|
-
const c = await initializeClient(resolved.xmppUsername,
|
|
339
|
+
const c = await initializeClient(resolved.xmppUsername, connectPassword, config?.xmppSettings);
|
|
282
340
|
if (cancelled) {
|
|
283
341
|
return;
|
|
284
342
|
}
|
|
@@ -314,6 +372,7 @@ const XmppProvider = ({
|
|
|
314
372
|
} catch (e) {
|
|
315
373
|
(0, _devLogger.pushLog)('warn', 'initBeforeLoad: allRoomPresences failed', e);
|
|
316
374
|
}
|
|
375
|
+
subscribeAllRoomsForPush(c.client, 'initBeforeLoad');
|
|
317
376
|
_roomStore.store.dispatch((0, _chatSettingsSlice.setStoreClient)(c));
|
|
318
377
|
completedBootstrapKeyRef.current = key;
|
|
319
378
|
inflightBootstrapKeyRef.current = '';
|
|
@@ -446,9 +505,14 @@ const XmppProvider = ({
|
|
|
446
505
|
// be re-marked visible on return. Lives in the effect closure (one per
|
|
447
506
|
// client) — persists across the listener's many invocations.
|
|
448
507
|
let visibleBeforeBackground = null;
|
|
508
|
+
const suspendInBackground = !config?.xmppSettings?.keepAliveInBackground;
|
|
449
509
|
const sub = _reactNative.AppState.addEventListener('change', next => {
|
|
450
510
|
const c = client;
|
|
451
511
|
if (next === 'active') {
|
|
512
|
+
if (c?.isSuspended) {
|
|
513
|
+
(0, _devLogger.pushLog)('rn', 'AppState active: resuming suspended XMPP client');
|
|
514
|
+
c.resume();
|
|
515
|
+
}
|
|
452
516
|
// Returned to foreground. If the socket died while backgrounded
|
|
453
517
|
// (iOS suspends the WebSocket; long background kills it), the
|
|
454
518
|
// status may still read 'online' until xmpp.js notices the dead
|
|
@@ -480,23 +544,49 @@ const XmppProvider = ({
|
|
|
480
544
|
if (!c) {
|
|
481
545
|
return;
|
|
482
546
|
}
|
|
547
|
+
if (next === 'background' && suspendInBackground) {
|
|
548
|
+
c.suspend().catch(() => undefined);
|
|
549
|
+
}
|
|
483
550
|
const state = _roomStore.store.getState();
|
|
484
551
|
const rooms = state.rooms?.rooms;
|
|
485
552
|
const visibleRoomJID = state.rooms?.visibleRoomJID || null;
|
|
486
553
|
// Mark the open room "not visible" while backgrounded so messages
|
|
487
554
|
// that arrive (or MAM-replay on reconnect) count as unread instead
|
|
488
555
|
// of being silently treated as read — the "mounted == visible ==
|
|
489
|
-
// read" gap. Stamp lastViewed
|
|
490
|
-
//
|
|
491
|
-
//
|
|
492
|
-
//
|
|
493
|
-
//
|
|
556
|
+
// read" gap. Stamp lastViewed=<the read boundary, if the user left
|
|
557
|
+
// scrolled up, else the newest server-acked message>, not
|
|
558
|
+
// Date.now(), as the read baseline: a device clock running ahead
|
|
559
|
+
// would otherwise write a future marker that the forward-only
|
|
560
|
+
// private-store merge can never correct again (bug #38). Then
|
|
561
|
+
// clear visibility and flush that marker to the server private
|
|
562
|
+
// store. Restored on the next 'active' transition above. Handled
|
|
563
|
+
// here in the provider so consumers using the component as a
|
|
564
|
+
// package get correct unread without reaching into the chat store
|
|
565
|
+
// themselves.
|
|
566
|
+
//
|
|
567
|
+
// The read boundary (rooms.readBoundaries) is deliberately left
|
|
568
|
+
// untouched here - MessageList normally stays mounted through a
|
|
569
|
+
// simple background/foreground cycle, so its own scroll-tracking
|
|
570
|
+
// ref (the only thing that could re-derive this value) is still
|
|
571
|
+
// intact, and clearing the redux copy would desync the two. It's
|
|
572
|
+
// only USED here for the one-shot stamp+flush, matching customer
|
|
573
|
+
// #42: leaving (or backgrounding) a room while scrolled up must not
|
|
574
|
+
// mark messages the user never reached as read.
|
|
494
575
|
visibleBeforeBackground = visibleRoomJID;
|
|
576
|
+
let boundaryTs = null;
|
|
495
577
|
if (visibleRoomJID) {
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
578
|
+
boundaryTs = state.rooms?.readBoundaries?.[visibleRoomJID] ?? null;
|
|
579
|
+
const readTs = (0, _getServerReadTimestamp.getReadMarkerTimestamp)(rooms?.[visibleRoomJID], state.roomHeapSlice, boundaryTs);
|
|
580
|
+
// Nothing to anchor to yet (no known messages, no prior marker)
|
|
581
|
+
// - skip the local stamp rather than fall back to the device
|
|
582
|
+
// clock. The flush below still runs so the visibility clear
|
|
583
|
+
// isn't blocked on this.
|
|
584
|
+
if (readTs > 0) {
|
|
585
|
+
_roomStore.store.dispatch((0, _roomsSlice.setLastViewedTimestamp)({
|
|
586
|
+
chatJID: visibleRoomJID,
|
|
587
|
+
timestamp: readTs
|
|
588
|
+
}));
|
|
589
|
+
}
|
|
500
590
|
// Drop the "New messages" divider for the room we're leaving so it
|
|
501
591
|
// doesn't linger when the user comes back (mirrors ChatRoom's
|
|
502
592
|
// unmount cleanup, which never runs while the pane stays mounted).
|
|
@@ -507,13 +597,18 @@ const XmppProvider = ({
|
|
|
507
597
|
_roomStore.store.dispatch((0, _roomsSlice.clearVisibleRoom)());
|
|
508
598
|
}
|
|
509
599
|
// Fire-and-forget — we're going to the background and don't
|
|
510
|
-
// care about the resolution path.
|
|
600
|
+
// care about the resolution path. `visibleRoomTs` carries the same
|
|
601
|
+
// boundary to the SERVER marker - without it the flush defaults to
|
|
602
|
+
// "everything" for the visible room, overriding a correct smaller
|
|
603
|
+
// local count.
|
|
511
604
|
c.flushLastViewedToPrivateStoreStanza(rooms, {
|
|
512
|
-
visibleRoomJID
|
|
605
|
+
visibleRoomJID,
|
|
606
|
+
// Clamped through the same helper as the local stamp above.
|
|
607
|
+
visibleRoomTs: visibleRoomJID ? (0, _getServerReadTimestamp.getFlushBoundaryTs)(rooms?.[visibleRoomJID], state.roomHeapSlice, boundaryTs) : undefined
|
|
513
608
|
}).catch(() => {});
|
|
514
609
|
});
|
|
515
610
|
return () => sub.remove();
|
|
516
|
-
}, [client]);
|
|
611
|
+
}, [client, config?.xmppSettings?.keepAliveInBackground]);
|
|
517
612
|
|
|
518
613
|
// -----------------------------------------------------------
|
|
519
614
|
// Consumer visibility signal (`isVisible` prop). For hosts that keep
|
|
@@ -522,11 +617,11 @@ const XmppProvider = ({
|
|
|
522
617
|
// "shown" from "hidden", so the unread middleware would keep the open
|
|
523
618
|
// room's badge at 0 and messages arriving while you're elsewhere look
|
|
524
619
|
// already-read. When the host passes `isVisible`, mirror the AppState
|
|
525
|
-
// background/foreground handling: hidden → stamp lastViewed
|
|
526
|
-
// room visibility (so later messages
|
|
527
|
-
// visibility for the open room. Doing
|
|
528
|
-
// touch the chat store themselves.
|
|
529
|
-
// nothing to do.)
|
|
620
|
+
// background/foreground handling: hidden → stamp lastViewed=<newest
|
|
621
|
+
// server-acked message> + clear room visibility (so later messages
|
|
622
|
+
// count) + flush; shown → restore visibility for the open room. Doing
|
|
623
|
+
// it here means consumers never touch the chat store themselves.
|
|
624
|
+
// (Undefined = host unmounts on hide, nothing to do.)
|
|
530
625
|
// -----------------------------------------------------------
|
|
531
626
|
const chatWasVisibleRef = (0, _react.useRef)(false);
|
|
532
627
|
(0, _react.useEffect)(() => {
|
|
@@ -545,11 +640,25 @@ const XmppProvider = ({
|
|
|
545
640
|
}));
|
|
546
641
|
}
|
|
547
642
|
} else {
|
|
643
|
+
// The read boundary (rooms.readBoundaries) is USED for the stamp
|
|
644
|
+
// and flush below but deliberately left in place - a host using
|
|
645
|
+
// `isVisible` keeps <Chat> mounted while hidden, so MessageList's
|
|
646
|
+
// own scroll-tracking ref is still intact and the redux copy must
|
|
647
|
+
// stay in sync with it. Only consumed, never Date.now(): a fast
|
|
648
|
+
// device clock would write a future marker that the forward-only
|
|
649
|
+
// private-store merge could then never correct (bug #38). And
|
|
650
|
+
// never "the newest acked message" unconditionally either - that
|
|
651
|
+
// silently marks messages the user scrolled past and never reached
|
|
652
|
+
// as read (bug #42, a regression of #33).
|
|
653
|
+
const boundaryTs = activeRoomJID ? state.rooms?.readBoundaries?.[activeRoomJID] ?? null : null;
|
|
548
654
|
if (wasVisible && activeRoomJID) {
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
655
|
+
const readTs = (0, _getServerReadTimestamp.getReadMarkerTimestamp)(rooms?.[activeRoomJID], state.roomHeapSlice, boundaryTs);
|
|
656
|
+
if (readTs > 0) {
|
|
657
|
+
_roomStore.store.dispatch((0, _roomsSlice.setLastViewedTimestamp)({
|
|
658
|
+
chatJID: activeRoomJID,
|
|
659
|
+
timestamp: readTs
|
|
660
|
+
}));
|
|
661
|
+
}
|
|
553
662
|
// Drop the "New messages" divider so it's gone when the user
|
|
554
663
|
// returns to the chat (mirrors ChatRoom's unmount cleanup).
|
|
555
664
|
_roomStore.store.dispatch((0, _roomsSlice.deleteRoomMessage)({
|
|
@@ -560,7 +669,11 @@ const XmppProvider = ({
|
|
|
560
669
|
_roomStore.store.dispatch((0, _roomsSlice.clearVisibleRoom)());
|
|
561
670
|
if (wasVisible && client?.flushLastViewedToPrivateStoreStanza) {
|
|
562
671
|
client.flushLastViewedToPrivateStoreStanza(rooms, {
|
|
563
|
-
visibleRoomJID: activeRoomJID
|
|
672
|
+
visibleRoomJID: activeRoomJID,
|
|
673
|
+
// Carry the same boundary to the SERVER marker - without it
|
|
674
|
+
// the flush defaults to "everything" for the visible room.
|
|
675
|
+
// Clamped exactly like the local stamp above.
|
|
676
|
+
visibleRoomTs: activeRoomJID ? (0, _getServerReadTimestamp.getFlushBoundaryTs)(rooms?.[activeRoomJID], state.roomHeapSlice, boundaryTs) : undefined
|
|
564
677
|
}).catch(() => {});
|
|
565
678
|
}
|
|
566
679
|
}
|
|
@@ -586,32 +699,44 @@ const XmppProvider = ({
|
|
|
586
699
|
return;
|
|
587
700
|
}
|
|
588
701
|
lastMessagesRef = room.messages;
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
702
|
+
|
|
703
|
+
// getReadMarkerTimestamp (not a hand-rolled scan + Date.now()):
|
|
704
|
+
// it excludes pending/optimistic messages, which carry the DEVICE
|
|
705
|
+
// send time via `date` until the server echoes them back - a
|
|
706
|
+
// manual scan without that exclusion could pick up a pending
|
|
707
|
+
// message's device timestamp here and write a future marker the
|
|
708
|
+
// same way a raw Date.now() would (bug #38). And when the user has
|
|
709
|
+
// scrolled up (a boundary is set for this room), it clamps to that
|
|
710
|
+
// boundary instead of the newest message - without this, every
|
|
711
|
+
// incoming message while scrolled up advanced the marker to
|
|
712
|
+
// "newest" regardless of scroll position, and the later, smaller
|
|
713
|
+
// boundary write on leave was rejected by the forward-only
|
|
714
|
+
// private-store merge, leaving 0 unread even after a restart
|
|
715
|
+
// (customer #42, a regression of #33 reintroduced by #38).
|
|
716
|
+
const boundaryTs = s.rooms?.readBoundaries?.[jid] ?? null;
|
|
717
|
+
const newest = (0, _getServerReadTimestamp.getReadMarkerTimestamp)(room, s.roomHeapSlice, boundaryTs);
|
|
718
|
+
if (!newest || newest <= lastStampedMs) {
|
|
601
719
|
return;
|
|
602
720
|
}
|
|
603
721
|
lastStampedMs = newest;
|
|
604
722
|
_roomStore.store.dispatch((0, _roomsSlice.setLastViewedTimestamp)({
|
|
605
723
|
chatJID: jid,
|
|
606
|
-
timestamp:
|
|
724
|
+
timestamp: newest
|
|
607
725
|
}));
|
|
608
726
|
if (flushTimer) {
|
|
609
727
|
clearTimeout(flushTimer);
|
|
610
728
|
}
|
|
611
729
|
if (client?.flushLastViewedToPrivateStoreStanza) {
|
|
612
730
|
flushTimer = setTimeout(() => {
|
|
613
|
-
|
|
614
|
-
|
|
731
|
+
// Re-read fresh state rather than closing over `boundaryTs`:
|
|
732
|
+
// the user may have scrolled back to the bottom (clearing the
|
|
733
|
+
// boundary) in the 2s between the stamp and this flush, and
|
|
734
|
+
// the flush should reflect that.
|
|
735
|
+
const freshState = _roomStore.store.getState();
|
|
736
|
+
const freshBoundaryTs = freshState.rooms?.readBoundaries?.[jid] ?? null;
|
|
737
|
+
client.flushLastViewedToPrivateStoreStanza(freshState.rooms?.rooms, {
|
|
738
|
+
visibleRoomJID: jid,
|
|
739
|
+
visibleRoomTs: (0, _getServerReadTimestamp.getFlushBoundaryTs)(freshState.rooms?.rooms?.[jid], freshState.roomHeapSlice, freshBoundaryTs)
|
|
615
740
|
}).catch(() => {});
|
|
616
741
|
}, 2000);
|
|
617
742
|
}
|