@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MIME_TO_EXT","VALID_EXT_RE","AUDIO_EXTENSIONS","IOS_AUDIO_PLAYBACK_EXTENSIONS","IOS_AUDIO_UNSUPPORTED_EXTENSIONS","AUDIO_EXT_RE","RegExp","map","e","replace","join","IOS_AUDIO_PLAYBACK_EXT_RE","AUDIO_NAME_HINT_RE","isLikelyAudio","mime","fileName","url","opts","m","toLowerCase","startsWith","durationNum","duration","Number","isFinite","waveForm","trim","length","name","originalName","urlLast","filenameFromUrl","test","urlPath","noQuery","split","decodeURIComponent","getExtensionForMime","normalized","last","pop","getLowerExtension","value","match","shouldCacheAudioForIosPlayback","src","urlName","candidates","hasIosPlayableName","some","getIosAudioPlaybackCacheExtension","candidate","ext","isUnsupportedAudioForIosPlayback","includes","ensureFilenameHasExtension","base","Date","now"
|
|
1
|
+
{"version":3,"names":["MIME_TO_EXT","VALID_EXT_RE","AUDIO_EXTENSIONS","IOS_AUDIO_PLAYBACK_EXTENSIONS","IOS_AUDIO_UNSUPPORTED_EXTENSIONS","AUDIO_EXT_RE","RegExp","map","e","replace","join","IOS_AUDIO_PLAYBACK_EXT_RE","AUDIO_NAME_HINT_RE","isLikelyAudio","mime","fileName","url","opts","m","toLowerCase","startsWith","durationNum","duration","Number","isFinite","waveForm","trim","length","name","originalName","urlLast","filenameFromUrl","test","urlPath","noQuery","split","decodeURIComponent","getExtensionForMime","normalized","last","pop","getLowerExtension","value","match","shouldCacheAudioForIosPlayback","src","urlName","candidates","hasIosPlayableName","some","getIosAudioPlaybackCacheExtension","candidate","ext","isUnsupportedAudioForIosPlayback","includes","ensureFilenameHasExtension","base","Date","now"],"sourceRoot":"../../../src","sources":["helpers/mimeToExtension.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.msgSortableMs = void 0;
|
|
7
|
+
// Count messages strictly newer than a given millisecond timestamp using
|
|
8
|
+
// `msg.id` (the server-authoritative microsecond timestamp prefixed by a
|
|
9
|
+
// 13-digit millis, see `helpers/dateComparison`'s
|
|
10
|
+
// `getHighResolutionTimestamp`) rather than `msg.date`, which can be
|
|
11
|
+
// derived client-side (`createMessageFromXml` falls back to `Date.now()`
|
|
12
|
+
// for realtime stanzas without a `date` attr) and drift from what the
|
|
13
|
+
// server actually assigned.
|
|
14
|
+
//
|
|
15
|
+
// Extracted to its own module (rather than living in roomsSlice.ts, its
|
|
16
|
+
// original home) so helpers that need the SAME ordering source - notably
|
|
17
|
+
// `insertMessageWithDelimiter.ts`, which decides where the "New messages"
|
|
18
|
+
// divider sits - can import it without creating a roomStore <-> helpers
|
|
19
|
+
// import cycle (roomsSlice.ts already imports insertMessageWithDelimiter).
|
|
20
|
+
// roomsSlice.ts re-exports this for backward compatibility with existing
|
|
21
|
+
// call sites.
|
|
22
|
+
const msgSortableMs = msg => {
|
|
23
|
+
const id = String(msg?.id || '');
|
|
24
|
+
const m = /^(\d{13})/.exec(id);
|
|
25
|
+
if (m) {
|
|
26
|
+
return Number(m[1]);
|
|
27
|
+
}
|
|
28
|
+
if (msg?.date) {
|
|
29
|
+
const t = new Date(msg.date).getTime();
|
|
30
|
+
if (Number.isFinite(t)) {
|
|
31
|
+
return t;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return 0;
|
|
35
|
+
};
|
|
36
|
+
exports.msgSortableMs = msgSortableMs;
|
|
37
|
+
//# sourceMappingURL=msgSortableMs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["msgSortableMs","msg","id","String","m","exec","Number","date","t","Date","getTime","isFinite","exports"],"sourceRoot":"../../../src","sources":["helpers/msgSortableMs.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,aAAa,GAAIC,GAAQ,IAAa;EACjD,MAAMC,EAAE,GAAGC,MAAM,CAACF,GAAG,EAAEC,EAAE,IAAI,EAAE,CAAC;EAChC,MAAME,CAAC,GAAG,WAAW,CAACC,IAAI,CAACH,EAAE,CAAC;EAC9B,IAAIE,CAAC,EAAE;IAAC,OAAOE,MAAM,CAACF,CAAC,CAAC,CAAC,CAAC,CAAC;EAAC;EAC5B,IAAIH,GAAG,EAAEM,IAAI,EAAE;IACb,MAAMC,CAAC,GAAG,IAAIC,IAAI,CAACR,GAAG,CAACM,IAAW,CAAC,CAACG,OAAO,CAAC,CAAC;IAC7C,IAAIJ,MAAM,CAACK,QAAQ,CAACH,CAAC,CAAC,EAAE;MAAC,OAAOA,CAAC;IAAC;EACpC;EACA,OAAO,CAAC;AACV,CAAC;AAACI,OAAA,CAAAZ,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -9,6 +9,21 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
let elementKeyCounter = 0;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Colours the parser needs. Helpers can't call hooks, so the caller passes
|
|
15
|
+
* the resolved theme (Message.tsx does); with nothing passed the historical
|
|
16
|
+
* hard-coded values apply, so the output is unchanged for other callers.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
const DEFAULT_BODY_COLORS = {
|
|
20
|
+
primary: '#0a66c2',
|
|
21
|
+
text: '#24292f',
|
|
22
|
+
surface: '#fff',
|
|
23
|
+
surfaceSecondary: '#f6f8fa',
|
|
24
|
+
surfaceHighlight: '#e8f3ff',
|
|
25
|
+
border: '#e1e4e8'
|
|
26
|
+
};
|
|
12
27
|
const decodeHTMLEntities = text => {
|
|
13
28
|
const entities = {
|
|
14
29
|
'&': '&',
|
|
@@ -24,8 +39,14 @@ const decodeHTMLEntities = text => {
|
|
|
24
39
|
};
|
|
25
40
|
return text.replace(/&[a-zA-Z0-9#]+;/g, m => entities[m] || m);
|
|
26
41
|
};
|
|
42
|
+
|
|
43
|
+
// Only the colour-bearing entries read from `c`; the rest is static layout.
|
|
44
|
+
// Historical light values that were slightly off-token (#f1f3f4 inline code
|
|
45
|
+
// ground, #333 inline code ink, #d0d7de / #e7e9ec / #eef0f2 table hairlines)
|
|
46
|
+
// are kept when no theme is passed and collapse onto the theme tokens
|
|
47
|
+
// otherwise.
|
|
27
48
|
exports.decodeHTMLEntities = decodeHTMLEntities;
|
|
28
|
-
const
|
|
49
|
+
const buildStyles = (c, themed) => ({
|
|
29
50
|
bold: {
|
|
30
51
|
fontWeight: 'bold'
|
|
31
52
|
},
|
|
@@ -36,11 +57,11 @@ const styles = {
|
|
|
36
57
|
textDecorationLine: 'line-through'
|
|
37
58
|
},
|
|
38
59
|
link: {
|
|
39
|
-
color:
|
|
60
|
+
color: c.primary,
|
|
40
61
|
textDecorationLine: 'underline'
|
|
41
62
|
},
|
|
42
63
|
codeInlineBox: {
|
|
43
|
-
backgroundColor: '#f1f3f4',
|
|
64
|
+
backgroundColor: themed ? c.surfaceSecondary : '#f1f3f4',
|
|
44
65
|
borderRadius: 3,
|
|
45
66
|
paddingVertical: 1,
|
|
46
67
|
paddingHorizontal: 4
|
|
@@ -51,14 +72,14 @@ const styles = {
|
|
|
51
72
|
android: 'monospace'
|
|
52
73
|
}),
|
|
53
74
|
fontSize: 13,
|
|
54
|
-
color: '#333'
|
|
75
|
+
color: themed ? c.text : '#333'
|
|
55
76
|
},
|
|
56
77
|
codeBlock: {
|
|
57
|
-
backgroundColor:
|
|
78
|
+
backgroundColor: c.surfaceSecondary,
|
|
58
79
|
padding: 12,
|
|
59
80
|
borderRadius: 6,
|
|
60
81
|
borderWidth: 1,
|
|
61
|
-
borderColor:
|
|
82
|
+
borderColor: c.border,
|
|
62
83
|
marginVertical: 8
|
|
63
84
|
},
|
|
64
85
|
codeBlockText: {
|
|
@@ -67,30 +88,45 @@ const styles = {
|
|
|
67
88
|
android: 'monospace'
|
|
68
89
|
}),
|
|
69
90
|
fontSize: 14,
|
|
70
|
-
color:
|
|
91
|
+
color: c.text,
|
|
71
92
|
lineHeight: 20
|
|
72
93
|
},
|
|
73
94
|
h: [{
|
|
95
|
+
...(themed ? {
|
|
96
|
+
color: c.text
|
|
97
|
+
} : null),
|
|
74
98
|
fontWeight: 'bold',
|
|
75
99
|
fontSize: 32,
|
|
76
100
|
marginTop: 24,
|
|
77
101
|
marginBottom: 16
|
|
78
102
|
}, {
|
|
103
|
+
...(themed ? {
|
|
104
|
+
color: c.text
|
|
105
|
+
} : null),
|
|
79
106
|
fontWeight: 'bold',
|
|
80
107
|
fontSize: 24,
|
|
81
108
|
marginTop: 20,
|
|
82
109
|
marginBottom: 14
|
|
83
110
|
}, {
|
|
111
|
+
...(themed ? {
|
|
112
|
+
color: c.text
|
|
113
|
+
} : null),
|
|
84
114
|
fontWeight: 'bold',
|
|
85
115
|
fontSize: 20,
|
|
86
116
|
marginTop: 16,
|
|
87
117
|
marginBottom: 12
|
|
88
118
|
}, {
|
|
119
|
+
...(themed ? {
|
|
120
|
+
color: c.text
|
|
121
|
+
} : null),
|
|
89
122
|
fontWeight: 'bold',
|
|
90
123
|
fontSize: 18,
|
|
91
124
|
marginTop: 14,
|
|
92
125
|
marginBottom: 10
|
|
93
126
|
}, {
|
|
127
|
+
...(themed ? {
|
|
128
|
+
color: c.text
|
|
129
|
+
} : null),
|
|
94
130
|
fontWeight: 'bold',
|
|
95
131
|
fontSize: 16,
|
|
96
132
|
marginTop: 12,
|
|
@@ -103,7 +139,7 @@ const styles = {
|
|
|
103
139
|
}],
|
|
104
140
|
quote: {
|
|
105
141
|
borderLeftWidth: 3,
|
|
106
|
-
borderLeftColor: '#ccc',
|
|
142
|
+
borderLeftColor: themed ? c.border : '#ccc',
|
|
107
143
|
paddingLeft: 10,
|
|
108
144
|
marginVertical: 4
|
|
109
145
|
},
|
|
@@ -112,7 +148,7 @@ const styles = {
|
|
|
112
148
|
},
|
|
113
149
|
hr: {
|
|
114
150
|
height: 1,
|
|
115
|
-
backgroundColor:
|
|
151
|
+
backgroundColor: c.border,
|
|
116
152
|
marginVertical: 20
|
|
117
153
|
},
|
|
118
154
|
listItemRow: {
|
|
@@ -134,24 +170,28 @@ const styles = {
|
|
|
134
170
|
marginTop: 2,
|
|
135
171
|
borderRadius: 3,
|
|
136
172
|
borderWidth: 1,
|
|
137
|
-
borderColor: '#bbb',
|
|
138
|
-
backgroundColor:
|
|
173
|
+
borderColor: themed ? c.border : '#bbb',
|
|
174
|
+
backgroundColor: c.surface,
|
|
139
175
|
alignItems: 'center',
|
|
140
176
|
justifyContent: 'center'
|
|
141
177
|
},
|
|
178
|
+
checkboxBoxChecked: {
|
|
179
|
+
backgroundColor: c.surfaceHighlight,
|
|
180
|
+
borderColor: c.primary
|
|
181
|
+
},
|
|
142
182
|
checkboxTick: {
|
|
143
183
|
fontSize: 12,
|
|
144
|
-
color:
|
|
184
|
+
color: c.primary
|
|
145
185
|
},
|
|
146
186
|
tableContainer: {
|
|
147
187
|
marginVertical: 12
|
|
148
188
|
},
|
|
149
189
|
tableInner: {
|
|
150
190
|
borderWidth: 1,
|
|
151
|
-
borderColor: '#d0d7de',
|
|
191
|
+
borderColor: themed ? c.border : '#d0d7de',
|
|
152
192
|
borderRadius: 6,
|
|
153
193
|
overflow: 'hidden',
|
|
154
|
-
backgroundColor:
|
|
194
|
+
backgroundColor: c.surface
|
|
155
195
|
},
|
|
156
196
|
tableRow: {
|
|
157
197
|
flexDirection: 'row'
|
|
@@ -160,27 +200,47 @@ const styles = {
|
|
|
160
200
|
flex: 1,
|
|
161
201
|
paddingVertical: 10,
|
|
162
202
|
paddingHorizontal: 12,
|
|
163
|
-
backgroundColor:
|
|
203
|
+
backgroundColor: c.surfaceSecondary,
|
|
164
204
|
borderRightWidth: 1,
|
|
165
|
-
borderRightColor: '#d0d7de'
|
|
205
|
+
borderRightColor: themed ? c.border : '#d0d7de'
|
|
166
206
|
},
|
|
167
207
|
td: {
|
|
168
208
|
flex: 1,
|
|
169
209
|
paddingVertical: 10,
|
|
170
210
|
paddingHorizontal: 12,
|
|
171
211
|
borderTopWidth: 1,
|
|
172
|
-
borderTopColor: '#e7e9ec',
|
|
212
|
+
borderTopColor: themed ? c.border : '#e7e9ec',
|
|
173
213
|
borderRightWidth: 1,
|
|
174
|
-
borderRightColor: '#eef0f2'
|
|
214
|
+
borderRightColor: themed ? c.border : '#eef0f2'
|
|
175
215
|
},
|
|
176
216
|
lastCell: {
|
|
177
217
|
borderRightWidth: 0
|
|
178
218
|
},
|
|
179
219
|
cellText: {
|
|
180
|
-
color:
|
|
220
|
+
color: c.text,
|
|
181
221
|
fontSize: 14,
|
|
182
222
|
lineHeight: 20
|
|
183
223
|
}
|
|
224
|
+
});
|
|
225
|
+
const DEFAULT_STYLES = buildStyles(DEFAULT_BODY_COLORS, false);
|
|
226
|
+
|
|
227
|
+
// Module-level like `elementKeyCounter`: parseMessageBody is synchronous,
|
|
228
|
+
// so setting this at entry is safe, and it keeps the render helpers below
|
|
229
|
+
// signature-free. The theme object from useTheme is memoized, so the
|
|
230
|
+
// one-entry cache means styles are rebuilt only when the palette changes,
|
|
231
|
+
// not per message.
|
|
232
|
+
let styles = DEFAULT_STYLES;
|
|
233
|
+
let cachedTheme;
|
|
234
|
+
let cachedStyles = DEFAULT_STYLES;
|
|
235
|
+
const resolveStyles = theme => {
|
|
236
|
+
if (!theme) {
|
|
237
|
+
return DEFAULT_STYLES;
|
|
238
|
+
}
|
|
239
|
+
if (theme !== cachedTheme) {
|
|
240
|
+
cachedTheme = theme;
|
|
241
|
+
cachedStyles = buildStyles(theme, true);
|
|
242
|
+
}
|
|
243
|
+
return cachedStyles;
|
|
184
244
|
};
|
|
185
245
|
const renderTextWithLinks = text => {
|
|
186
246
|
const urlRegex = /(https?:\/\/[\w.-]+(?:\.[\w.-]+)+[\w\-\._~:\/?#[\]@!\$&'()\*\+,;=.]+)/g;
|
|
@@ -324,13 +384,14 @@ const renderMarkdownTableRN = (headers, separator, dataRows) => {
|
|
|
324
384
|
// and code blocks keep their own semantic sizes. Markdown wraps text in
|
|
325
385
|
// <View>s, which break RN's Text-style inheritance — so the size has to be set
|
|
326
386
|
// on the leaf <Text>s here rather than on the bubble wrapper.
|
|
327
|
-
const parseMessageBody = (text, baseStyle) => {
|
|
387
|
+
const parseMessageBody = (text, baseStyle, theme) => {
|
|
328
388
|
if (typeof text !== 'string') {
|
|
329
389
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {});
|
|
330
390
|
}
|
|
331
391
|
const lines = text.split('\n');
|
|
332
392
|
const elements = [];
|
|
333
393
|
elementKeyCounter = 0;
|
|
394
|
+
styles = resolveStyles(theme);
|
|
334
395
|
let listBuffer = [];
|
|
335
396
|
let inCodeBlock = false;
|
|
336
397
|
let codeLang = '';
|
|
@@ -357,10 +418,7 @@ const parseMessageBody = (text, baseStyle) => {
|
|
|
357
418
|
contentEl = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
358
419
|
style: styles.checkboxRow,
|
|
359
420
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
360
|
-
style: [styles.checkboxBox, item.checked &&
|
|
361
|
-
backgroundColor: '#e8f3ff',
|
|
362
|
-
borderColor: '#0a66c2'
|
|
363
|
-
}],
|
|
421
|
+
style: [styles.checkboxBox, item.checked && styles.checkboxBoxChecked],
|
|
364
422
|
children: item.checked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
365
423
|
style: styles.checkboxTick,
|
|
366
424
|
children: "\u2713"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_jsxRuntime","e","__esModule","default","elementKeyCounter","decodeHTMLEntities","text","entities","replace","m","exports","styles","bold","fontWeight","italic","fontStyle","strike","textDecorationLine","link","color","codeInlineBox","backgroundColor","borderRadius","paddingVertical","paddingHorizontal","codeInlineText","fontFamily","Platform","select","ios","android","fontSize","codeBlock","padding","borderWidth","borderColor","marginVertical","codeBlockText","lineHeight","h","marginTop","marginBottom","quote","borderLeftWidth","borderLeftColor","paddingLeft","paragraph","hr","height","listItemRow","flexDirection","alignItems","listMarker","minWidth","paddingTop","checkboxRow","checkboxBox","width","marginRight","justifyContent","checkboxTick","tableContainer","tableInner","overflow","tableRow","th","flex","borderRightWidth","borderRightColor","td","borderTopWidth","borderTopColor","lastCell","cellText","renderTextWithLinks","urlRegex","nodes","lastIndex","match","exec","url","start","index","push","slice","jsx","Pressable","onPress","Linking","openURL","children","Text","style","length","parseInline","txt","elements","remaining","pattern","fullMatch","matchIndex","delimiter","content","substring","View","isTableSeparatorLine","line","trimmed","trim","test","includes","parseTableRow","decodedLine","cleaned","cells","split","map","c","renderMarkdownTableRN","headers","separator","dataRows","aligns","_","idx","seg","left","startsWith","right","endsWith","ScrollView","horizontal","bounces","showsHorizontalScrollIndicator","jsxs","cIdx","textAlign","row","rIdx","cell","parseMessageBody","baseStyle","lines","listBuffer","inCodeBlock","codeLang","codeLines","flushList","renderListItems","items","depth","result","i","item","subItems","j","nested","contentEl","type","checked","marginLeft","listContent","trimmedLine","selectable","join","headingMatch","level","Math","min","max","separatorIndex","rows","headerCount","sep","current","nextLine","rowCells","listMatch","leadingSpace","checkboxPart","floor","toLowerCase","bulletMatch","_default"],"sourceRoot":"../../../src","sources":["helpers/parseMessageBody.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_jsxRuntime","e","__esModule","default","elementKeyCounter","DEFAULT_BODY_COLORS","primary","text","surface","surfaceSecondary","surfaceHighlight","border","decodeHTMLEntities","entities","replace","m","exports","buildStyles","c","themed","bold","fontWeight","italic","fontStyle","strike","textDecorationLine","link","color","codeInlineBox","backgroundColor","borderRadius","paddingVertical","paddingHorizontal","codeInlineText","fontFamily","Platform","select","ios","android","fontSize","codeBlock","padding","borderWidth","borderColor","marginVertical","codeBlockText","lineHeight","h","marginTop","marginBottom","quote","borderLeftWidth","borderLeftColor","paddingLeft","paragraph","hr","height","listItemRow","flexDirection","alignItems","listMarker","minWidth","paddingTop","checkboxRow","checkboxBox","width","marginRight","justifyContent","checkboxBoxChecked","checkboxTick","tableContainer","tableInner","overflow","tableRow","th","flex","borderRightWidth","borderRightColor","td","borderTopWidth","borderTopColor","lastCell","cellText","DEFAULT_STYLES","styles","cachedTheme","cachedStyles","resolveStyles","theme","renderTextWithLinks","urlRegex","nodes","lastIndex","match","exec","url","start","index","push","slice","jsx","Pressable","onPress","Linking","openURL","children","Text","style","length","parseInline","txt","elements","remaining","pattern","fullMatch","matchIndex","delimiter","content","substring","View","isTableSeparatorLine","line","trimmed","trim","test","includes","parseTableRow","decodedLine","cleaned","cells","split","map","renderMarkdownTableRN","headers","separator","dataRows","aligns","_","idx","seg","left","startsWith","right","endsWith","ScrollView","horizontal","bounces","showsHorizontalScrollIndicator","jsxs","cIdx","textAlign","row","rIdx","cell","parseMessageBody","baseStyle","lines","listBuffer","inCodeBlock","codeLang","codeLines","flushList","renderListItems","items","depth","result","i","item","subItems","j","nested","contentEl","type","checked","marginLeft","listContent","trimmedLine","selectable","join","headingMatch","level","Math","min","max","separatorIndex","rows","headerCount","sep","current","nextLine","rowCells","listMatch","leadingSpace","checkboxPart","floor","toLowerCase","bulletMatch","_default"],"sourceRoot":"../../../src","sources":["helpers/parseMessageBody.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.__resetPersistCryptoKeyForTests = void 0;
|
|
7
|
+
exports.decryptFromPersist = decryptFromPersist;
|
|
8
|
+
exports.encryptForPersist = encryptForPersist;
|
|
9
|
+
var _cryptoJs = _interopRequireDefault(require("crypto-js"));
|
|
10
|
+
var _secureKeyValue = require("./secureKeyValue");
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
// AES-256-CBC at rest for the bulk persisted state (message history +
|
|
13
|
+
// room list) that `roomStore/persistence.ts` writes to AsyncStorage.
|
|
14
|
+
// This is envelope encryption, not a SecureStore write of the payload
|
|
15
|
+
// itself: expo-secure-store has historically capped a single value's
|
|
16
|
+
// size on Android (chunking exists in newer releases, but the payload
|
|
17
|
+
// here is unbounded — up to MESSAGE_LIMIT messages per room, times
|
|
18
|
+
// every room), so only the small symmetric KEY goes through the
|
|
19
|
+
// platform Keychain/Keystore (`secureKeyValue.ts`); the ciphertext
|
|
20
|
+
// itself stays in plain AsyncStorage, unreadable without that key.
|
|
21
|
+
const CIPHER_KEY_STORE_KEY = 'ethora_history_cipher_key';
|
|
22
|
+
const ENVELOPE_VERSION = 1;
|
|
23
|
+
const KEY_BYTES = 32; // AES-256
|
|
24
|
+
const IV_BYTES = 16; // one AES block
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* `crypto-js`'s own `WordArray.random()` falls back to `Math.random()`
|
|
28
|
+
* when it can't detect a browser `window.crypto` — not safe for key/IV
|
|
29
|
+
* material. `react-native-get-random-values` (a REQUIRED peer
|
|
30
|
+
* dependency, imported at the top of `main.ts`/`index.js` before
|
|
31
|
+
* anything else in the SDK runs) polyfills the real thing onto
|
|
32
|
+
* `global.crypto.getRandomValues` instead; source bytes from that and
|
|
33
|
+
* hand them to crypto-js as a WordArray rather than trust its default.
|
|
34
|
+
*/
|
|
35
|
+
const randomWordArray = byteLength => {
|
|
36
|
+
const bytes = new Uint8Array(byteLength);
|
|
37
|
+
global.crypto.getRandomValues(bytes);
|
|
38
|
+
const words = [];
|
|
39
|
+
for (let i = 0; i < bytes.length; i += 4) {
|
|
40
|
+
words.push((bytes[i] || 0) << 24 | (bytes[i + 1] || 0) << 16 | (bytes[i + 2] || 0) << 8 | (bytes[i + 3] || 0));
|
|
41
|
+
}
|
|
42
|
+
return _cryptoJs.default.lib.WordArray.create(words, byteLength);
|
|
43
|
+
};
|
|
44
|
+
let cachedKeyPromise = null;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* One AES-256 key per install, generated on first use and persisted
|
|
48
|
+
* through the SecureStore/Keychain bridge. Reused across logins on
|
|
49
|
+
* purpose: the ciphertext it protects is deleted wholesale on logout
|
|
50
|
+
* (`clearPersistedState`), so there is no cross-account data for a
|
|
51
|
+
* stable key to expose — only the encrypted blob of whoever is
|
|
52
|
+
* currently logged in ever exists on disk at a given time.
|
|
53
|
+
*/
|
|
54
|
+
const loadOrCreateKey = () => {
|
|
55
|
+
if (cachedKeyPromise) {
|
|
56
|
+
return cachedKeyPromise;
|
|
57
|
+
}
|
|
58
|
+
cachedKeyPromise = (async () => {
|
|
59
|
+
const existing = await (0, _secureKeyValue.secureGet)(CIPHER_KEY_STORE_KEY);
|
|
60
|
+
if (existing) {
|
|
61
|
+
return _cryptoJs.default.enc.Base64.parse(existing);
|
|
62
|
+
}
|
|
63
|
+
const key = randomWordArray(KEY_BYTES);
|
|
64
|
+
await (0, _secureKeyValue.secureSet)(CIPHER_KEY_STORE_KEY, _cryptoJs.default.enc.Base64.stringify(key));
|
|
65
|
+
return key;
|
|
66
|
+
})();
|
|
67
|
+
return cachedKeyPromise;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/** Encrypt a JSON-serialisable payload for storage. Returns the string to persist. */
|
|
71
|
+
async function encryptForPersist(plaintext) {
|
|
72
|
+
const key = await loadOrCreateKey();
|
|
73
|
+
const iv = randomWordArray(IV_BYTES);
|
|
74
|
+
const encrypted = _cryptoJs.default.AES.encrypt(plaintext, key, {
|
|
75
|
+
iv,
|
|
76
|
+
mode: _cryptoJs.default.mode.CBC,
|
|
77
|
+
padding: _cryptoJs.default.pad.Pkcs7
|
|
78
|
+
});
|
|
79
|
+
const envelope = {
|
|
80
|
+
v: ENVELOPE_VERSION,
|
|
81
|
+
iv: _cryptoJs.default.enc.Base64.stringify(iv),
|
|
82
|
+
ct: encrypted.ciphertext.toString(_cryptoJs.default.enc.Base64)
|
|
83
|
+
};
|
|
84
|
+
return JSON.stringify(envelope);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Decrypt a value previously written by `encryptForPersist`. Returns
|
|
89
|
+
* null (never throws) for anything that isn't a valid envelope for the
|
|
90
|
+
* current key — including a plaintext blob from a pre-encryption
|
|
91
|
+
* install: the app just re-hydrates that room/history from the server,
|
|
92
|
+
* same as any other empty-cache cold start.
|
|
93
|
+
*/
|
|
94
|
+
async function decryptFromPersist(stored) {
|
|
95
|
+
try {
|
|
96
|
+
const envelope = JSON.parse(stored);
|
|
97
|
+
if (!envelope || envelope.v !== ENVELOPE_VERSION || !envelope.iv || !envelope.ct) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
const key = await loadOrCreateKey();
|
|
101
|
+
const iv = _cryptoJs.default.enc.Base64.parse(envelope.iv);
|
|
102
|
+
const ciphertext = _cryptoJs.default.enc.Base64.parse(envelope.ct);
|
|
103
|
+
const decrypted = _cryptoJs.default.AES.decrypt({
|
|
104
|
+
ciphertext
|
|
105
|
+
}, key, {
|
|
106
|
+
iv,
|
|
107
|
+
mode: _cryptoJs.default.mode.CBC,
|
|
108
|
+
padding: _cryptoJs.default.pad.Pkcs7
|
|
109
|
+
});
|
|
110
|
+
const plaintext = decrypted.toString(_cryptoJs.default.enc.Utf8);
|
|
111
|
+
return plaintext || null;
|
|
112
|
+
} catch {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/** Test seam only. */
|
|
118
|
+
const __resetPersistCryptoKeyForTests = () => {
|
|
119
|
+
cachedKeyPromise = null;
|
|
120
|
+
};
|
|
121
|
+
exports.__resetPersistCryptoKeyForTests = __resetPersistCryptoKeyForTests;
|
|
122
|
+
//# sourceMappingURL=persistCrypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_cryptoJs","_interopRequireDefault","require","_secureKeyValue","e","__esModule","default","CIPHER_KEY_STORE_KEY","ENVELOPE_VERSION","KEY_BYTES","IV_BYTES","randomWordArray","byteLength","bytes","Uint8Array","global","crypto","getRandomValues","words","i","length","push","CryptoJS","lib","WordArray","create","cachedKeyPromise","loadOrCreateKey","existing","secureGet","enc","Base64","parse","key","secureSet","stringify","encryptForPersist","plaintext","iv","encrypted","AES","encrypt","mode","CBC","padding","pad","Pkcs7","envelope","v","ct","ciphertext","toString","JSON","decryptFromPersist","stored","decrypted","decrypt","Utf8","__resetPersistCryptoKeyForTests","exports"],"sourceRoot":"../../../src","sources":["helpers/persistCrypto.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.pickImageAsset = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var ImagePicker = _interopRequireWildcard(require("expo-image-picker"));
|
|
9
|
+
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); }
|
|
10
|
+
/**
|
|
11
|
+
* A picked image in the shape React Native's FormData understands.
|
|
12
|
+
*
|
|
13
|
+
* NOT a web `File`: RN streams a multipart part straight from a `file://`
|
|
14
|
+
* uri and has no usable Blob/File/atob path. Screens ported from the web
|
|
15
|
+
* client used to carry base64 -> Blob -> File helpers that could never
|
|
16
|
+
* have run here.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Ask for library permission, open the picker, and normalise the result.
|
|
21
|
+
*
|
|
22
|
+
* Returns `null` for every non-error outcome — permission refused, user
|
|
23
|
+
* cancelled — so call sites can simply keep their current value.
|
|
24
|
+
*
|
|
25
|
+
* Exists because the avatar pickers are wired to `onPress`, which hands
|
|
26
|
+
* the callback a SyntheticEvent. Storing that event as "the image" (what
|
|
27
|
+
* two screens used to do) rendered a pooled event as an <Image source>
|
|
28
|
+
* and then crashed with "Property is not configurable" when React tried
|
|
29
|
+
* to release it — on top of never letting the user pick anything.
|
|
30
|
+
*/
|
|
31
|
+
const pickImageAsset = async () => {
|
|
32
|
+
try {
|
|
33
|
+
// expo-image-picker owns the permission prompt internally and
|
|
34
|
+
// returns a `granted` flag.
|
|
35
|
+
const perm = await ImagePicker.requestMediaLibraryPermissionsAsync();
|
|
36
|
+
if (!perm.granted) {
|
|
37
|
+
_reactNative.Alert.alert('Permission required', 'Photo library permission is needed to select images.', [{
|
|
38
|
+
text: 'Cancel',
|
|
39
|
+
style: 'cancel'
|
|
40
|
+
}, {
|
|
41
|
+
text: 'Open Settings',
|
|
42
|
+
onPress: () => _reactNative.Linking.openSettings()
|
|
43
|
+
}]);
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
const result = await ImagePicker.launchImageLibraryAsync({
|
|
47
|
+
mediaTypes: ['images'],
|
|
48
|
+
allowsEditing: true,
|
|
49
|
+
aspect: [1, 1],
|
|
50
|
+
quality: 0.8
|
|
51
|
+
});
|
|
52
|
+
if (result.canceled || !result.assets?.[0]) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const asset = result.assets[0];
|
|
56
|
+
const originalName = asset.fileName || asset.uri.split('/').pop();
|
|
57
|
+
return {
|
|
58
|
+
uri: asset.uri,
|
|
59
|
+
type: asset.mimeType || 'image/jpeg',
|
|
60
|
+
name: originalName || `image_${Date.now()}.jpg`
|
|
61
|
+
};
|
|
62
|
+
} catch (error) {
|
|
63
|
+
console.error('Failed to pick an image:', error);
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
exports.pickImageAsset = pickImageAsset;
|
|
68
|
+
//# sourceMappingURL=pickImageAsset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","ImagePicker","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","pickImageAsset","perm","requestMediaLibraryPermissionsAsync","granted","Alert","alert","text","style","onPress","Linking","openSettings","result","launchImageLibraryAsync","mediaTypes","allowsEditing","aspect","quality","canceled","assets","asset","originalName","fileName","uri","split","pop","type","mimeType","name","Date","now","error","console","exports"],"sourceRoot":"../../../src","sources":["helpers/pickImageAsset.ts"],"mappings":"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","ignoreList":[]}
|