@ethora/chat-component-rn 26.8.5 → 26.8.7
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 +26 -0
- package/README.md +95 -0
- package/lib/commonjs/assets/emojiData.js +40 -0
- package/lib/commonjs/assets/emojiData.js.map +1 -0
- package/lib/commonjs/assets/icons.js +5 -3
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +35 -15
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +33 -24
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +22 -16
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/EncryptedSendNotice.js +47 -0
- package/lib/commonjs/components/MainComponents/EncryptedSendNotice.js.map +1 -0
- package/lib/commonjs/components/MainComponents/EncryptionCard.js +286 -0
- package/lib/commonjs/components/MainComponents/EncryptionCard.js.map +1 -0
- package/lib/commonjs/components/MainComponents/MediaMessage.js +7 -0
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +4 -12
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +110 -35
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js +5 -0
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +32 -29
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomStack.js +133 -65
- package/lib/commonjs/components/MainComponents/RoomStack.js.map +1 -1
- package/lib/commonjs/components/MainComponents/SealedAttachment.js +231 -0
- package/lib/commonjs/components/MainComponents/SealedAttachment.js.map +1 -0
- package/lib/commonjs/components/MainComponents/SystemMessage.js +6 -2
- package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/Avatar.js +5 -1
- package/lib/commonjs/components/MessageBubble/Avatar.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js +18 -21
- package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js +447 -0
- package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
- package/lib/commonjs/components/MessageBubble/Message.js +264 -136
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +215 -13
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageReaction.js +113 -94
- package/lib/commonjs/components/MessageBubble/MessageReaction.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageReply.js +66 -24
- package/lib/commonjs/components/MessageBubble/MessageReply.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +7 -4
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +159 -16
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +4 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js +76 -44
- package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +29 -6
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +5 -1
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +37 -13
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/LastMessageItem.js +6 -0
- package/lib/commonjs/components/RoomComponents/LastMessageItem.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +2 -2
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
- package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +4 -6
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +2 -2
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageSealed.js +41 -0
- package/lib/commonjs/components/RoomComponents/styled/LastMessageSealed.js.map +1 -0
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +2 -2
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/commonjs/components/Thread/ThreadWrapper.js +273 -152
- package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/commonjs/components/UsersList/UsersList.js +2 -1
- package/lib/commonjs/components/UsersList/UsersList.js.map +1 -1
- package/lib/commonjs/components/styled/DateLabel.js +6 -3
- package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +4 -2
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/context/MessageNotificationContext.js +188 -9
- package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +22 -7
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/e2ee/crypto.js +207 -0
- package/lib/commonjs/e2ee/crypto.js.map +1 -0
- package/lib/commonjs/e2ee/deviceStore.js +84 -0
- package/lib/commonjs/e2ee/deviceStore.js.map +1 -0
- package/lib/commonjs/e2ee/fileCipher.js +95 -0
- package/lib/commonjs/e2ee/fileCipher.js.map +1 -0
- package/lib/commonjs/e2ee/fileEnvelope.js +79 -0
- package/lib/commonjs/e2ee/fileEnvelope.js.map +1 -0
- package/lib/commonjs/e2ee/index.js +210 -0
- package/lib/commonjs/e2ee/index.js.map +1 -0
- package/lib/commonjs/e2ee/limits.js +9 -0
- package/lib/commonjs/e2ee/limits.js.map +1 -0
- package/lib/commonjs/e2ee/ns.js +8 -0
- package/lib/commonjs/e2ee/ns.js.map +1 -0
- package/lib/commonjs/e2ee/omemo.js +622 -0
- package/lib/commonjs/e2ee/omemo.js.map +1 -0
- package/lib/commonjs/e2ee/protobuf.js +149 -0
- package/lib/commonjs/e2ee/protobuf.js.map +1 -0
- package/lib/commonjs/e2ee/ratchet.js +238 -0
- package/lib/commonjs/e2ee/ratchet.js.map +1 -0
- package/lib/commonjs/e2ee/sealedBody.js +23 -0
- package/lib/commonjs/e2ee/sealedBody.js.map +1 -0
- package/lib/commonjs/e2ee/sealedFiles.js +174 -0
- package/lib/commonjs/e2ee/sealedFiles.js.map +1 -0
- package/lib/commonjs/e2ee/send.js +54 -0
- package/lib/commonjs/e2ee/send.js.map +1 -0
- package/lib/commonjs/e2ee/stanza.js +114 -0
- package/lib/commonjs/e2ee/stanza.js.map +1 -0
- package/lib/commonjs/e2ee/store.js +43 -0
- package/lib/commonjs/e2ee/store.js.map +1 -0
- package/lib/commonjs/helpers/accountName.js +23 -0
- package/lib/commonjs/helpers/accountName.js.map +1 -0
- package/lib/commonjs/helpers/createMessageFromXml.js +19 -4
- package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
- package/lib/commonjs/helpers/createRoomFromApi.js +36 -2
- package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
- package/lib/commonjs/helpers/createUserNameFromSetUser.js +2 -1
- package/lib/commonjs/helpers/createUserNameFromSetUser.js.map +1 -1
- package/lib/commonjs/helpers/displayName.js +16 -0
- package/lib/commonjs/helpers/displayName.js.map +1 -0
- package/lib/commonjs/helpers/emoji.js +51 -0
- package/lib/commonjs/helpers/emoji.js.map +1 -0
- package/lib/commonjs/helpers/haptics.js +29 -0
- package/lib/commonjs/helpers/haptics.js.map +1 -0
- package/lib/commonjs/helpers/historyPreloadScheduler.js +32 -66
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +21 -12
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/mamReactions.js +57 -0
- package/lib/commonjs/helpers/mamReactions.js.map +1 -0
- package/lib/commonjs/helpers/parseMessageReference.js +42 -0
- package/lib/commonjs/helpers/parseMessageReference.js.map +1 -0
- package/lib/commonjs/helpers/persistCrypto.js +5 -0
- package/lib/commonjs/helpers/persistCrypto.js.map +1 -1
- package/lib/commonjs/helpers/reactionsConfig.js +17 -0
- package/lib/commonjs/helpers/reactionsConfig.js.map +1 -0
- package/lib/commonjs/helpers/secureKeyValue.js +20 -0
- package/lib/commonjs/helpers/secureKeyValue.js.map +1 -1
- package/lib/commonjs/helpers/updateMessagesTillLast.js +17 -2
- package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
- package/lib/commonjs/helpers/videoCache.js +136 -0
- package/lib/commonjs/helpers/videoCache.js.map +1 -0
- package/lib/commonjs/hooks/useHeapSender.js +3 -1
- package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +8 -0
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/hooks/useMessageHeapState.js +3 -2
- package/lib/commonjs/hooks/useMessageHeapState.js.map +1 -1
- package/lib/commonjs/hooks/useRoomInitialization.js +16 -7
- package/lib/commonjs/hooks/useRoomInitialization.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +85 -15
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/i18n/strings.js +180 -0
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/main.js +13 -0
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/api-requests/auth.api.js +4 -1
- package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +111 -17
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/networking/stanzaHandlers.js +106 -50
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmpp/getHistory.xmpp.js +29 -74
- package/lib/commonjs/networking/xmpp/getHistory.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +44 -0
- package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/mamRouter.js +186 -0
- package/lib/commonjs/networking/xmpp/mamRouter.js.map +1 -0
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +41 -4
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js +16 -3
- package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +13 -6
- package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +14 -6
- package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +104 -23
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js +29 -34
- package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/perfMiddleware.js +51 -0
- package/lib/commonjs/roomStore/Middleware/perfMiddleware.js.map +1 -0
- package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js +66 -43
- package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +88 -68
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/index.js +18 -14
- package/lib/commonjs/roomStore/index.js.map +1 -1
- package/lib/commonjs/roomStore/persistBackend.js +93 -0
- package/lib/commonjs/roomStore/persistBackend.js.map +1 -0
- package/lib/commonjs/roomStore/persistence.js +253 -51
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +282 -136
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/theme/theme.js +3 -0
- package/lib/commonjs/theme/theme.js.map +1 -1
- package/lib/commonjs/utils/devLogger.js +14 -0
- package/lib/commonjs/utils/devLogger.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/assets/emojiData.js +36 -0
- package/lib/module/assets/emojiData.js.map +1 -0
- package/lib/module/assets/icons.js +4 -2
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +37 -17
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +34 -25
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +23 -17
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/EncryptedSendNotice.js +42 -0
- package/lib/module/components/MainComponents/EncryptedSendNotice.js.map +1 -0
- package/lib/module/components/MainComponents/EncryptionCard.js +281 -0
- package/lib/module/components/MainComponents/EncryptionCard.js.map +1 -0
- package/lib/module/components/MainComponents/MediaMessage.js +7 -0
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +7 -14
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +110 -35
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/ReduxWrapper.js +5 -0
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +32 -29
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/MainComponents/RoomStack.js +131 -63
- package/lib/module/components/MainComponents/RoomStack.js.map +1 -1
- package/lib/module/components/MainComponents/SealedAttachment.js +224 -0
- package/lib/module/components/MainComponents/SealedAttachment.js.map +1 -0
- package/lib/module/components/MainComponents/SystemMessage.js +6 -2
- package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/module/components/MessageBubble/Avatar.js +5 -1
- package/lib/module/components/MessageBubble/Avatar.js.map +1 -1
- package/lib/module/components/MessageBubble/BottomReplyContainer.js +19 -22
- package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
- package/lib/module/components/MessageBubble/EmojiPickerSheet.js +438 -0
- package/lib/module/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
- package/lib/module/components/MessageBubble/Message.js +269 -140
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +217 -15
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageReaction.js +115 -94
- package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageReply.js +65 -24
- package/lib/module/components/MessageBubble/MessageReply.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +7 -4
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +161 -18
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js +4 -0
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/module/components/Modals/Modal/SwipeBackLayer.js +76 -44
- package/lib/module/components/Modals/Modal/SwipeBackLayer.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +32 -8
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +4 -0
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js +37 -13
- package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/module/components/RoomComponents/LastMessageItem.js +6 -0
- package/lib/module/components/RoomComponents/LastMessageItem.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +2 -2
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
- package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js +4 -6
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +2 -2
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageSealed.js +36 -0
- package/lib/module/components/RoomComponents/styled/LastMessageSealed.js.map +1 -0
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +2 -2
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/module/components/Thread/ThreadWrapper.js +273 -153
- package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/module/components/UsersList/UsersList.js +2 -1
- package/lib/module/components/UsersList/UsersList.js.map +1 -1
- package/lib/module/components/styled/DateLabel.js +6 -3
- package/lib/module/components/styled/DateLabel.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +4 -2
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/context/MessageNotificationContext.js +190 -11
- package/lib/module/context/MessageNotificationContext.js.map +1 -1
- package/lib/module/context/xmppProvider.js +22 -7
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/e2ee/crypto.js +170 -0
- package/lib/module/e2ee/crypto.js.map +1 -0
- package/lib/module/e2ee/deviceStore.js +77 -0
- package/lib/module/e2ee/deviceStore.js.map +1 -0
- package/lib/module/e2ee/fileCipher.js +90 -0
- package/lib/module/e2ee/fileCipher.js.map +1 -0
- package/lib/module/e2ee/fileEnvelope.js +66 -0
- package/lib/module/e2ee/fileEnvelope.js.map +1 -0
- package/lib/module/e2ee/index.js +185 -0
- package/lib/module/e2ee/index.js.map +1 -0
- package/lib/module/e2ee/limits.js +5 -0
- package/lib/module/e2ee/limits.js.map +1 -0
- package/lib/module/e2ee/ns.js +4 -0
- package/lib/module/e2ee/ns.js.map +1 -0
- package/lib/module/e2ee/omemo.js +610 -0
- package/lib/module/e2ee/omemo.js.map +1 -0
- package/lib/module/e2ee/protobuf.js +140 -0
- package/lib/module/e2ee/protobuf.js.map +1 -0
- package/lib/module/e2ee/ratchet.js +228 -0
- package/lib/module/e2ee/ratchet.js.map +1 -0
- package/lib/module/e2ee/sealedBody.js +19 -0
- package/lib/module/e2ee/sealedBody.js.map +1 -0
- package/lib/module/e2ee/sealedFiles.js +154 -0
- package/lib/module/e2ee/sealedFiles.js.map +1 -0
- package/lib/module/e2ee/send.js +48 -0
- package/lib/module/e2ee/send.js.map +1 -0
- package/lib/module/e2ee/stanza.js +107 -0
- package/lib/module/e2ee/stanza.js.map +1 -0
- package/lib/module/e2ee/store.js +35 -0
- package/lib/module/e2ee/store.js.map +1 -0
- package/lib/module/helpers/accountName.js +18 -0
- package/lib/module/helpers/accountName.js.map +1 -0
- package/lib/module/helpers/createMessageFromXml.js +19 -4
- package/lib/module/helpers/createMessageFromXml.js.map +1 -1
- package/lib/module/helpers/createRoomFromApi.js +36 -2
- package/lib/module/helpers/createRoomFromApi.js.map +1 -1
- package/lib/module/helpers/createUserNameFromSetUser.js +3 -1
- package/lib/module/helpers/createUserNameFromSetUser.js.map +1 -1
- package/lib/module/helpers/displayName.js +11 -0
- package/lib/module/helpers/displayName.js.map +1 -0
- package/lib/module/helpers/emoji.js +44 -0
- package/lib/module/helpers/emoji.js.map +1 -0
- package/lib/module/helpers/haptics.js +24 -0
- package/lib/module/helpers/haptics.js.map +1 -0
- package/lib/module/helpers/historyPreloadScheduler.js +32 -66
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +21 -12
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/mamReactions.js +51 -0
- package/lib/module/helpers/mamReactions.js.map +1 -0
- package/lib/module/helpers/parseMessageReference.js +37 -0
- package/lib/module/helpers/parseMessageReference.js.map +1 -0
- package/lib/module/helpers/persistCrypto.js +4 -0
- package/lib/module/helpers/persistCrypto.js.map +1 -1
- package/lib/module/helpers/reactionsConfig.js +10 -0
- package/lib/module/helpers/reactionsConfig.js.map +1 -0
- package/lib/module/helpers/secureKeyValue.js +19 -0
- package/lib/module/helpers/secureKeyValue.js.map +1 -1
- package/lib/module/helpers/updateMessagesTillLast.js +17 -2
- package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
- package/lib/module/helpers/videoCache.js +125 -0
- package/lib/module/helpers/videoCache.js.map +1 -0
- package/lib/module/hooks/useHeapSender.js +3 -1
- package/lib/module/hooks/useHeapSender.js.map +1 -1
- package/lib/module/hooks/useLogout.js +8 -0
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/hooks/useMessageHeapState.js +3 -2
- package/lib/module/hooks/useMessageHeapState.js.map +1 -1
- package/lib/module/hooks/useRoomInitialization.js +17 -8
- package/lib/module/hooks/useRoomInitialization.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +85 -15
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/i18n/strings.js +180 -0
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/main.js +1 -0
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/api-requests/auth.api.js +4 -1
- package/lib/module/networking/api-requests/auth.api.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +109 -18
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/networking/stanzaHandlers.js +107 -51
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmpp/getHistory.xmpp.js +29 -74
- package/lib/module/networking/xmpp/getHistory.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js +42 -0
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/mamRouter.js +175 -0
- package/lib/module/networking/xmpp/mamRouter.js.map +1 -0
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +38 -2
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js +16 -3
- package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +13 -6
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +14 -6
- package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
- package/lib/module/networking/xmppClient.js +105 -24
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/Middleware/newMessageMidlleware.js +29 -34
- package/lib/module/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
- package/lib/module/roomStore/Middleware/perfMiddleware.js +45 -0
- package/lib/module/roomStore/Middleware/perfMiddleware.js.map +1 -0
- package/lib/module/roomStore/Middleware/reactionsMiddleware.js +66 -43
- package/lib/module/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
- package/lib/module/roomStore/Middleware/unreadMidlleware.js +89 -69
- package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/module/roomStore/index.js +19 -15
- package/lib/module/roomStore/index.js.map +1 -1
- package/lib/module/roomStore/persistBackend.js +86 -0
- package/lib/module/roomStore/persistBackend.js.map +1 -0
- package/lib/module/roomStore/persistence.js +253 -49
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +275 -134
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/theme/theme.js +3 -0
- package/lib/module/theme/theme.js.map +1 -1
- package/lib/module/utils/devLogger.js +13 -0
- package/lib/module/utils/devLogger.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/assets/emojiData.d.ts +8 -0
- package/lib/typescript/assets/emojiData.d.ts.map +1 -0
- package/lib/typescript/assets/icons.d.ts +8 -0
- package/lib/typescript/assets/icons.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/EncryptedSendNotice.d.ts +4 -0
- package/lib/typescript/components/MainComponents/EncryptedSendNotice.d.ts.map +1 -0
- package/lib/typescript/components/MainComponents/EncryptionCard.d.ts +10 -0
- package/lib/typescript/components/MainComponents/EncryptionCard.d.ts.map +1 -0
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts +2 -2
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomStack.d.ts +7 -2
- package/lib/typescript/components/MainComponents/RoomStack.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/SealedAttachment.d.ts +13 -0
- package/lib/typescript/components/MainComponents/SealedAttachment.d.ts.map +1 -0
- package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/Avatar.d.ts +2 -0
- package/lib/typescript/components/MessageBubble/Avatar.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts +11 -0
- package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts.map +1 -0
- package/lib/typescript/components/MessageBubble/Message.d.ts +2 -2
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +2 -0
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageReaction.d.ts +1 -0
- package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageReply.d.ts +7 -7
- package/lib/typescript/components/MessageBubble/MessageReply.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.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/SwipeBackLayer.d.ts +2 -1
- package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts +2 -2
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/LastMessageItem.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts +3 -6
- package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageSealed.d.ts +7 -0
- package/lib/typescript/components/RoomComponents/styled/LastMessageSealed.d.ts.map +1 -0
- package/lib/typescript/components/Thread/ThreadWrapper.d.ts +7 -1
- package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
- package/lib/typescript/components/UsersList/UsersList.d.ts.map +1 -1
- package/lib/typescript/components/styled/DateLabel.d.ts +1 -0
- package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts +1 -0
- package/lib/typescript/components/styled/SendInput.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/e2ee/crypto.d.ts +28 -0
- package/lib/typescript/e2ee/crypto.d.ts.map +1 -0
- package/lib/typescript/e2ee/deviceStore.d.ts +4 -0
- package/lib/typescript/e2ee/deviceStore.d.ts.map +1 -0
- package/lib/typescript/e2ee/fileCipher.d.ts +7 -0
- package/lib/typescript/e2ee/fileCipher.d.ts.map +1 -0
- package/lib/typescript/e2ee/fileEnvelope.d.ts +27 -0
- package/lib/typescript/e2ee/fileEnvelope.d.ts.map +1 -0
- package/lib/typescript/e2ee/index.d.ts +23 -0
- package/lib/typescript/e2ee/index.d.ts.map +1 -0
- package/lib/typescript/e2ee/limits.d.ts +3 -0
- package/lib/typescript/e2ee/limits.d.ts.map +1 -0
- package/lib/typescript/e2ee/ns.d.ts +2 -0
- package/lib/typescript/e2ee/ns.d.ts.map +1 -0
- package/lib/typescript/e2ee/omemo.d.ts +64 -0
- package/lib/typescript/e2ee/omemo.d.ts.map +1 -0
- package/lib/typescript/e2ee/protobuf.d.ts +25 -0
- package/lib/typescript/e2ee/protobuf.d.ts.map +1 -0
- package/lib/typescript/e2ee/ratchet.d.ts +39 -0
- package/lib/typescript/e2ee/ratchet.d.ts.map +1 -0
- package/lib/typescript/e2ee/sealedBody.d.ts +2 -0
- package/lib/typescript/e2ee/sealedBody.d.ts.map +1 -0
- package/lib/typescript/e2ee/sealedFiles.d.ts +31 -0
- package/lib/typescript/e2ee/sealedFiles.d.ts.map +1 -0
- package/lib/typescript/e2ee/send.d.ts +6 -0
- package/lib/typescript/e2ee/send.d.ts.map +1 -0
- package/lib/typescript/e2ee/stanza.d.ts +8 -0
- package/lib/typescript/e2ee/stanza.d.ts.map +1 -0
- package/lib/typescript/e2ee/store.d.ts +16 -0
- package/lib/typescript/e2ee/store.d.ts.map +1 -0
- package/lib/typescript/helpers/accountName.d.ts +7 -0
- package/lib/typescript/helpers/accountName.d.ts.map +1 -0
- package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
- package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
- package/lib/typescript/helpers/createUserNameFromSetUser.d.ts.map +1 -1
- package/lib/typescript/helpers/displayName.d.ts +2 -0
- package/lib/typescript/helpers/displayName.d.ts.map +1 -0
- package/lib/typescript/helpers/emoji.d.ts +6 -0
- package/lib/typescript/helpers/emoji.d.ts.map +1 -0
- package/lib/typescript/helpers/haptics.d.ts +3 -0
- package/lib/typescript/helpers/haptics.d.ts.map +1 -0
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts +1 -0
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/mamReactions.d.ts +13 -0
- package/lib/typescript/helpers/mamReactions.d.ts.map +1 -0
- package/lib/typescript/helpers/parseMessageReference.d.ts +16 -0
- package/lib/typescript/helpers/parseMessageReference.d.ts.map +1 -0
- package/lib/typescript/helpers/persistCrypto.d.ts +1 -0
- package/lib/typescript/helpers/persistCrypto.d.ts.map +1 -1
- package/lib/typescript/helpers/reactionsConfig.d.ts +5 -0
- package/lib/typescript/helpers/reactionsConfig.d.ts.map +1 -0
- package/lib/typescript/helpers/secureKeyValue.d.ts +4 -0
- package/lib/typescript/helpers/secureKeyValue.d.ts.map +1 -1
- package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
- package/lib/typescript/helpers/videoCache.d.ts +19 -0
- package/lib/typescript/helpers/videoCache.d.ts.map +1 -0
- package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
- package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
- package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
- package/lib/typescript/hooks/useRoomInitialization.d.ts +2 -2
- package/lib/typescript/hooks/useRoomInitialization.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/main.d.ts +2 -0
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/auth.api.d.ts +4 -1
- package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts +22 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
- package/lib/typescript/networking/stanzaHandlers.d.ts +4 -2
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts +3 -1
- package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts +1 -0
- package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/mamRouter.d.ts +23 -0
- package/lib/typescript/networking/xmpp/mamRouter.d.ts.map +1 -0
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts +1 -0
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +22 -1
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/newMessageMidlleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts +4 -0
- package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts.map +1 -0
- package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts +9 -0
- package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/index.d.ts.map +1 -1
- package/lib/typescript/roomStore/persistBackend.d.ts +11 -0
- package/lib/typescript/roomStore/persistBackend.d.ts.map +1 -0
- package/lib/typescript/roomStore/persistence.d.ts +5 -6
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +41 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/theme/theme.d.ts +4 -1
- package/lib/typescript/theme/theme.d.ts.map +1 -1
- package/lib/typescript/types/models/message.model.d.ts +9 -0
- package/lib/typescript/types/models/message.model.d.ts.map +1 -1
- package/lib/typescript/types/models/room.model.d.ts +21 -0
- package/lib/typescript/types/models/room.model.d.ts.map +1 -1
- package/lib/typescript/types/models/xmpp.model.d.ts +6 -1
- package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +19 -3
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/utils/devLogger.d.ts +8 -0
- package/lib/typescript/utils/devLogger.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +14 -1
- package/src/assets/emojiData.ts +2146 -0
- package/src/assets/icons.tsx +32 -5
- package/src/components/MainComponents/ChatHeader.tsx +46 -16
- package/src/components/MainComponents/ChatRoom.tsx +46 -30
- package/src/components/MainComponents/ChatWrapper.tsx +28 -10
- package/src/components/MainComponents/EncryptedSendNotice.tsx +35 -0
- package/src/components/MainComponents/EncryptionCard.tsx +287 -0
- package/src/components/MainComponents/MediaMessage.tsx +5 -0
- package/src/components/MainComponents/MessageContainer.tsx +7 -15
- package/src/components/MainComponents/MessageList.tsx +96 -43
- package/src/components/MainComponents/ReduxWrapper.tsx +5 -0
- package/src/components/MainComponents/RoomList.tsx +28 -29
- package/src/components/MainComponents/RoomStack.tsx +156 -83
- package/src/components/MainComponents/SealedAttachment.tsx +251 -0
- package/src/components/MainComponents/SystemMessage.tsx +6 -2
- package/src/components/MessageBubble/Avatar.tsx +7 -1
- package/src/components/MessageBubble/BottomReplyContainer.tsx +20 -21
- package/src/components/MessageBubble/EmojiPickerSheet.tsx +468 -0
- package/src/components/MessageBubble/Message.tsx +242 -93
- package/src/components/MessageBubble/MessageInteractions.tsx +215 -15
- package/src/components/MessageBubble/MessageReaction.tsx +120 -96
- package/src/components/MessageBubble/MessageReply.tsx +65 -32
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +7 -4
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +181 -35
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +4 -0
- package/src/components/Modals/Modal/SwipeBackLayer.tsx +114 -63
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +53 -8
- package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +5 -0
- package/src/components/RoomComponents/ChatRoomItem.tsx +34 -15
- package/src/components/RoomComponents/LastMessageItem.tsx +5 -0
- package/src/components/RoomComponents/styled/LastAudioMessage.tsx +3 -1
- package/src/components/RoomComponents/styled/LastMessageEmoji.tsx +7 -8
- package/src/components/RoomComponents/styled/LastMessageFile.tsx +2 -2
- package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +1 -1
- package/src/components/RoomComponents/styled/LastMessageSealed.tsx +31 -0
- package/src/components/RoomComponents/styled/LastMessageVideo.tsx +1 -1
- package/src/components/Thread/ThreadWrapper.tsx +287 -198
- package/src/components/UsersList/UsersList.tsx +2 -1
- package/src/components/styled/DateLabel.tsx +7 -3
- package/src/components/styled/SendInput.tsx +5 -2
- package/src/context/MessageNotificationContext.tsx +205 -7
- package/src/context/xmppProvider.tsx +29 -9
- package/src/e2ee/crypto.ts +194 -0
- package/src/e2ee/deviceStore.ts +80 -0
- package/src/e2ee/fileCipher.ts +86 -0
- package/src/e2ee/fileEnvelope.ts +115 -0
- package/src/e2ee/index.ts +192 -0
- package/src/e2ee/limits.ts +2 -0
- package/src/e2ee/ns.ts +1 -0
- package/src/e2ee/omemo.ts +802 -0
- package/src/e2ee/protobuf.ts +188 -0
- package/src/e2ee/ratchet.ts +271 -0
- package/src/e2ee/sealedBody.ts +17 -0
- package/src/e2ee/sealedFiles.ts +181 -0
- package/src/e2ee/send.ts +70 -0
- package/src/e2ee/stanza.ts +133 -0
- package/src/e2ee/store.ts +54 -0
- package/src/helpers/accountName.ts +15 -0
- package/src/helpers/createMessageFromXml.ts +31 -6
- package/src/helpers/createRoomFromApi.tsx +37 -1
- package/src/helpers/createUserNameFromSetUser.ts +2 -1
- package/src/helpers/displayName.ts +9 -0
- package/src/helpers/emoji.ts +39 -0
- package/src/helpers/haptics.ts +19 -0
- package/src/helpers/historyPreloadScheduler.ts +37 -69
- package/src/helpers/insertMessageWithDelimiter.ts +23 -16
- package/src/helpers/mamReactions.ts +59 -0
- package/src/helpers/parseMessageReference.ts +38 -0
- package/src/helpers/persistCrypto.ts +5 -0
- package/src/helpers/reactionsConfig.ts +13 -0
- package/src/helpers/secureKeyValue.ts +15 -0
- package/src/helpers/updateMessagesTillLast.tsx +14 -2
- package/src/helpers/videoCache.ts +138 -0
- package/src/hooks/useHeapSender.tsx +3 -2
- package/src/hooks/useLogout.tsx +9 -0
- package/src/hooks/useMessageHeapState.tsx +6 -2
- package/src/hooks/useRoomInitialization.tsx +32 -15
- package/src/hooks/useSendMessage.tsx +89 -16
- package/src/hooks/useUnreadMessagesCounter.ts +1 -1
- package/src/i18n/strings.ts +180 -0
- package/src/main.ts +2 -0
- package/src/networking/api-requests/auth.api.ts +9 -1
- package/src/networking/api-requests/rooms.api.ts +121 -18
- package/src/networking/stanzaHandlers.ts +116 -60
- package/src/networking/xmpp/getHistory.xmpp.ts +44 -106
- package/src/networking/xmpp/handleStanzas.xmpp.ts +51 -0
- package/src/networking/xmpp/mamRouter.ts +176 -0
- package/src/networking/xmpp/presenceInRoom.xmpp.ts +46 -3
- package/src/networking/xmpp/sendMediaMessage.xmpp.ts +19 -1
- package/src/networking/xmpp/sendTextMessage.xmpp.ts +17 -10
- package/src/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.ts +23 -10
- package/src/networking/xmppClient.ts +111 -20
- package/src/roomStore/Middleware/newMessageMidlleware.tsx +35 -38
- package/src/roomStore/Middleware/perfMiddleware.ts +50 -0
- package/src/roomStore/Middleware/reactionsMiddleware.tsx +53 -52
- package/src/roomStore/Middleware/unreadMidlleware.tsx +92 -80
- package/src/roomStore/index.ts +28 -27
- package/src/roomStore/persistBackend.ts +93 -0
- package/src/roomStore/persistence.ts +295 -73
- package/src/roomStore/roomsSlice.ts +304 -155
- package/src/theme/theme.ts +10 -1
- package/src/types/models/message.model.ts +9 -0
- package/src/types/models/room.model.ts +22 -0
- package/src/types/models/xmpp.model.ts +4 -2
- package/src/types/types.ts +19 -3
- package/src/utils/devLogger.ts +16 -0
- package/src/version.ts +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
4
|
import { withFileToken } from '../../../helpers/secureFileUrl';
|
|
5
5
|
import { CenterContainer, ModalContainerFullScreen } from '../styledModalComponents';
|
|
6
6
|
import { SaveIcon } from '../../../assets/icons';
|
|
@@ -12,7 +12,7 @@ import { useDispatch, useSelector } from 'react-redux';
|
|
|
12
12
|
import Button from '../../styled/Button';
|
|
13
13
|
import { FullScreenImage } from '../../styled/StyledInputComponents/MediaComponents';
|
|
14
14
|
import { setActiveFile } from '../../../roomStore/chatSettingsSlice';
|
|
15
|
-
import { Alert, Text, View, Platform, TouchableOpacity, StyleSheet, Share } from 'react-native';
|
|
15
|
+
import { ActivityIndicator, Alert, Text, View, Platform, TouchableOpacity, StyleSheet, Share } from 'react-native';
|
|
16
16
|
import { useVideoPlayer, VideoView } from 'expo-video';
|
|
17
17
|
import { PlayIcon } from '../../../assets/icons';
|
|
18
18
|
import * as FileSystem from 'expo-file-system/legacy';
|
|
@@ -22,12 +22,18 @@ import PdfViewer from './PdfView';
|
|
|
22
22
|
import DocumentViewer from './DocumentViewer';
|
|
23
23
|
import AudioMessage from '../../styled/AudioMessage';
|
|
24
24
|
import { isLikelyAudio } from '../../../helpers/mimeToExtension';
|
|
25
|
+
import { downloadVideoToCache, findCachedVideo, isRemoteUrl, isStreamingUnsupported, markStreamingUnsupported } from '../../../helpers/videoCache';
|
|
25
26
|
import { getDisplayFileName, getUniqueFileName, sanitizeFileNameForPath } from '../../../helpers/getDisplayFileName';
|
|
26
27
|
|
|
27
28
|
// MIME types Google's gview embed renders reliably. Everything else
|
|
28
29
|
// falls through to the info-card so the user can still download.
|
|
29
30
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
30
31
|
const GVIEW_PREVIEWABLE = new Set(['application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'text/plain', 'text/csv', 'application/rtf']);
|
|
32
|
+
const isLocalFile = url => /^file:\/\//i.test(url || '');
|
|
33
|
+
const fetchToCache = async (url, cachePath) => isLocalFile(url) ? {
|
|
34
|
+
status: 200,
|
|
35
|
+
uri: url
|
|
36
|
+
} : FileSystem.downloadAsync(withFileToken(url), cachePath);
|
|
31
37
|
const isGviewPreviewable = mime => {
|
|
32
38
|
if (!mime) {
|
|
33
39
|
return false;
|
|
@@ -40,33 +46,139 @@ const isGviewPreviewable = mime => {
|
|
|
40
46
|
// the area with the surrounding letterbox painted as the view's own
|
|
41
47
|
// (transparent → theme) background, NOT black. `textureView` so the play
|
|
42
48
|
// overlay composites on top and nothing is clipped on Android.
|
|
49
|
+
//
|
|
50
|
+
// The clip is streamed when the server allows it. AVPlayer does not play
|
|
51
|
+
// from a server that ignores byte-range requests (it answers 200 instead of
|
|
52
|
+
// 206 and the player stops with "server is not correctly configured"), so
|
|
53
|
+
// a failed stream falls back to a downloaded copy in the cache — which is
|
|
54
|
+
// also what a reopened video plays from.
|
|
43
55
|
const ModalVideo = ({
|
|
44
|
-
uri
|
|
56
|
+
uri,
|
|
57
|
+
mimetype
|
|
45
58
|
}) => {
|
|
59
|
+
const theme = useTheme();
|
|
60
|
+
const remote = isRemoteUrl(uri);
|
|
61
|
+
// What the player is given; null until we know where to play from.
|
|
62
|
+
const [source, setSource] = useState(remote ? null : uri);
|
|
46
63
|
const [showPlay, setShowPlay] = useState(true);
|
|
47
|
-
|
|
64
|
+
// null = not downloading, otherwise 0..1 (0 while the size is unknown).
|
|
65
|
+
const [progress, setProgress] = useState(null);
|
|
66
|
+
const [failed, setFailed] = useState(false);
|
|
67
|
+
const wantsPlay = useRef(false);
|
|
68
|
+
const downloadStarted = useRef(false);
|
|
69
|
+
const mounted = useRef(true);
|
|
70
|
+
useEffect(() => () => {
|
|
71
|
+
mounted.current = false;
|
|
72
|
+
}, []);
|
|
73
|
+
const download = useCallback(() => {
|
|
74
|
+
if (downloadStarted.current) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
downloadStarted.current = true;
|
|
78
|
+
setProgress(0);
|
|
79
|
+
downloadVideoToCache(uri, mimetype, fraction => {
|
|
80
|
+
if (mounted.current) {
|
|
81
|
+
setProgress(fraction);
|
|
82
|
+
}
|
|
83
|
+
}).then(localUri => {
|
|
84
|
+
if (!mounted.current) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
setProgress(null);
|
|
88
|
+
setSource(localUri);
|
|
89
|
+
}).catch(err => {
|
|
90
|
+
console.warn('video download failed', err);
|
|
91
|
+
if (!mounted.current) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
setProgress(null);
|
|
95
|
+
setFailed(true);
|
|
96
|
+
});
|
|
97
|
+
}, [mimetype, uri]);
|
|
98
|
+
useEffect(() => {
|
|
99
|
+
if (!remote) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
let active = true;
|
|
103
|
+
findCachedVideo(uri, mimetype).then(cached => {
|
|
104
|
+
if (!active) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (cached) {
|
|
108
|
+
setSource(cached);
|
|
109
|
+
} else if (isStreamingUnsupported(uri)) {
|
|
110
|
+
download();
|
|
111
|
+
} else {
|
|
112
|
+
setSource(uri);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
return () => {
|
|
116
|
+
active = false;
|
|
117
|
+
};
|
|
118
|
+
}, [download, mimetype, remote, uri]);
|
|
119
|
+
const player = useVideoPlayer(source, p => {
|
|
48
120
|
p.muted = false;
|
|
121
|
+
// A player made for the downloaded copy picks up a play the user
|
|
122
|
+
// already asked for.
|
|
123
|
+
if (wantsPlay.current) {
|
|
124
|
+
p.play();
|
|
125
|
+
}
|
|
49
126
|
});
|
|
50
127
|
useEffect(() => {
|
|
51
|
-
const
|
|
128
|
+
const playing = player.addListener('playingChange', ({
|
|
52
129
|
isPlaying
|
|
53
130
|
}) => {
|
|
54
131
|
if (isPlaying) {
|
|
55
132
|
setShowPlay(false);
|
|
56
133
|
}
|
|
57
134
|
});
|
|
58
|
-
|
|
59
|
-
|
|
135
|
+
const status = player.addListener('statusChange', event => {
|
|
136
|
+
if (event.status !== 'error') {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
if (source === uri && remote) {
|
|
140
|
+
markStreamingUnsupported(uri);
|
|
141
|
+
download();
|
|
142
|
+
} else {
|
|
143
|
+
setFailed(true);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
return () => {
|
|
147
|
+
playing.remove();
|
|
148
|
+
status.remove();
|
|
149
|
+
};
|
|
150
|
+
}, [download, player, remote, source, uri]);
|
|
60
151
|
const handlePlay = () => {
|
|
152
|
+
wantsPlay.current = true;
|
|
61
153
|
setShowPlay(false);
|
|
62
154
|
player.play();
|
|
63
155
|
};
|
|
156
|
+
if (failed) {
|
|
157
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
158
|
+
style: styles.videoMessage,
|
|
159
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
160
|
+
style: {
|
|
161
|
+
fontSize: 16,
|
|
162
|
+
fontWeight: '600',
|
|
163
|
+
color: theme.text
|
|
164
|
+
},
|
|
165
|
+
children: "This video can't be played"
|
|
166
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
167
|
+
style: {
|
|
168
|
+
color: theme.textSecondary,
|
|
169
|
+
textAlign: 'center'
|
|
170
|
+
},
|
|
171
|
+
children: "Tap the save icon above to download it."
|
|
172
|
+
})]
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
const loading = progress !== null || source === null;
|
|
64
176
|
return /*#__PURE__*/_jsxs(View, {
|
|
65
177
|
style: {
|
|
66
178
|
flex: 1,
|
|
67
179
|
width: '100%'
|
|
68
180
|
},
|
|
69
|
-
children: [/*#__PURE__*/_jsx(VideoView, {
|
|
181
|
+
children: [!loading && /*#__PURE__*/_jsx(VideoView, {
|
|
70
182
|
player: player,
|
|
71
183
|
style: {
|
|
72
184
|
flex: 1,
|
|
@@ -77,9 +189,27 @@ const ModalVideo = ({
|
|
|
77
189
|
surfaceType: "textureView"
|
|
78
190
|
// Fullscreen stays available by default on both expo-video lines:
|
|
79
191
|
// `allowsFullscreen` (SDK 54, default true) was replaced by
|
|
80
|
-
// `fullscreenOptions.enable` (SDK 57, default true). Passing
|
|
81
|
-
// keeps this file compiling against both.
|
|
82
|
-
}),
|
|
192
|
+
// `fullscreenOptions.enable` (SDK 57, default true). Passing
|
|
193
|
+
// neither keeps this file compiling against both.
|
|
194
|
+
}), loading ? /*#__PURE__*/_jsxs(View, {
|
|
195
|
+
style: styles.playOverlay,
|
|
196
|
+
pointerEvents: "none",
|
|
197
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
198
|
+
style: styles.playButton,
|
|
199
|
+
children: /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
200
|
+
color: "#FFFFFF"
|
|
201
|
+
})
|
|
202
|
+
}), !!progress && /*#__PURE__*/_jsxs(Text, {
|
|
203
|
+
style: [styles.progress, {
|
|
204
|
+
color: theme.textSecondary
|
|
205
|
+
}],
|
|
206
|
+
children: [Math.round(progress * 100), "%"]
|
|
207
|
+
})]
|
|
208
|
+
}) : showPlay &&
|
|
209
|
+
/*#__PURE__*/
|
|
210
|
+
// Play affordance shown immediately on open; tapping starts
|
|
211
|
+
// playback and the native controls take over.
|
|
212
|
+
_jsx(TouchableOpacity, {
|
|
83
213
|
activeOpacity: 0.8,
|
|
84
214
|
onPress: handlePlay,
|
|
85
215
|
style: StyleSheet.absoluteFill,
|
|
@@ -154,7 +284,7 @@ const FilePreviewModal = ({
|
|
|
154
284
|
}
|
|
155
285
|
try {
|
|
156
286
|
const filePath = FileSystem.cacheDirectory + displayFileName;
|
|
157
|
-
const download = await
|
|
287
|
+
const download = await fetchToCache(activeFile.fileURL, filePath);
|
|
158
288
|
if (download.status === 200) {
|
|
159
289
|
await getMediaLibrary()?.saveToLibraryAsync(download.uri);
|
|
160
290
|
showToast({
|
|
@@ -196,7 +326,7 @@ const FilePreviewModal = ({
|
|
|
196
326
|
const saveFileToDownloads = async () => {
|
|
197
327
|
try {
|
|
198
328
|
const filePath = FileSystem.cacheDirectory + displayFileName;
|
|
199
|
-
const download = await
|
|
329
|
+
const download = await fetchToCache(activeFile.fileURL, filePath);
|
|
200
330
|
if (download.status !== 200) {
|
|
201
331
|
Alert.alert('Error', 'Failed to save the file.');
|
|
202
332
|
return;
|
|
@@ -286,9 +416,12 @@ const FilePreviewModal = ({
|
|
|
286
416
|
accessibilityLabel: displayFileName
|
|
287
417
|
});
|
|
288
418
|
case activeFile.mimetype.startsWith('video/'):
|
|
289
|
-
return /*#__PURE__*/_jsx(ModalVideo
|
|
290
|
-
|
|
291
|
-
|
|
419
|
+
return /*#__PURE__*/_jsx(ModalVideo
|
|
420
|
+
// Remount per file: the player state belongs to one clip.
|
|
421
|
+
, {
|
|
422
|
+
uri: withFileToken(activeFile.fileURL),
|
|
423
|
+
mimetype: activeFile.mimetype
|
|
424
|
+
}, activeFile.fileURL);
|
|
292
425
|
case activeFile.mimetype.includes('application/octet-stream'):
|
|
293
426
|
return /*#__PURE__*/_jsxs(View, {
|
|
294
427
|
style: {
|
|
@@ -347,7 +480,7 @@ const FilePreviewModal = ({
|
|
|
347
480
|
waveForm: activeFile.waveForm
|
|
348
481
|
})]
|
|
349
482
|
});
|
|
350
|
-
case activeFile.mimetype === 'application/pdf':
|
|
483
|
+
case activeFile.mimetype === 'application/pdf' && !(Platform.OS === 'android' && isLocalFile(activeFile.fileURL)):
|
|
351
484
|
return /*#__PURE__*/_jsx(PdfViewer, {
|
|
352
485
|
pdfUrl: withFileToken(activeFile.fileURL)
|
|
353
486
|
});
|
|
@@ -356,7 +489,7 @@ const FilePreviewModal = ({
|
|
|
356
489
|
// Office docs (.docx / .xlsx / .pptx / .doc / .xls / .ppt /
|
|
357
490
|
// .txt / .csv / .rtf) → render inline via Google's gview embed
|
|
358
491
|
// — fixes the "blank preview" complaint for docs (bug #9).
|
|
359
|
-
if (isGviewPreviewable(activeFile.mimetype)) {
|
|
492
|
+
if (isGviewPreviewable(activeFile.mimetype) && !isLocalFile(activeFile.fileURL)) {
|
|
360
493
|
return /*#__PURE__*/_jsx(DocumentViewer, {
|
|
361
494
|
url: activeFile.fileURL,
|
|
362
495
|
fileName: displayFileName
|
|
@@ -438,6 +571,16 @@ const styles = StyleSheet.create({
|
|
|
438
571
|
backgroundColor: 'rgba(0, 0, 0, 0.55)',
|
|
439
572
|
justifyContent: 'center',
|
|
440
573
|
alignItems: 'center'
|
|
574
|
+
},
|
|
575
|
+
progress: {
|
|
576
|
+
marginTop: 10,
|
|
577
|
+
fontSize: 13,
|
|
578
|
+
fontWeight: '600'
|
|
579
|
+
},
|
|
580
|
+
videoMessage: {
|
|
581
|
+
alignItems: 'center',
|
|
582
|
+
gap: 8,
|
|
583
|
+
padding: 20
|
|
441
584
|
}
|
|
442
585
|
});
|
|
443
586
|
export default FilePreviewModal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useState","withFileToken","CenterContainer","ModalContainerFullScreen","SaveIcon","ModalHeaderComponent","useChatSettingState","useTheme","chatTextStyle","useDispatch","useSelector","Button","FullScreenImage","setActiveFile","Alert","Text","View","Platform","TouchableOpacity","StyleSheet","Share","useVideoPlayer","VideoView","PlayIcon","FileSystem","getMediaLibrary","useToast","PdfViewer","DocumentViewer","AudioMessage","isLikelyAudio","getDisplayFileName","getUniqueFileName","sanitizeFileNameForPath","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","has","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","player","p","muted","sub","addListener","isPlaying","remove","handlePlay","play","style","flex","width","children","backgroundColor","contentFit","nativeControls","surfaceType","activeOpacity","onPress","absoluteFill","styles","playOverlay","playButton","height","FilePreviewModal","handleCloseModal","dispatch","showToast","config","theme","cardBackground","dark","surfaceSecondary","safDirUriRef","activeFile","state","chatSettingStore","displayFileName","originalName","fileName","location","fileURL","mimetype","requestStoragePermission","MediaLibrary","requestPermissionsAsync","status","error","console","saveToGallery","hasPermission","alert","filePath","cacheDirectory","download","downloadAsync","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","listSafDirectoryNames","saf","dirUri","uris","readDirectoryAsync","names","map","decoded","decodeURIComponent","last","pop","includes","filter","Boolean","saveFileToDownloads","OS","StorageAccessFramework","current","perm","requestDirectoryPermissionsAsync","granted","directoryUri","existingNames","uniqueName","candidate","baseName","replace","base64","readAsStringAsync","encoding","EncodingType","Base64","destUri","createFileAsync","writeAsStringAsync","share","url","saveClick","startsWith","closeModal","getMediaComponent","source","resizeMode","accessibilityLabel","padding","gap","borderRadius","fontSize","fontWeight","color","text","src","mimeType","duration","waveForm","pdfUrl","textSecondary","marginTop","headerTitle","titleStyle","typography","profile","screenTitle","rightMenu","display","justifyContent","overflow","paddingBottom","create","alignItems"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useRef","useState","withFileToken","CenterContainer","ModalContainerFullScreen","SaveIcon","ModalHeaderComponent","useChatSettingState","useTheme","chatTextStyle","useDispatch","useSelector","Button","FullScreenImage","setActiveFile","ActivityIndicator","Alert","Text","View","Platform","TouchableOpacity","StyleSheet","Share","useVideoPlayer","VideoView","PlayIcon","FileSystem","getMediaLibrary","useToast","PdfViewer","DocumentViewer","AudioMessage","isLikelyAudio","downloadVideoToCache","findCachedVideo","isRemoteUrl","isStreamingUnsupported","markStreamingUnsupported","getDisplayFileName","getUniqueFileName","sanitizeFileNameForPath","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GVIEW_PREVIEWABLE","Set","isLocalFile","url","test","fetchToCache","cachePath","status","uri","downloadAsync","isGviewPreviewable","mime","has","toLowerCase","split","trim","ModalVideo","mimetype","theme","remote","source","setSource","showPlay","setShowPlay","progress","setProgress","failed","setFailed","wantsPlay","downloadStarted","mounted","current","download","fraction","then","localUri","catch","err","console","warn","active","cached","player","p","muted","play","playing","addListener","isPlaying","event","remove","handlePlay","style","styles","videoMessage","children","fontSize","fontWeight","color","text","textSecondary","textAlign","loading","flex","width","backgroundColor","contentFit","nativeControls","surfaceType","playOverlay","pointerEvents","playButton","Math","round","activeOpacity","onPress","absoluteFill","height","FilePreviewModal","handleCloseModal","dispatch","showToast","config","cardBackground","dark","surfaceSecondary","safDirUriRef","activeFile","state","chatSettingStore","displayFileName","originalName","fileName","location","fileURL","requestStoragePermission","MediaLibrary","requestPermissionsAsync","error","saveToGallery","hasPermission","alert","filePath","cacheDirectory","saveToLibraryAsync","id","Date","now","toString","title","message","type","listSafDirectoryNames","saf","dirUri","uris","readDirectoryAsync","names","map","decoded","decodeURIComponent","last","pop","includes","filter","Boolean","saveFileToDownloads","OS","StorageAccessFramework","perm","requestDirectoryPermissionsAsync","granted","directoryUri","existingNames","uniqueName","candidate","baseName","replace","base64","readAsStringAsync","encoding","EncodingType","Base64","destUri","createFileAsync","writeAsStringAsync","share","saveClick","startsWith","closeModal","getMediaComponent","resizeMode","accessibilityLabel","padding","gap","borderRadius","src","mimeType","duration","waveForm","pdfUrl","marginTop","headerTitle","titleStyle","typography","profile","screenTitle","rightMenu","display","justifyContent","overflow","paddingBottom","create","alignItems"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,6 +24,10 @@ const PdfViewer = ({
|
|
|
24
24
|
let cancelled = false;
|
|
25
25
|
const run = async () => {
|
|
26
26
|
try {
|
|
27
|
+
if (/^file:\/\//i.test(pdfUrl)) {
|
|
28
|
+
setLocalUri(pdfUrl);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
27
31
|
const target = FileSystem.cacheDirectory + `pdf-${Date.now()}.pdf`;
|
|
28
32
|
const result = await FileSystem.downloadAsync(withFileToken(pdfUrl), target);
|
|
29
33
|
if (cancelled) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","withFileToken","ActivityIndicator","Platform","StyleSheet","Text","View","WebView","FileSystem","GViewWebView","jsx","_jsx","jsxs","_jsxs","PdfViewer","pdfUrl","localUri","setLocalUri","error","setError","isAndroid","OS","cancelled","run","target","cacheDirectory","Date","now","result","downloadAsync","uri","e","console","log","message","url","style","styles","center","children","size","container","source","webview","originWhitelist","allowFileAccess","allowFileAccessFromFileURLs","allowUniversalAccessFromFileURLs","create","flex","width","backgroundColor","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/PdfView.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,aAAa,QAAQ,gCAAgC;AAC9D,SAASC,iBAAiB,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAClF,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,OAAO,KAAKC,UAAU,MAAM,yBAAyB;AACrD,OAAOC,YAAY,MAAM,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAM1C,MAAMC,SAAmC,GAAGA,CAAC;EAAEC;AAAO,CAAC,KAAK;EAC1D,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGjB,QAAQ,CAAgB,IAAI,CAAC;EAC7D,MAAM,CAACkB,KAAK,EAAEC,QAAQ,CAAC,GAAGnB,QAAQ,CAAgB,IAAI,CAAC;EACvD;EACA;EACA;EACA;EACA,MAAMoB,SAAS,GAAGjB,QAAQ,CAACkB,EAAE,KAAK,SAAS;EAE3CtB,SAAS,CAAC,MAAM;IACd,IAAIqB,SAAS,EAAE;MACb;IACF;IACA,IAAIE,SAAS,GAAG,KAAK;IACrB,MAAMC,GAAG,GAAG,MAAAA,CAAA,KAAY;MACtB,IAAI;QACF,
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","withFileToken","ActivityIndicator","Platform","StyleSheet","Text","View","WebView","FileSystem","GViewWebView","jsx","_jsx","jsxs","_jsxs","PdfViewer","pdfUrl","localUri","setLocalUri","error","setError","isAndroid","OS","cancelled","run","test","target","cacheDirectory","Date","now","result","downloadAsync","uri","e","console","log","message","url","style","styles","center","children","size","container","source","webview","originWhitelist","allowFileAccess","allowFileAccessFromFileURLs","allowUniversalAccessFromFileURLs","create","flex","width","backgroundColor","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/PdfView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useCallback, useEffect, useRef } from 'react';
|
|
4
|
-
import { BackHandler, Keyboard, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
5
|
-
import Animated, { interpolate, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
3
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { Animated, BackHandler, Keyboard, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
6
5
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
7
6
|
import { COMPLETE_DISTANCE, COMPLETE_VELOCITY, EDGE_WIDTH, LIST_DIM, POP, PUSH } from '../../MainComponents/RoomStack';
|
|
8
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
8
|
/**
|
|
10
9
|
* Full-screen modal layer with the same navigation feel as RoomStack: it
|
|
11
10
|
* slides in from the right, and a swipe from the left edge drags it back
|
|
12
|
-
* out over whatever is underneath (the room or the list).
|
|
11
|
+
* out over whatever is underneath (the room or the list). Like RoomStack it
|
|
12
|
+
* runs on RN's own `Animated`, one value driving every layer.
|
|
13
13
|
*/
|
|
14
14
|
export const SwipeBackLayer = ({
|
|
15
15
|
onClose,
|
|
@@ -18,29 +18,60 @@ export const SwipeBackLayer = ({
|
|
|
18
18
|
const {
|
|
19
19
|
width: windowWidth
|
|
20
20
|
} = useWindowDimensions();
|
|
21
|
-
const width =
|
|
22
|
-
const
|
|
23
|
-
|
|
21
|
+
const [width, setWidth] = useState(windowWidth);
|
|
22
|
+
const widthRef = useRef(width);
|
|
23
|
+
widthRef.current = width;
|
|
24
|
+
const x = useRef(new Animated.Value(windowWidth)).current;
|
|
25
|
+
const closing = useRef(false);
|
|
26
|
+
const slideTo = useCallback((toValue, config, done) => {
|
|
27
|
+
Animated.timing(x, {
|
|
28
|
+
toValue,
|
|
29
|
+
...config,
|
|
30
|
+
useNativeDriver: true
|
|
31
|
+
}).start(({
|
|
32
|
+
finished
|
|
33
|
+
}) => done?.(finished));
|
|
34
|
+
}, [x]);
|
|
24
35
|
useEffect(() => {
|
|
25
|
-
|
|
36
|
+
slideTo(0, PUSH);
|
|
26
37
|
}, []); // eslint-disable-line react-hooks/exhaustive-deps
|
|
27
38
|
|
|
28
39
|
const onCloseRef = useRef(onClose);
|
|
29
40
|
onCloseRef.current = onClose;
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
|
|
41
|
+
const [closeCount, setCloseCount] = useState(0);
|
|
42
|
+
const finish = useCallback(() => {
|
|
43
|
+
onCloseRef.current();
|
|
44
|
+
setCloseCount(count => count + 1);
|
|
45
|
+
}, []);
|
|
46
|
+
|
|
47
|
+
// `onClose` normally unmounts this layer. If it is still here afterwards
|
|
48
|
+
// (the modal did not close), slide the screen back rather than leave it
|
|
49
|
+
// parked off-screen.
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
if (closeCount === 0) {
|
|
33
52
|
return;
|
|
34
53
|
}
|
|
35
|
-
closing.
|
|
36
|
-
|
|
37
|
-
|
|
54
|
+
closing.current = false;
|
|
55
|
+
slideTo(0, POP);
|
|
56
|
+
}, [closeCount]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
57
|
+
|
|
58
|
+
const slideOut = useCallback(() => {
|
|
59
|
+
closing.current = true;
|
|
60
|
+
slideTo(widthRef.current, POP, finished => {
|
|
38
61
|
if (finished) {
|
|
39
|
-
|
|
62
|
+
finish();
|
|
63
|
+
} else {
|
|
64
|
+
closing.current = false;
|
|
40
65
|
}
|
|
41
66
|
});
|
|
42
|
-
}, [finish]);
|
|
43
|
-
|
|
67
|
+
}, [finish, slideTo]);
|
|
68
|
+
const close = useCallback(() => {
|
|
69
|
+
if (closing.current) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
Keyboard.dismiss();
|
|
73
|
+
slideOut();
|
|
74
|
+
}, [slideOut]);
|
|
44
75
|
useEffect(() => {
|
|
45
76
|
const sub = BackHandler.addEventListener('hardwareBackPress', () => {
|
|
46
77
|
close();
|
|
@@ -48,57 +79,58 @@ export const SwipeBackLayer = ({
|
|
|
48
79
|
});
|
|
49
80
|
return () => sub.remove();
|
|
50
81
|
}, [close]);
|
|
51
|
-
const
|
|
52
|
-
const swipeBack = Gesture.Pan().hitSlop({
|
|
82
|
+
const swipeBack = useMemo(() => Gesture.Pan().runOnJS(true).hitSlop({
|
|
53
83
|
left: 0,
|
|
54
84
|
width: EDGE_WIDTH
|
|
55
85
|
}).activeOffsetX(12).failOffsetY([-16, 16]).onStart(() => {
|
|
56
|
-
|
|
86
|
+
if (closing.current) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
Keyboard.dismiss();
|
|
90
|
+
x.stopAnimation();
|
|
57
91
|
}).onUpdate(e => {
|
|
58
|
-
if (closing.
|
|
92
|
+
if (closing.current) {
|
|
59
93
|
return;
|
|
60
94
|
}
|
|
61
|
-
x.
|
|
95
|
+
x.setValue(Math.min(Math.max(e.translationX, 0), widthRef.current));
|
|
62
96
|
}).onEnd(e => {
|
|
63
|
-
if (closing.
|
|
97
|
+
if (closing.current) {
|
|
64
98
|
return;
|
|
65
99
|
}
|
|
66
|
-
const complete =
|
|
100
|
+
const complete = e.translationX > widthRef.current * COMPLETE_DISTANCE || e.velocityX > COMPLETE_VELOCITY;
|
|
67
101
|
if (complete) {
|
|
68
|
-
|
|
69
|
-
x.value = withTiming(width.value, POP, finished => {
|
|
70
|
-
if (finished) {
|
|
71
|
-
runOnJS(finish)();
|
|
72
|
-
}
|
|
73
|
-
});
|
|
102
|
+
slideOut();
|
|
74
103
|
} else {
|
|
75
|
-
|
|
104
|
+
slideTo(0, POP);
|
|
76
105
|
}
|
|
77
|
-
});
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}));
|
|
83
|
-
const dimStyle = useAnimatedStyle(() => ({
|
|
84
|
-
opacity: interpolate(x.value, [0, width.value], [LIST_DIM, 0])
|
|
85
|
-
}));
|
|
106
|
+
}), [slideOut, slideTo, x]);
|
|
107
|
+
const dimOpacity = useMemo(() => x.interpolate({
|
|
108
|
+
inputRange: [0, width],
|
|
109
|
+
outputRange: [LIST_DIM, 0],
|
|
110
|
+
extrapolate: 'clamp'
|
|
111
|
+
}), [x, width]);
|
|
86
112
|
return /*#__PURE__*/_jsxs(View, {
|
|
87
113
|
pointerEvents: "box-none",
|
|
88
114
|
style: styles.host,
|
|
89
115
|
onLayout: e => {
|
|
90
116
|
const next = e.nativeEvent.layout.width;
|
|
91
|
-
if (next > 0) {
|
|
92
|
-
|
|
117
|
+
if (next > 0 && next !== widthRef.current) {
|
|
118
|
+
setWidth(next);
|
|
93
119
|
}
|
|
94
120
|
},
|
|
95
121
|
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
96
122
|
pointerEvents: "none",
|
|
97
|
-
style: [styles.fill, styles.dim,
|
|
123
|
+
style: [styles.fill, styles.dim, {
|
|
124
|
+
opacity: dimOpacity
|
|
125
|
+
}]
|
|
98
126
|
}), /*#__PURE__*/_jsx(GestureDetector, {
|
|
99
127
|
gesture: swipeBack,
|
|
100
128
|
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
101
|
-
style: [styles.fill, styles.screen,
|
|
129
|
+
style: [styles.fill, styles.screen, {
|
|
130
|
+
transform: [{
|
|
131
|
+
translateX: x
|
|
132
|
+
}]
|
|
133
|
+
}],
|
|
102
134
|
children: children(close)
|
|
103
135
|
})
|
|
104
136
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","Animated","BackHandler","Keyboard","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","COMPLETE_DISTANCE","COMPLETE_VELOCITY","EDGE_WIDTH","LIST_DIM","POP","PUSH","jsx","_jsx","jsxs","_jsxs","SwipeBackLayer","onClose","children","width","windowWidth","setWidth","widthRef","current","x","Value","closing","slideTo","toValue","config","done","timing","useNativeDriver","start","finished","onCloseRef","closeCount","setCloseCount","finish","count","slideOut","close","dismiss","sub","addEventListener","remove","swipeBack","Pan","runOnJS","hitSlop","left","activeOffsetX","failOffsetY","onStart","stopAnimation","onUpdate","e","setValue","Math","min","max","translationX","onEnd","complete","velocityX","dimOpacity","interpolate","inputRange","outputRange","extrapolate","pointerEvents","style","styles","host","onLayout","next","nativeEvent","layout","fill","dim","opacity","gesture","screen","transform","translateX","create","position","top","right","bottom","zIndex","overflow","backgroundColor","justifyContent","alignItems","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius"],"sourceRoot":"../../../../../src","sources":["components/Modals/Modal/SwipeBackLayer.tsx"],"mappings":"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","ignoreList":[]}
|