@ethora/chat-component-rn 26.7.9 → 26.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -93
- package/README.md +10 -33
- package/lib/commonjs/assets/icons.js +2 -7
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/AuthForms/Login.js +4 -4
- package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
- package/lib/commonjs/components/Header/HeaderRoomList.js +7 -26
- package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +3 -9
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +13 -101
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +38 -34
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/LoginWrapper.js +1 -2
- package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +9 -29
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +1 -5
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +5 -13
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +13 -14
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js +24 -3
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +35 -208
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +98 -317
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageTranslate.js +16 -7
- package/lib/commonjs/components/MessageBubble/MessageTranslate.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +112 -320
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +215 -556
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js +9 -7
- package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +27 -69
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +1 -2
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js +0 -8
- package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +1 -2
- package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +109 -205
- package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
- package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +2 -4
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +21 -7
- package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +244 -507
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +46 -74
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/commonjs/components/Modals/styledModalComponents.js +2 -9
- package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +39 -23
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +3 -22
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +3 -17
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +3 -17
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js +3 -6
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/commonjs/components/styled/AudioMessage.js +1 -2
- package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/DateLabel.js +10 -3
- package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +9 -37
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/NewMessageLabel.js +3 -1
- package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +17 -86
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledComponents.js +3 -9
- package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +4 -11
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/commonjs/components/styled/UnsupportedType.js +4 -14
- package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +61 -119
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +54 -128
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/createMessageFromXml.js +1 -19
- package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
- package/lib/commonjs/helpers/ensureScopedChatCache.js +2 -2
- package/lib/commonjs/helpers/ensureScopedChatCache.js.map +1 -1
- package/lib/commonjs/helpers/getDataFromXml.js +24 -1
- package/lib/commonjs/helpers/getDataFromXml.js.map +1 -1
- package/lib/commonjs/helpers/historyPreloadScheduler.js +2 -65
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/initXmppRooms.js +8 -14
- package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +13 -0
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/isUnresolvedSenderId.js +6 -1
- package/lib/commonjs/helpers/isUnresolvedSenderId.js.map +1 -1
- package/lib/commonjs/helpers/mimeToExtension.js +14 -6
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +17 -130
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/commonjs/helpers/resolveLangSource.js +38 -0
- package/lib/commonjs/helpers/resolveLangSource.js.map +1 -0
- package/lib/commonjs/helpers/xmppUsername.js +39 -0
- package/lib/commonjs/helpers/xmppUsername.js.map +1 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js +8 -17
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/commonjs/hooks/useChatWrapperInit.js +14 -32
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/hooks/useComposing.js +0 -27
- package/lib/commonjs/hooks/useComposing.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +7 -15
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/hooks/usePendingNotification.js +11 -8
- package/lib/commonjs/hooks/usePendingNotification.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +14 -50
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -6
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/i18n/strings.js +133 -121
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/i18n/useT.js +1 -1
- package/lib/commonjs/main.js +0 -44
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/api-requests/auth.api.js +60 -134
- package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/roomMembers.api.js +1 -1
- package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +9 -9
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/user.api.js +9 -68
- package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
- package/lib/commonjs/networking/apiClient.js +112 -62
- package/lib/commonjs/networking/apiClient.js.map +1 -1
- package/lib/commonjs/networking/stanzaHandlers.js +51 -93
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +8 -46
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +1 -8
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js +1 -5
- package/lib/commonjs/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +8 -124
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/chatSettingsSlice.js +7 -26
- package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/commonjs/roomStore/index.js +2 -35
- package/lib/commonjs/roomStore/index.js.map +1 -1
- package/lib/commonjs/roomStore/persistence.js +39 -226
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +8 -87
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/services/pushSubscriptionService.js +13 -15
- package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
- package/lib/commonjs/version.js +3 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/assets/icons.js +1 -6
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/AuthForms/Login.js +4 -4
- package/lib/module/components/AuthForms/Login.js.map +1 -1
- package/lib/module/components/Header/HeaderRoomList.js +7 -26
- package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +3 -9
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +14 -102
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +40 -36
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/LoginWrapper.js +1 -2
- package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +10 -30
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +1 -5
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +5 -13
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +13 -14
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/module/components/MainComponents/ReduxWrapper.js +26 -5
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +35 -207
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/Menu/HeaderRoomListMenu.js +101 -319
- package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageTranslate.js +16 -7
- package/lib/module/components/MessageBubble/MessageTranslate.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +115 -311
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +219 -559
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js +9 -7
- package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +28 -70
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js +1 -2
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/module/components/Modals/Modal/Modal.js +1 -9
- package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/ModalContent.js +1 -2
- package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/NewChatModal.js +111 -208
- package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
- package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +2 -4
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +23 -9
- package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +248 -509
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +48 -76
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/module/components/Modals/styledModalComponents.js +2 -9
- package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js +40 -24
- package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js +3 -22
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +3 -17
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +3 -17
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/module/components/VideoCalls/VideoCallSession.js +3 -6
- package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/module/components/styled/AudioMessage.js +1 -2
- package/lib/module/components/styled/AudioMessage.js.map +1 -1
- package/lib/module/components/styled/DateLabel.js +10 -3
- package/lib/module/components/styled/DateLabel.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +9 -37
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/NewMessageLabel.js +3 -1
- package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +18 -87
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledComponents.js +3 -9
- package/lib/module/components/styled/StyledComponents.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +4 -11
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/module/components/styled/UnsupportedType.js +4 -14
- package/lib/module/components/styled/UnsupportedType.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +62 -120
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/xmppProvider.js +55 -128
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/createMessageFromXml.js +1 -19
- package/lib/module/helpers/createMessageFromXml.js.map +1 -1
- package/lib/module/helpers/ensureScopedChatCache.js +2 -2
- package/lib/module/helpers/ensureScopedChatCache.js.map +1 -1
- package/lib/module/helpers/getDataFromXml.js +23 -1
- package/lib/module/helpers/getDataFromXml.js.map +1 -1
- package/lib/module/helpers/historyPreloadScheduler.js +3 -66
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/initXmppRooms.js +8 -14
- package/lib/module/helpers/initXmppRooms.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +13 -0
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/isUnresolvedSenderId.js +6 -1
- package/lib/module/helpers/isUnresolvedSenderId.js.map +1 -1
- package/lib/module/helpers/mimeToExtension.js +13 -6
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- package/lib/module/helpers/resolveInitBeforeLoadUser.js +16 -130
- package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/module/helpers/resolveLangSource.js +32 -0
- package/lib/module/helpers/resolveLangSource.js.map +1 -0
- package/lib/module/helpers/xmppUsername.js +35 -0
- package/lib/module/helpers/xmppUsername.js.map +1 -0
- package/lib/module/hooks/useChatRoomFocus.js +8 -17
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/module/hooks/useChatWrapperInit.js +14 -32
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/hooks/useComposing.js +1 -28
- package/lib/module/hooks/useComposing.js.map +1 -1
- package/lib/module/hooks/useLogout.js +7 -15
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/hooks/usePendingNotification.js +11 -8
- package/lib/module/hooks/usePendingNotification.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +16 -52
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js +1 -6
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/i18n/strings.js +133 -121
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/i18n/useT.js +1 -1
- package/lib/module/main.js +2 -14
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/api-requests/auth.api.js +59 -131
- package/lib/module/networking/api-requests/auth.api.js.map +1 -1
- package/lib/module/networking/api-requests/roomMembers.api.js +1 -1
- package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +9 -9
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/networking/api-requests/user.api.js +7 -64
- package/lib/module/networking/api-requests/user.api.js.map +1 -1
- package/lib/module/networking/apiClient.js +113 -61
- package/lib/module/networking/apiClient.js.map +1 -1
- package/lib/module/networking/stanzaHandlers.js +52 -94
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +8 -46
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +1 -8
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js +1 -5
- package/lib/module/networking/xmpp/subscribeToRoomMessages.xmpp.js.map +1 -1
- package/lib/module/networking/xmppClient.js +8 -124
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/chatSettingsSlice.js +7 -26
- package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/module/roomStore/index.js +4 -37
- package/lib/module/roomStore/index.js.map +1 -1
- package/lib/module/roomStore/persistence.js +38 -223
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +7 -86
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/services/pushSubscriptionService.js +13 -15
- package/lib/module/services/pushSubscriptionService.js.map +1 -1
- package/lib/module/version.js +3 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts +0 -16
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
- package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/LoginWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts +1 -10
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomList.d.ts +0 -7
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +0 -3
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageTranslate.d.ts.map +1 -1
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +0 -9
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +0 -10
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/DeleteChatModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +2 -4
- package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
- package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
- package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +1 -6
- package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +0 -16
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +0 -1
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
- package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts +0 -14
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts +0 -8
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
- package/lib/typescript/helpers/getDataFromXml.d.ts.map +1 -1
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
- package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/isUnresolvedSenderId.d.ts.map +1 -1
- package/lib/typescript/helpers/mimeToExtension.d.ts +15 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
- package/lib/typescript/helpers/resolveLangSource.d.ts +30 -0
- package/lib/typescript/helpers/resolveLangSource.d.ts.map +1 -0
- package/lib/typescript/helpers/xmppUsername.d.ts +13 -0
- package/lib/typescript/helpers/xmppUsername.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts +1 -4
- package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
- package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
- package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
- package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
- package/lib/typescript/hooks/usePendingNotification.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +0 -1
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
- package/lib/typescript/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/i18n/useT.d.ts +1 -1
- package/lib/typescript/main.d.ts +2 -9
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/auth.api.d.ts +1 -3
- package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/user.api.d.ts +0 -27
- package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
- package/lib/typescript/networking/apiClient.d.ts +6 -12
- package/lib/typescript/networking/apiClient.d.ts.map +1 -1
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +2 -10
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/subscribeToRoomMessages.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +0 -14
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts +0 -16
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
- package/lib/typescript/roomStore/index.d.ts.map +1 -1
- package/lib/typescript/roomStore/persistence.d.ts +1 -18
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +1 -14
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/services/pushSubscriptionService.d.ts +1 -1
- package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +5 -49
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/lib/typescript/version.d.ts.map +1 -1
- package/package.json +29 -41
- package/src/assets/icons.tsx +9 -48
- package/src/components/AuthForms/Login.tsx +3 -3
- package/src/components/Header/HeaderRoomList.tsx +6 -24
- package/src/components/MainComponents/ChatHeader.tsx +3 -9
- package/src/components/MainComponents/ChatRoom.tsx +16 -111
- package/src/components/MainComponents/ChatWrapper.tsx +53 -36
- package/src/components/MainComponents/LoginWrapper.tsx +0 -1
- package/src/components/MainComponents/MediaMessage.tsx +8 -26
- package/src/components/MainComponents/MessageContainer.tsx +1 -5
- package/src/components/MainComponents/MessageList.tsx +4 -23
- package/src/components/MainComponents/ProfileImagePlaceholder.tsx +14 -21
- package/src/components/MainComponents/ReduxWrapper.tsx +18 -1
- package/src/components/MainComponents/RoomList.tsx +39 -236
- package/src/components/Menu/HeaderRoomListMenu.tsx +75 -328
- package/src/components/MessageBubble/MessageTranslate.tsx +17 -12
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +99 -331
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +293 -611
- package/src/components/Modals/ChatProfileModal/DeleteChatModal.tsx +9 -7
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +38 -79
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +1 -2
- package/src/components/Modals/Modal/Modal.tsx +0 -7
- package/src/components/Modals/NewChatModal/ModalContent.tsx +3 -6
- package/src/components/Modals/NewChatModal/NewChatModal.tsx +126 -223
- package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +1 -12
- package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +4 -14
- package/src/components/Modals/UserProfileModal/EditUserModal.tsx +25 -9
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +307 -617
- package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +58 -75
- package/src/components/Modals/styledModalComponents.tsx +2 -9
- package/src/components/RoomComponents/ChatRoomItem.tsx +50 -21
- package/src/components/RoomComponents/styled/LastMessageFile.tsx +4 -28
- package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +3 -18
- package/src/components/RoomComponents/styled/LastMessageVideo.tsx +3 -18
- package/src/components/VideoCalls/VideoCallSession.tsx +3 -8
- package/src/components/styled/AudioMessage.tsx +1 -2
- package/src/components/styled/DateLabel.tsx +10 -3
- package/src/components/styled/MessageImage.tsx +7 -53
- package/src/components/styled/NewMessageLabel.tsx +3 -1
- package/src/components/styled/SendInput.tsx +18 -91
- package/src/components/styled/StyledComponents.ts +3 -9
- package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +4 -11
- package/src/components/styled/UnsupportedType.tsx +4 -14
- package/src/components/styled/VideoMessage.tsx +54 -131
- package/src/context/xmppProvider.tsx +51 -134
- package/src/helpers/createMessageFromXml.ts +1 -20
- package/src/helpers/ensureScopedChatCache.ts +2 -2
- package/src/helpers/getDataFromXml.ts +25 -1
- package/src/helpers/historyPreloadScheduler.ts +3 -80
- package/src/helpers/initXmppRooms.tsx +10 -14
- package/src/helpers/insertMessageWithDelimiter.ts +13 -0
- package/src/helpers/isUnresolvedSenderId.ts +9 -1
- package/src/helpers/mimeToExtension.ts +22 -6
- package/src/helpers/resolveInitBeforeLoadUser.ts +18 -125
- package/src/helpers/resolveLangSource.ts +40 -0
- package/src/helpers/xmppUsername.ts +38 -0
- package/src/hooks/useChatRoomFocus.ts +5 -14
- package/src/hooks/useChatWrapperInit.ts +16 -32
- package/src/hooks/useComposing.tsx +1 -37
- package/src/hooks/useLogout.tsx +9 -15
- package/src/hooks/usePendingNotification.ts +11 -5
- package/src/hooks/useSendMessage.tsx +15 -60
- package/src/hooks/useUnreadMessagesCounter.ts +0 -11
- package/src/i18n/strings.ts +133 -121
- package/src/i18n/useT.ts +1 -1
- package/src/main.ts +2 -26
- package/src/networking/api-requests/auth.api.ts +48 -156
- package/src/networking/api-requests/roomMembers.api.ts +1 -1
- package/src/networking/api-requests/rooms.api.ts +9 -9
- package/src/networking/api-requests/user.api.ts +7 -79
- package/src/networking/apiClient.ts +123 -68
- package/src/networking/stanzaHandlers.ts +51 -92
- package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +10 -71
- package/src/networking/xmpp/presenceInRoom.xmpp.ts +1 -6
- package/src/networking/xmpp/subscribeToRoomMessages.xmpp.ts +1 -12
- package/src/networking/xmppClient.ts +9 -141
- package/src/roomStore/chatSettingsSlice.ts +10 -34
- package/src/roomStore/index.ts +4 -40
- package/src/roomStore/persistence.ts +40 -234
- package/src/roomStore/roomsSlice.ts +7 -87
- package/src/services/pushSubscriptionService.ts +13 -18
- package/src/types/types.ts +5 -58
- package/src/version.ts +3 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +0 -226
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +0 -1
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +0 -556
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +0 -1
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +0 -210
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +0 -1
- package/lib/commonjs/helpers/getChatBackground.js +0 -23
- package/lib/commonjs/helpers/getChatBackground.js.map +0 -1
- package/lib/commonjs/helpers/getDisplayFileName.js +0 -79
- package/lib/commonjs/helpers/getDisplayFileName.js.map +0 -1
- package/lib/commonjs/helpers/getServerReadTimestamp.js +0 -125
- package/lib/commonjs/helpers/getServerReadTimestamp.js.map +0 -1
- package/lib/commonjs/helpers/isOwnMessage.js +0 -75
- package/lib/commonjs/helpers/isOwnMessage.js.map +0 -1
- package/lib/commonjs/helpers/mediaLibraryRuntime.js +0 -31
- package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +0 -1
- package/lib/commonjs/helpers/persistCrypto.js +0 -122
- package/lib/commonjs/helpers/persistCrypto.js.map +0 -1
- package/lib/commonjs/helpers/pickImageAsset.js +0 -68
- package/lib/commonjs/helpers/pickImageAsset.js.map +0 -1
- package/lib/commonjs/helpers/pushPayload.js +0 -71
- package/lib/commonjs/helpers/pushPayload.js.map +0 -1
- package/lib/commonjs/helpers/secureFileUrl.js +0 -101
- package/lib/commonjs/helpers/secureFileUrl.js.map +0 -1
- package/lib/commonjs/helpers/secureKeyValue.js +0 -83
- package/lib/commonjs/helpers/secureKeyValue.js.map +0 -1
- package/lib/commonjs/helpers/secureStoreRuntime.js +0 -59
- package/lib/commonjs/helpers/secureStoreRuntime.js.map +0 -1
- package/lib/commonjs/helpers/secureUserStorage.js +0 -75
- package/lib/commonjs/helpers/secureUserStorage.js.map +0 -1
- package/lib/commonjs/helpers/shallowEqual.js +0 -36
- package/lib/commonjs/helpers/shallowEqual.js.map +0 -1
- package/lib/commonjs/helpers/sheetGestures.js +0 -32
- package/lib/commonjs/helpers/sheetGestures.js.map +0 -1
- package/lib/commonjs/hooks/useFileToken.js +0 -10
- package/lib/commonjs/hooks/useFileToken.js.map +0 -1
- package/lib/commonjs/networking/authRefresh.js +0 -332
- package/lib/commonjs/networking/authRefresh.js.map +0 -1
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +0 -223
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +0 -1
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +0 -548
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +0 -1
- package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +0 -205
- package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +0 -1
- package/lib/module/helpers/getChatBackground.js +0 -18
- package/lib/module/helpers/getChatBackground.js.map +0 -1
- package/lib/module/helpers/getDisplayFileName.js +0 -73
- package/lib/module/helpers/getDisplayFileName.js.map +0 -1
- package/lib/module/helpers/getServerReadTimestamp.js +0 -120
- package/lib/module/helpers/getServerReadTimestamp.js.map +0 -1
- package/lib/module/helpers/isOwnMessage.js +0 -70
- package/lib/module/helpers/isOwnMessage.js.map +0 -1
- package/lib/module/helpers/mediaLibraryRuntime.js +0 -25
- package/lib/module/helpers/mediaLibraryRuntime.js.map +0 -1
- package/lib/module/helpers/persistCrypto.js +0 -115
- package/lib/module/helpers/persistCrypto.js.map +0 -1
- package/lib/module/helpers/pickImageAsset.js +0 -63
- package/lib/module/helpers/pickImageAsset.js.map +0 -1
- package/lib/module/helpers/pushPayload.js +0 -63
- package/lib/module/helpers/pushPayload.js.map +0 -1
- package/lib/module/helpers/secureFileUrl.js +0 -91
- package/lib/module/helpers/secureFileUrl.js.map +0 -1
- package/lib/module/helpers/secureKeyValue.js +0 -75
- package/lib/module/helpers/secureKeyValue.js.map +0 -1
- package/lib/module/helpers/secureStoreRuntime.js +0 -52
- package/lib/module/helpers/secureStoreRuntime.js.map +0 -1
- package/lib/module/helpers/secureUserStorage.js +0 -72
- package/lib/module/helpers/secureUserStorage.js.map +0 -1
- package/lib/module/helpers/shallowEqual.js +0 -31
- package/lib/module/helpers/shallowEqual.js.map +0 -1
- package/lib/module/helpers/sheetGestures.js +0 -26
- package/lib/module/helpers/sheetGestures.js.map +0 -1
- package/lib/module/hooks/useFileToken.js +0 -5
- package/lib/module/hooks/useFileToken.js.map +0 -1
- package/lib/module/networking/authRefresh.js +0 -321
- package/lib/module/networking/authRefresh.js.map +0 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +0 -9
- package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +0 -1
- package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +0 -75
- package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +0 -1
- package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +0 -25
- package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +0 -1
- package/lib/typescript/helpers/getChatBackground.d.ts +0 -15
- package/lib/typescript/helpers/getChatBackground.d.ts.map +0 -1
- package/lib/typescript/helpers/getDisplayFileName.d.ts +0 -49
- package/lib/typescript/helpers/getDisplayFileName.d.ts.map +0 -1
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts +0 -69
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +0 -1
- package/lib/typescript/helpers/isOwnMessage.d.ts +0 -36
- package/lib/typescript/helpers/isOwnMessage.d.ts.map +0 -1
- package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +0 -3
- package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +0 -1
- package/lib/typescript/helpers/persistCrypto.d.ts +0 -13
- package/lib/typescript/helpers/persistCrypto.d.ts.map +0 -1
- package/lib/typescript/helpers/pickImageAsset.d.ts +0 -27
- package/lib/typescript/helpers/pickImageAsset.d.ts.map +0 -1
- package/lib/typescript/helpers/pushPayload.d.ts +0 -7
- package/lib/typescript/helpers/pushPayload.d.ts.map +0 -1
- package/lib/typescript/helpers/secureFileUrl.d.ts +0 -7
- package/lib/typescript/helpers/secureFileUrl.d.ts.map +0 -1
- package/lib/typescript/helpers/secureKeyValue.d.ts +0 -13
- package/lib/typescript/helpers/secureKeyValue.d.ts.map +0 -1
- package/lib/typescript/helpers/secureStoreRuntime.d.ts +0 -29
- package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +0 -1
- package/lib/typescript/helpers/secureUserStorage.d.ts +0 -23
- package/lib/typescript/helpers/secureUserStorage.d.ts.map +0 -1
- package/lib/typescript/helpers/shallowEqual.d.ts +0 -11
- package/lib/typescript/helpers/shallowEqual.d.ts.map +0 -1
- package/lib/typescript/helpers/sheetGestures.d.ts +0 -20
- package/lib/typescript/helpers/sheetGestures.d.ts.map +0 -1
- package/lib/typescript/hooks/useFileToken.d.ts +0 -2
- package/lib/typescript/hooks/useFileToken.d.ts.map +0 -1
- package/lib/typescript/networking/authRefresh.d.ts +0 -95
- package/lib/typescript/networking/authRefresh.d.ts.map +0 -1
- package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +0 -244
- package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +0 -615
- package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +0 -217
- package/src/helpers/getChatBackground.ts +0 -18
- package/src/helpers/getDisplayFileName.ts +0 -87
- package/src/helpers/getServerReadTimestamp.ts +0 -120
- package/src/helpers/isOwnMessage.ts +0 -90
- package/src/helpers/mediaLibraryRuntime.ts +0 -25
- package/src/helpers/persistCrypto.ts +0 -127
- package/src/helpers/pickImageAsset.ts +0 -68
- package/src/helpers/pushPayload.ts +0 -62
- package/src/helpers/secureFileUrl.ts +0 -103
- package/src/helpers/secureKeyValue.ts +0 -80
- package/src/helpers/secureStoreRuntime.ts +0 -62
- package/src/helpers/secureUserStorage.ts +0 -80
- package/src/helpers/shallowEqual.ts +0 -33
- package/src/helpers/sheetGestures.ts +0 -25
- package/src/hooks/useFileToken.ts +0 -7
- package/src/networking/authRefresh.ts +0 -451
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _icons = require("../../../assets/icons");
|
|
10
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
-
/** @format */
|
|
13
|
-
|
|
14
|
-
/** Fallbacks used for the very first frame, before the card is measured. */
|
|
15
|
-
const ESTIMATED_WIDTH = 220;
|
|
16
|
-
const ESTIMATED_HEIGHT = 160;
|
|
17
|
-
const GAP = 8;
|
|
18
|
-
/** Roughly a notch inset + the header band, used until measured. */
|
|
19
|
-
const DEFAULT_TOP = 104;
|
|
20
|
-
const EDGE = 12;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* The "…" overflow menu shared by the chat and user profile screens.
|
|
24
|
-
*
|
|
25
|
-
* The shared `DropdownMenu` pins its card at a hard-coded `top: 95`, which
|
|
26
|
-
* on this screen landed it over the host's own tab bar, unanchored to the
|
|
27
|
-
* button. This one measures the button and grows the card out of it: the
|
|
28
|
-
* card scales up from its top-right corner (translate → scale → translate
|
|
29
|
-
* back, which is how you fake a transform-origin in React Native) so the
|
|
30
|
-
* menu visibly unfolds from the three dots.
|
|
31
|
-
*/
|
|
32
|
-
const ProfileMenu = ({
|
|
33
|
-
items,
|
|
34
|
-
testIDPrefix = 'chat-profile'
|
|
35
|
-
}) => {
|
|
36
|
-
const buttonRef = (0, _react.useRef)(null);
|
|
37
|
-
const [open, setOpen] = (0, _react.useState)(false);
|
|
38
|
-
const [anchor, setAnchor] = (0, _react.useState)({
|
|
39
|
-
top: DEFAULT_TOP,
|
|
40
|
-
right: EDGE
|
|
41
|
-
});
|
|
42
|
-
const [size, setSize] = (0, _react.useState)({
|
|
43
|
-
width: ESTIMATED_WIDTH,
|
|
44
|
-
height: ESTIMATED_HEIGHT
|
|
45
|
-
});
|
|
46
|
-
const progress = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
47
|
-
const animate = (to, done) => _reactNative.Animated.timing(progress, {
|
|
48
|
-
toValue: to,
|
|
49
|
-
duration: to ? 180 : 140,
|
|
50
|
-
easing: to ? _reactNative.Easing.out(_reactNative.Easing.back(1.3)) : _reactNative.Easing.in(_reactNative.Easing.quad),
|
|
51
|
-
useNativeDriver: true
|
|
52
|
-
}).start(({
|
|
53
|
-
finished
|
|
54
|
-
}) => finished && done?.());
|
|
55
|
-
|
|
56
|
-
// Anchor to the button's window frame — that is the same coordinate
|
|
57
|
-
// space the <Modal> lays out in, so no insets to subtract. Measured on
|
|
58
|
-
// layout (and again on open) rather than *before* opening: on some hosts
|
|
59
|
-
// the measure callback never fires, and gating the open on it would mean
|
|
60
|
-
// a menu that simply doesn't appear.
|
|
61
|
-
const measure = () => buttonRef.current?.measureInWindow?.((x, y, width, height) => {
|
|
62
|
-
if (typeof y !== 'number' || typeof x !== 'number') {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
const screenWidth = _reactNative.Dimensions.get('window').width;
|
|
66
|
-
setAnchor({
|
|
67
|
-
top: y + height + GAP,
|
|
68
|
-
right: Math.max(screenWidth - (x + width), EDGE)
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
const openMenu = () => {
|
|
72
|
-
measure();
|
|
73
|
-
progress.setValue(0);
|
|
74
|
-
setOpen(true);
|
|
75
|
-
animate(1);
|
|
76
|
-
};
|
|
77
|
-
const closeMenu = then => animate(0, () => {
|
|
78
|
-
setOpen(false);
|
|
79
|
-
then?.();
|
|
80
|
-
});
|
|
81
|
-
const scale = progress.interpolate({
|
|
82
|
-
inputRange: [0, 1],
|
|
83
|
-
outputRange: [0.2, 1]
|
|
84
|
-
});
|
|
85
|
-
if (items.length === 0) {
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
89
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
90
|
-
ref: buttonRef,
|
|
91
|
-
collapsable: false,
|
|
92
|
-
onLayout: measure,
|
|
93
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
94
|
-
testID: `${testIDPrefix}-menu`,
|
|
95
|
-
activeOpacity: 0.7,
|
|
96
|
-
onPress: openMenu,
|
|
97
|
-
style: styles.button,
|
|
98
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.MoreIcon, {
|
|
99
|
-
color: "#FFFFFF"
|
|
100
|
-
})
|
|
101
|
-
})
|
|
102
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Modal, {
|
|
103
|
-
transparent: true,
|
|
104
|
-
visible: open,
|
|
105
|
-
animationType: "none",
|
|
106
|
-
onRequestClose: () => closeMenu(),
|
|
107
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
108
|
-
testID: `${testIDPrefix}-menu-backdrop`,
|
|
109
|
-
style: _reactNative.StyleSheet.absoluteFill,
|
|
110
|
-
onPress: () => closeMenu()
|
|
111
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
112
|
-
testID: `${testIDPrefix}-menu-card`,
|
|
113
|
-
onLayout: e => {
|
|
114
|
-
const {
|
|
115
|
-
width,
|
|
116
|
-
height
|
|
117
|
-
} = e.nativeEvent.layout;
|
|
118
|
-
if (width && height) {
|
|
119
|
-
setSize({
|
|
120
|
-
width,
|
|
121
|
-
height
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
style: [styles.card, {
|
|
126
|
-
top: anchor.top,
|
|
127
|
-
right: anchor.right,
|
|
128
|
-
opacity: progress,
|
|
129
|
-
transform: [
|
|
130
|
-
// Move the origin to the card's top-right corner, scale
|
|
131
|
-
// there, then move back — RN has no transform-origin.
|
|
132
|
-
{
|
|
133
|
-
translateX: size.width / 2
|
|
134
|
-
}, {
|
|
135
|
-
translateY: -size.height / 2
|
|
136
|
-
}, {
|
|
137
|
-
scale
|
|
138
|
-
}, {
|
|
139
|
-
translateX: -size.width / 2
|
|
140
|
-
}, {
|
|
141
|
-
translateY: size.height / 2
|
|
142
|
-
}]
|
|
143
|
-
}],
|
|
144
|
-
children: items.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
145
|
-
testID: `${testIDPrefix}-menu-${item.key}`,
|
|
146
|
-
activeOpacity: 0.6,
|
|
147
|
-
style: [styles.row, index > 0 && styles.rowDivider],
|
|
148
|
-
onPress: () => closeMenu(item.onPress),
|
|
149
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
150
|
-
style: [styles.label, item.destructive && styles.destructive],
|
|
151
|
-
children: item.label
|
|
152
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
153
|
-
style: styles.icon,
|
|
154
|
-
children: item.icon
|
|
155
|
-
})]
|
|
156
|
-
}, item.key))
|
|
157
|
-
})]
|
|
158
|
-
})]
|
|
159
|
-
});
|
|
160
|
-
};
|
|
161
|
-
const styles = _reactNative.StyleSheet.create({
|
|
162
|
-
button: {
|
|
163
|
-
width: 40,
|
|
164
|
-
height: 40,
|
|
165
|
-
borderRadius: 20,
|
|
166
|
-
backgroundColor: 'rgba(0,0,0,0.28)',
|
|
167
|
-
alignItems: 'center',
|
|
168
|
-
justifyContent: 'center'
|
|
169
|
-
},
|
|
170
|
-
card: {
|
|
171
|
-
position: 'absolute',
|
|
172
|
-
minWidth: 200,
|
|
173
|
-
backgroundColor: '#FFFFFF',
|
|
174
|
-
borderRadius: 14,
|
|
175
|
-
paddingVertical: 4,
|
|
176
|
-
shadowColor: '#121219',
|
|
177
|
-
shadowOffset: {
|
|
178
|
-
width: 0,
|
|
179
|
-
height: 6
|
|
180
|
-
},
|
|
181
|
-
shadowOpacity: 0.18,
|
|
182
|
-
shadowRadius: 16,
|
|
183
|
-
elevation: 12
|
|
184
|
-
},
|
|
185
|
-
row: {
|
|
186
|
-
flexDirection: 'row',
|
|
187
|
-
alignItems: 'center',
|
|
188
|
-
justifyContent: 'space-between',
|
|
189
|
-
gap: 24,
|
|
190
|
-
paddingHorizontal: 16,
|
|
191
|
-
paddingVertical: 13
|
|
192
|
-
},
|
|
193
|
-
rowDivider: {
|
|
194
|
-
borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
|
|
195
|
-
borderTopColor: '#EFEFF2'
|
|
196
|
-
},
|
|
197
|
-
label: {
|
|
198
|
-
fontSize: 16,
|
|
199
|
-
color: '#141414'
|
|
200
|
-
},
|
|
201
|
-
destructive: {
|
|
202
|
-
color: '#E53935'
|
|
203
|
-
},
|
|
204
|
-
icon: {
|
|
205
|
-
width: 22,
|
|
206
|
-
alignItems: 'center'
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
var _default = exports.default = ProfileMenu;
|
|
210
|
-
//# sourceMappingURL=ProfileMenu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_icons","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ESTIMATED_WIDTH","ESTIMATED_HEIGHT","GAP","DEFAULT_TOP","EDGE","ProfileMenu","items","testIDPrefix","buttonRef","useRef","open","setOpen","useState","anchor","setAnchor","top","right","size","setSize","width","height","progress","Animated","Value","current","animate","to","done","timing","toValue","duration","easing","Easing","out","back","in","quad","useNativeDriver","start","finished","measure","measureInWindow","x","y","screenWidth","Dimensions","Math","max","openMenu","setValue","closeMenu","then","scale","interpolate","inputRange","outputRange","length","jsxs","Fragment","children","jsx","View","ref","collapsable","onLayout","TouchableOpacity","testID","activeOpacity","onPress","style","styles","button","MoreIcon","color","Modal","transparent","visible","animationType","onRequestClose","Pressable","StyleSheet","absoluteFill","nativeEvent","layout","card","opacity","transform","translateX","translateY","map","item","index","key","row","rowDivider","Text","label","destructive","icon","create","borderRadius","backgroundColor","alignItems","justifyContent","position","minWidth","paddingVertical","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flexDirection","gap","paddingHorizontal","borderTopWidth","hairlineWidth","borderTopColor","fontSize","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/ProfileHeader/ProfileMenu.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getChatBackgroundColor = exports.DEFAULT_CHAT_BACKGROUND = void 0;
|
|
7
|
-
/** @format */
|
|
8
|
-
|
|
9
|
-
/** Ground behind the conversation, and behind the rounded corners of the
|
|
10
|
-
* header and the composer that sit over it. */
|
|
11
|
-
const DEFAULT_CHAT_BACKGROUND = exports.DEFAULT_CHAT_BACKGROUND = '#F3F6FC';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* One place for the conversation's background colour.
|
|
15
|
-
*
|
|
16
|
-
* The message list has always painted it; the chat container behind it was
|
|
17
|
-
* plain white, which is what made the header's rounded bottom corners and
|
|
18
|
-
* the composer's rounded top corners invisible — the corners revealed the
|
|
19
|
-
* white parent, not the conversation.
|
|
20
|
-
*/
|
|
21
|
-
const getChatBackgroundColor = config => config?.backgroundChat?.color || DEFAULT_CHAT_BACKGROUND;
|
|
22
|
-
exports.getChatBackgroundColor = getChatBackgroundColor;
|
|
23
|
-
//# sourceMappingURL=getChatBackground.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_CHAT_BACKGROUND","exports","getChatBackgroundColor","config","backgroundChat","color"],"sourceRoot":"../../../src","sources":["helpers/getChatBackground.ts"],"mappings":";;;;;;AAAA;;AAIA;AACA;AACO,MAAMA,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,SAAS;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,sBAAsB,GAAIC,MAAgB,IACrDA,MAAM,EAAEC,cAAc,EAAEC,KAAK,IAAIL,uBAAuB;AAACC,OAAA,CAAAC,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getDisplayFileName = getDisplayFileName;
|
|
7
|
-
exports.getUniqueFileName = getUniqueFileName;
|
|
8
|
-
exports.sanitizeFileNameForPath = sanitizeFileNameForPath;
|
|
9
|
-
var _mimeToExtension = require("./mimeToExtension");
|
|
10
|
-
/**
|
|
11
|
-
* Picks the best human-readable filename for a chat attachment - the
|
|
12
|
-
* single source of truth for every place a file name is rendered in the
|
|
13
|
-
* UI, saved to disk, shared, or downloaded.
|
|
14
|
-
*
|
|
15
|
-
* Priority: `originalName` (the sender's own file name, e.g. "test1.pdf")
|
|
16
|
-
* beats `fileName` (the server's stored/hashed name, e.g.
|
|
17
|
-
* "3f9a1c...c2.pdf") beats the last path segment of `location`. The
|
|
18
|
-
* stored hash name is only a fallback of last resort.
|
|
19
|
-
*
|
|
20
|
-
* Bug #40: display and save/share/download logic used to prefer the
|
|
21
|
-
* stored hash name over the original one, so an attachment sent as
|
|
22
|
-
* "test1.pdf" showed up (and got saved to the phone) as something like
|
|
23
|
-
* "3f9a1c...c2.pdf" - both directions (web -> RN and RN -> RN).
|
|
24
|
-
*
|
|
25
|
-
* Always returns a non-empty string with a valid extension: if the
|
|
26
|
-
* chosen candidate has no extension (a hash name can be `<hex>` with no
|
|
27
|
-
* extension at all, or `<hex>.<ext>`), one is appended from `mimetype`
|
|
28
|
-
* (or `.bin` as a last resort when the mime is unknown/missing too).
|
|
29
|
-
*/
|
|
30
|
-
function getDisplayFileName(options) {
|
|
31
|
-
const candidate = options.originalName && options.originalName.trim() || options.fileName && options.fileName.trim() || (0, _mimeToExtension.filenameFromUrl)(options.location) || '';
|
|
32
|
-
return (0, _mimeToExtension.ensureFilenameHasExtension)(candidate, options.mimetype);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Makes a display name safe to use as an actual path segment when
|
|
37
|
-
* saving/sharing a file to the device: strips path separators (so an
|
|
38
|
-
* odd/hostile server-provided name can't escape the target directory)
|
|
39
|
-
* and control characters. Keeps the rest of the name - including the
|
|
40
|
-
* extension - intact.
|
|
41
|
-
*/
|
|
42
|
-
function sanitizeFileNameForPath(name) {
|
|
43
|
-
const cleaned = (name || '').replace(/[\/\\]/g, '_')
|
|
44
|
-
// eslint-disable-next-line no-control-regex
|
|
45
|
-
.replace(/[\x00-\x1f\x7f]/g, '').trim();
|
|
46
|
-
return cleaned || 'file';
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Resolves a filename that is safe to write into a target directory:
|
|
51
|
-
* sanitizes it, then - if `exists` reports a collision - inserts
|
|
52
|
-
* " (1)", " (2)", ... before the extension until a free name is found,
|
|
53
|
-
* so saving two different attachments that share a display name never
|
|
54
|
-
* silently overwrites the first one.
|
|
55
|
-
*
|
|
56
|
-
* `exists` is injected so callers can back it with whatever existence
|
|
57
|
-
* check makes sense for their storage API (expo-file-system,
|
|
58
|
-
* StorageAccessFramework directory listing, ...) - this function stays
|
|
59
|
-
* pure and easy to unit test.
|
|
60
|
-
*/
|
|
61
|
-
async function getUniqueFileName(name, exists) {
|
|
62
|
-
const safeName = sanitizeFileNameForPath(name);
|
|
63
|
-
if (!(await exists(safeName))) {
|
|
64
|
-
return safeName;
|
|
65
|
-
}
|
|
66
|
-
const dotIndex = safeName.lastIndexOf('.');
|
|
67
|
-
const base = dotIndex > 0 ? safeName.slice(0, dotIndex) : safeName;
|
|
68
|
-
const ext = dotIndex > 0 ? safeName.slice(dotIndex) : '';
|
|
69
|
-
// 999 collisions is already a pathological case; fall back to a
|
|
70
|
-
// timestamp suffix rather than looping forever.
|
|
71
|
-
for (let i = 1; i < 1000; i += 1) {
|
|
72
|
-
const candidate = `${base} (${i})${ext}`;
|
|
73
|
-
if (!(await exists(candidate))) {
|
|
74
|
-
return candidate;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return `${base} (${Date.now()})${ext}`;
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=getDisplayFileName.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_mimeToExtension","require","getDisplayFileName","options","candidate","originalName","trim","fileName","filenameFromUrl","location","ensureFilenameHasExtension","mimetype","sanitizeFileNameForPath","name","cleaned","replace","getUniqueFileName","exists","safeName","dotIndex","lastIndexOf","base","slice","ext","i","Date","now"],"sourceRoot":"../../../src","sources":["helpers/getDisplayFileName.ts"],"mappings":";;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,OAA+B,EAAU;EAC1E,MAAMC,SAAS,GACZD,OAAO,CAACE,YAAY,IAAIF,OAAO,CAACE,YAAY,CAACC,IAAI,CAAC,CAAC,IACnDH,OAAO,CAACI,QAAQ,IAAIJ,OAAO,CAACI,QAAQ,CAACD,IAAI,CAAC,CAAE,IAC7C,IAAAE,gCAAe,EAACL,OAAO,CAACM,QAAQ,CAAC,IACjC,EAAE;EACJ,OAAO,IAAAC,2CAA0B,EAACN,SAAS,EAAED,OAAO,CAACQ,QAAQ,CAAC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,uBAAuBA,CAACC,IAAY,EAAU;EAC5D,MAAMC,OAAO,GAAG,CAACD,IAAI,IAAI,EAAE,EACxBE,OAAO,CAAC,SAAS,EAAE,GAAG;EACvB;EAAA,CACCA,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAC/BT,IAAI,CAAC,CAAC;EACT,OAAOQ,OAAO,IAAI,MAAM;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeE,iBAAiBA,CACrCH,IAAY,EACZI,MAAmD,EAClC;EACjB,MAAMC,QAAQ,GAAGN,uBAAuB,CAACC,IAAI,CAAC;EAC9C,IAAI,EAAE,MAAMI,MAAM,CAACC,QAAQ,CAAC,CAAC,EAAE;IAC7B,OAAOA,QAAQ;EACjB;EACA,MAAMC,QAAQ,GAAGD,QAAQ,CAACE,WAAW,CAAC,GAAG,CAAC;EAC1C,MAAMC,IAAI,GAAGF,QAAQ,GAAG,CAAC,GAAGD,QAAQ,CAACI,KAAK,CAAC,CAAC,EAAEH,QAAQ,CAAC,GAAGD,QAAQ;EAClE,MAAMK,GAAG,GAAGJ,QAAQ,GAAG,CAAC,GAAGD,QAAQ,CAACI,KAAK,CAACH,QAAQ,CAAC,GAAG,EAAE;EACxD;EACA;EACA,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,EAAEA,CAAC,IAAI,CAAC,EAAE;IAChC,MAAMpB,SAAS,GAAG,GAAGiB,IAAI,KAAKG,CAAC,IAAID,GAAG,EAAE;IACxC,IAAI,EAAE,MAAMN,MAAM,CAACb,SAAS,CAAC,CAAC,EAAE;MAC9B,OAAOA,SAAS;IAClB;EACF;EACA,OAAO,GAAGiB,IAAI,KAAKI,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIH,GAAG,EAAE;AACxC","ignoreList":[]}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.FUTURE_READ_MARKER_TOLERANCE_MS = void 0;
|
|
7
|
-
exports.getServerReadTimestamp = getServerReadTimestamp;
|
|
8
|
-
exports.isCorruptFutureReadMarker = isCorruptFutureReadMarker;
|
|
9
|
-
var _roomsSlice = require("../roomStore/roomsSlice");
|
|
10
|
-
// A stored/stamped read marker more than this far past the newest
|
|
11
|
-
// message we actually know about for a room is not "the user is a
|
|
12
|
-
// little ahead" - it's a leftover from a device whose clock was wrong
|
|
13
|
-
// when it stamped the marker (bug #38). Generous on purpose: this value
|
|
14
|
-
// only controls when we're willing to treat an existing marker as
|
|
15
|
-
// corrupt and self-heal it, never how far off a legitimate new write can
|
|
16
|
-
// be, so a false positive here just means a bad value survives one extra
|
|
17
|
-
// cycle, not that a good value gets rejected.
|
|
18
|
-
const FUTURE_READ_MARKER_TOLERANCE_MS = exports.FUTURE_READ_MARKER_TOLERANCE_MS = 5 * 60 * 1000;
|
|
19
|
-
/**
|
|
20
|
-
* Resolve the "read up to here" marker for `room` using SERVER time,
|
|
21
|
-
* never the device clock.
|
|
22
|
-
*
|
|
23
|
-
* Bug #38: if the device clock is ahead when the user leaves a room, a
|
|
24
|
-
* `Date.now()` read marker lands in the future. The private-store merge
|
|
25
|
-
* (flushLastViewedToPrivateStore.ts) is forward-only ("if (prevNum >=
|
|
26
|
-
* ts) continue"), so once a future marker is written, no later
|
|
27
|
-
* *correct* write can ever replace it - the room's unread count is
|
|
28
|
-
* stuck wrong forever, on every device, from that point on. Anchoring
|
|
29
|
-
* to the newest SERVER-acknowledged message's own timestamp instead
|
|
30
|
-
* means the marker we write can never be ahead of what the server
|
|
31
|
-
* itself has recorded for the room.
|
|
32
|
-
*
|
|
33
|
-
* "Server-acknowledged" excludes:
|
|
34
|
-
* - a message still marked `pending` (the optimistic bubble shown
|
|
35
|
-
* while a send is in flight - it carries the DEVICE send time via
|
|
36
|
-
* `date`, not a server timestamp, until the server echoes it back
|
|
37
|
-
* and insertMessageWithDelimiter flips `pending` off);
|
|
38
|
-
* - a message id present in `heapState.messageHeap` (queued retry -
|
|
39
|
-
* used for offline media sends, see roomHeapSlice.ts) or
|
|
40
|
-
* `heapState.failedMessages` (a send that never reached the server
|
|
41
|
-
* at all).
|
|
42
|
-
*
|
|
43
|
-
* `msgSortableMs` (roomsSlice.ts) reads the server-assigned microsecond
|
|
44
|
-
* timestamp encoded in the first 13 digits of the message id - the same
|
|
45
|
-
* source already used for message ordering and unread counting - so
|
|
46
|
-
* this stays consistent with the rest of the read/unread pipeline.
|
|
47
|
-
*
|
|
48
|
-
* Falls back to the room's existing `lastViewedTimestamp` (so leaving
|
|
49
|
-
* an empty or never-scrolled room doesn't regress the marker), then to
|
|
50
|
-
* `0` when there's truly nothing to anchor to yet (a brand new room
|
|
51
|
-
* with no history and no prior marker). Callers should treat `0` as
|
|
52
|
-
* "skip the write" rather than substituting a device-clock guess.
|
|
53
|
-
*/
|
|
54
|
-
function getServerReadTimestamp(room, heapState) {
|
|
55
|
-
if (!room) {
|
|
56
|
-
return 0;
|
|
57
|
-
}
|
|
58
|
-
const heapIds = new Set((heapState?.messageHeap || []).filter(m => m && m.id != null).map(m => String(m.id)));
|
|
59
|
-
const failedIds = new Set(Object.keys(heapState?.failedMessages || {}));
|
|
60
|
-
let newest = 0;
|
|
61
|
-
const messages = room.messages || [];
|
|
62
|
-
for (const m of messages) {
|
|
63
|
-
if (!m || !m.id) {
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
|
-
const id = String(m.id);
|
|
67
|
-
if (id === 'delimiter-new' || id === 'delimiter-new-local') {
|
|
68
|
-
continue;
|
|
69
|
-
}
|
|
70
|
-
if (m.pending) {
|
|
71
|
-
continue;
|
|
72
|
-
}
|
|
73
|
-
if (heapIds.has(id) || failedIds.has(id)) {
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
const ts = (0, _roomsSlice.msgSortableMs)(m);
|
|
77
|
-
if (ts > newest) {
|
|
78
|
-
newest = ts;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
if (newest > 0) {
|
|
82
|
-
return newest;
|
|
83
|
-
}
|
|
84
|
-
if (room.lastViewedTimestamp && room.lastViewedTimestamp > 0) {
|
|
85
|
-
return room.lastViewedTimestamp;
|
|
86
|
-
}
|
|
87
|
-
return 0;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Is `marker` a leftover from a device whose clock was wrong when it
|
|
92
|
-
* stamped a read marker (bug #38)?
|
|
93
|
-
*
|
|
94
|
-
* TWO independent signals must agree before we're willing to throw a
|
|
95
|
-
* stored marker away, because "waive the forward-only guard" is a
|
|
96
|
-
* destructive operation:
|
|
97
|
-
*
|
|
98
|
-
* 1. it sits well past the newest message we know the room has, AND
|
|
99
|
-
* 2. it sits well past real time.
|
|
100
|
-
*
|
|
101
|
-
* Signal 1 alone is NOT enough, and that is the whole point of this
|
|
102
|
-
* function: a device whose local cache for a room is simply stale (very
|
|
103
|
-
* common - any room whose history hasn't been synced yet this session)
|
|
104
|
-
* sees a perfectly legitimate marker written by another device that HAS
|
|
105
|
-
* seen newer messages, and would happily "heal" it backwards, resurrecting
|
|
106
|
-
* already-read messages as unread on every device. A real timestamp can
|
|
107
|
-
* never be ahead of real time, so requiring signal 2 as well means a
|
|
108
|
-
* stale cache on its own can no longer trigger the self-heal.
|
|
109
|
-
*
|
|
110
|
-
* Signal 2 alone is not used either: it would let a device whose own
|
|
111
|
-
* clock is running SLOW mistake every correct marker for a corrupt one.
|
|
112
|
-
*/
|
|
113
|
-
function isCorruptFutureReadMarker(marker, newestAckedMs) {
|
|
114
|
-
if (!Number.isFinite(marker) || marker <= 0) {
|
|
115
|
-
return false;
|
|
116
|
-
}
|
|
117
|
-
if (!(newestAckedMs > 0)) {
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
if (marker <= newestAckedMs + FUTURE_READ_MARKER_TOLERANCE_MS) {
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
return marker > Date.now() + FUTURE_READ_MARKER_TOLERANCE_MS;
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=getServerReadTimestamp.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_roomsSlice","require","FUTURE_READ_MARKER_TOLERANCE_MS","exports","getServerReadTimestamp","room","heapState","heapIds","Set","messageHeap","filter","m","id","map","String","failedIds","Object","keys","failedMessages","newest","messages","pending","has","ts","msgSortableMs","lastViewedTimestamp","isCorruptFutureReadMarker","marker","newestAckedMs","Number","isFinite","Date","now"],"sourceRoot":"../../../src","sources":["helpers/getServerReadTimestamp.ts"],"mappings":";;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,+BAA+B,GAAAC,OAAA,CAAAD,+BAAA,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;AAS5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,sBAAsBA,CACpCC,IAA6C,EAC7CC,SAAyC,EACjC;EACR,IAAI,CAACD,IAAI,EAAE;IAAC,OAAO,CAAC;EAAC;EAErB,MAAME,OAAO,GAAG,IAAIC,GAAG,CACrB,CAACF,SAAS,EAAEG,WAAW,IAAI,EAAE,EAC1BC,MAAM,CAAEC,CAAC,IAAKA,CAAC,IAAIA,CAAC,CAACC,EAAE,IAAI,IAAI,CAAC,CAChCC,GAAG,CAAEF,CAAC,IAAKG,MAAM,CAACH,CAAC,CAACC,EAAE,CAAC,CAC5B,CAAC;EACD,MAAMG,SAAS,GAAG,IAAIP,GAAG,CAACQ,MAAM,CAACC,IAAI,CAACX,SAAS,EAAEY,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC;EAEvE,IAAIC,MAAM,GAAG,CAAC;EACd,MAAMC,QAAQ,GAAGf,IAAI,CAACe,QAAQ,IAAI,EAAE;EACpC,KAAK,MAAMT,CAAC,IAAIS,QAAQ,EAAE;IACxB,IAAI,CAACT,CAAC,IAAI,CAACA,CAAC,CAACC,EAAE,EAAE;MAAC;IAAS;IAC3B,MAAMA,EAAE,GAAGE,MAAM,CAACH,CAAC,CAACC,EAAE,CAAC;IACvB,IAAIA,EAAE,KAAK,eAAe,IAAIA,EAAE,KAAK,qBAAqB,EAAE;MAAC;IAAS;IACtE,IAAKD,CAAC,CAASU,OAAO,EAAE;MAAC;IAAS;IAClC,IAAId,OAAO,CAACe,GAAG,CAACV,EAAE,CAAC,IAAIG,SAAS,CAACO,GAAG,CAACV,EAAE,CAAC,EAAE;MAAC;IAAS;IAEpD,MAAMW,EAAE,GAAG,IAAAC,yBAAa,EAACb,CAAC,CAAC;IAC3B,IAAIY,EAAE,GAAGJ,MAAM,EAAE;MAACA,MAAM,GAAGI,EAAE;IAAC;EAChC;EAEA,IAAIJ,MAAM,GAAG,CAAC,EAAE;IAAC,OAAOA,MAAM;EAAC;EAC/B,IAAId,IAAI,CAACoB,mBAAmB,IAAIpB,IAAI,CAACoB,mBAAmB,GAAG,CAAC,EAAE;IAC5D,OAAOpB,IAAI,CAACoB,mBAAmB;EACjC;EACA,OAAO,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,yBAAyBA,CACvCC,MAAc,EACdC,aAAqB,EACZ;EACT,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACH,MAAM,CAAC,IAAIA,MAAM,IAAI,CAAC,EAAE;IAAC,OAAO,KAAK;EAAC;EAC3D,IAAI,EAAEC,aAAa,GAAG,CAAC,CAAC,EAAE;IAAC,OAAO,KAAK;EAAC;EACxC,IAAID,MAAM,IAAIC,aAAa,GAAG1B,+BAA+B,EAAE;IAAC,OAAO,KAAK;EAAC;EAC7E,OAAOyB,MAAM,GAAGI,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG9B,+BAA+B;AAC9D","ignoreList":[]}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.isOwnMessage = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Bug #41: during reconnect catch-up (app was backgrounded/offline, then
|
|
9
|
-
* comes back online), messages replayed from MAM could transiently render
|
|
10
|
-
* on the RIGHT (as if sent by the current user) before flipping to the
|
|
11
|
-
* LEFT a moment later. Root cause: `message.user.id === walletAddress`
|
|
12
|
-
* treats `undefined === undefined` (or `'' === ''`) as a match, and the
|
|
13
|
-
* two sides could independently be empty for one frame -- the message's
|
|
14
|
-
* sender id before the MAM-derived value settled, and/or the current
|
|
15
|
-
* user's id before it rehydrated. Two blank ids must never compare equal.
|
|
16
|
-
*
|
|
17
|
-
* A second, related issue: the same logical sender id can show up in
|
|
18
|
-
* different shapes depending on which code path produced it -- a bare
|
|
19
|
-
* id ("wallet123") or a bare JID with an incidental session resource
|
|
20
|
-
* ("wallet123@host/sessionResource", as `senderJID` attrs carry on the
|
|
21
|
-
* wire -- see src/assets/test.xml). In every shape used in this
|
|
22
|
-
* codebase the identifying segment is the part BEFORE the first '@' (or
|
|
23
|
-
* before '/' when there's no '@'); anything after that -- domain,
|
|
24
|
-
* resource -- is noise. Comparing raw strings with `===` fails whenever
|
|
25
|
-
* one side still carries that noise and the other doesn't. Normalizing
|
|
26
|
-
* both sides (strip resource, strip domain, lowercase) before comparing
|
|
27
|
-
* makes the check tolerant of that drift.
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Strip a MUC resource (`room@host/resource` -> `room@host`) and then a
|
|
32
|
-
* JID domain (`local@host` -> `local`), lowercasing the result. Applies
|
|
33
|
-
* to both plain ids and full/partial JIDs so either shape normalizes to
|
|
34
|
-
* the same comparable value.
|
|
35
|
-
*/
|
|
36
|
-
const normalizeId = raw => {
|
|
37
|
-
const value = String(raw ?? '').trim();
|
|
38
|
-
if (!value) {
|
|
39
|
-
return '';
|
|
40
|
-
}
|
|
41
|
-
const withoutResource = value.split('/')[0];
|
|
42
|
-
const withoutDomain = withoutResource.includes('@') ? withoutResource.split('@')[0] : withoutResource;
|
|
43
|
-
return withoutDomain.toLowerCase();
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// Same precedence the rest of the app uses when it needs "who am I" as a
|
|
47
|
-
// single id: xmppUsername first, walletAddress as the fallback.
|
|
48
|
-
const resolveCurrentUserId = currentUser => {
|
|
49
|
-
if (typeof currentUser === 'string') {
|
|
50
|
-
return currentUser;
|
|
51
|
-
}
|
|
52
|
-
if (!currentUser) {
|
|
53
|
-
return '';
|
|
54
|
-
}
|
|
55
|
-
return currentUser.xmppUsername || currentUser.walletAddress || currentUser.id || '';
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Robustly determine whether `message` was sent by `currentUser`. Never
|
|
60
|
-
* returns true from two blank/undefined ids, and tolerates bare-id vs.
|
|
61
|
-
* full-JID mismatches between the sender id and the current user id.
|
|
62
|
-
*/
|
|
63
|
-
const isOwnMessage = (message, currentUser) => {
|
|
64
|
-
const messageUserId = normalizeId(message?.user?.id);
|
|
65
|
-
if (!messageUserId) {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
const currentUserId = normalizeId(resolveCurrentUserId(currentUser));
|
|
69
|
-
if (!currentUserId) {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
return messageUserId === currentUserId;
|
|
73
|
-
};
|
|
74
|
-
exports.isOwnMessage = isOwnMessage;
|
|
75
|
-
//# sourceMappingURL=isOwnMessage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["normalizeId","raw","value","String","trim","withoutResource","split","withoutDomain","includes","toLowerCase","resolveCurrentUserId","currentUser","xmppUsername","walletAddress","id","isOwnMessage","message","messageUserId","user","currentUserId","exports"],"sourceRoot":"../../../src","sources":["helpers/isOwnMessage.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,WAAW,GAAIC,GAAY,IAAa;EAC5C,MAAMC,KAAK,GAAGC,MAAM,CAACF,GAAG,IAAI,EAAE,CAAC,CAACG,IAAI,CAAC,CAAC;EACtC,IAAI,CAACF,KAAK,EAAE;IACV,OAAO,EAAE;EACX;EACA,MAAMG,eAAe,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EAC3C,MAAMC,aAAa,GAAGF,eAAe,CAACG,QAAQ,CAAC,GAAG,CAAC,GAC/CH,eAAe,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAC7BD,eAAe;EACnB,OAAOE,aAAa,CAACE,WAAW,CAAC,CAAC;AACpC,CAAC;;AAED;AACA;AACA,MAAMC,oBAAoB,GAAIC,WAAkC,IAAa;EAC3E,IAAI,OAAOA,WAAW,KAAK,QAAQ,EAAE;IACnC,OAAOA,WAAW;EACpB;EACA,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,OACEA,WAAW,CAACC,YAAY,IAAID,WAAW,CAACE,aAAa,IAAIF,WAAW,CAACG,EAAE,IAAI,EAAE;AAEjF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMC,YAAY,GAAGA,CAC1BC,OAAkD,EAClDL,WAAkC,KACtB;EACZ,MAAMM,aAAa,GAAGjB,WAAW,CAACgB,OAAO,EAAEE,IAAI,EAAEJ,EAAE,CAAC;EACpD,IAAI,CAACG,aAAa,EAAE;IAClB,OAAO,KAAK;EACd;EAEA,MAAME,aAAa,GAAGnB,WAAW,CAACU,oBAAoB,CAACC,WAAW,CAAC,CAAC;EACpE,IAAI,CAACQ,aAAa,EAAE;IAClB,OAAO,KAAK;EACd;EAEA,OAAOF,aAAa,KAAKE,aAAa;AACxC,CAAC;AAACC,OAAA,CAAAL,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getMediaLibrary = exports.__resetMediaLibraryCache = void 0;
|
|
7
|
-
let cached;
|
|
8
|
-
const getMediaLibrary = () => {
|
|
9
|
-
if (cached !== undefined) {
|
|
10
|
-
return cached;
|
|
11
|
-
}
|
|
12
|
-
try {
|
|
13
|
-
const legacy = require('expo-media-library/legacy');
|
|
14
|
-
if (legacy?.getAssetsAsync) {
|
|
15
|
-
cached = legacy;
|
|
16
|
-
return cached;
|
|
17
|
-
}
|
|
18
|
-
} catch {}
|
|
19
|
-
try {
|
|
20
|
-
cached = require('expo-media-library') ?? null;
|
|
21
|
-
} catch {
|
|
22
|
-
cached = null;
|
|
23
|
-
}
|
|
24
|
-
return cached;
|
|
25
|
-
};
|
|
26
|
-
exports.getMediaLibrary = getMediaLibrary;
|
|
27
|
-
const __resetMediaLibraryCache = () => {
|
|
28
|
-
cached = undefined;
|
|
29
|
-
};
|
|
30
|
-
exports.__resetMediaLibraryCache = __resetMediaLibraryCache;
|
|
31
|
-
//# sourceMappingURL=mediaLibraryRuntime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["cached","getMediaLibrary","undefined","legacy","require","getAssetsAsync","exports","__resetMediaLibraryCache"],"sourceRoot":"../../../src","sources":["helpers/mediaLibraryRuntime.ts"],"mappings":";;;;;;AAAA,IAAIA,MAAuB;AAEpB,MAAMC,eAAe,GAAGA,CAAA,KAAkB;EAC/C,IAAID,MAAM,KAAKE,SAAS,EAAE;IAAC,OAAOF,MAAM;EAAC;EACzC,IAAI;IACF,MAAMG,MAAM,GAAGC,OAAO,CAAC,2BAA2B,CAAC;IAEnD,IAAID,MAAM,EAAEE,cAAc,EAAE;MAC1BL,MAAM,GAAGG,MAAM;MACf,OAAOH,MAAM;IACf;EACF,CAAC,CAAC,MAAM,CACR;EAEA,IAAI;IACFA,MAAM,GAAGI,OAAO,CAAC,oBAAoB,CAAC,IAAI,IAAI;EAChD,CAAC,CAAC,MAAM;IACNJ,MAAM,GAAG,IAAI;EACf;EACA,OAAOA,MAAM;AACf,CAAC;AAACM,OAAA,CAAAL,eAAA,GAAAA,eAAA;AAEK,MAAMM,wBAAwB,GAAGA,CAAA,KAAM;EAC5CP,MAAM,GAAGE,SAAS;AACpB,CAAC;AAACI,OAAA,CAAAC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|