@ethora/chat-component-rn 26.8.6 → 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 +40 -0
- package/lib/commonjs/assets/icons.js +4 -2
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +28 -6
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +9 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.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/ReduxWrapper.js +5 -0
- package/lib/commonjs/components/MainComponents/ReduxWrapper.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/MessageBubble/BottomReplyContainer.js +2 -1
- package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/Message.js +66 -6
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +2 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.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/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 +32 -9
- 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/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 +53 -45
- 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/SendInput.js +4 -2
- package/lib/commonjs/components/styled/SendInput.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/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/persistCrypto.js +5 -0
- package/lib/commonjs/helpers/persistCrypto.js.map +1 -1
- package/lib/commonjs/helpers/secureKeyValue.js +20 -0
- package/lib/commonjs/helpers/secureKeyValue.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/useLogout.js +8 -0
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +71 -7
- package/lib/commonjs/hooks/useSendMessage.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/xmpp/handleStanzas.xmpp.js +40 -0
- package/lib/commonjs/networking/xmpp/handleStanzas.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 +6 -0
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/persistBackend.js +9 -12
- package/lib/commonjs/roomStore/persistBackend.js.map +1 -1
- package/lib/commonjs/roomStore/persistence.js +8 -1
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/assets/icons.js +3 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +29 -7
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +9 -1
- package/lib/module/components/MainComponents/ChatRoom.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/ReduxWrapper.js +5 -0
- package/lib/module/components/MainComponents/ReduxWrapper.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/MessageBubble/BottomReplyContainer.js +2 -1
- package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
- package/lib/module/components/MessageBubble/Message.js +69 -9
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +2 -1
- package/lib/module/components/MessageBubble/MessageInteractions.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/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 +32 -9
- 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/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 +54 -46
- 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/SendInput.js +4 -2
- package/lib/module/components/styled/SendInput.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/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/persistCrypto.js +4 -0
- package/lib/module/helpers/persistCrypto.js.map +1 -1
- package/lib/module/helpers/secureKeyValue.js +19 -0
- package/lib/module/helpers/secureKeyValue.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/useLogout.js +8 -0
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +71 -7
- package/lib/module/hooks/useSendMessage.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/xmpp/handleStanzas.xmpp.js +38 -0
- package/lib/module/networking/xmpp/handleStanzas.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 +6 -0
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/persistBackend.js +10 -13
- package/lib/module/roomStore/persistBackend.js.map +1 -1
- package/lib/module/roomStore/persistence.js +8 -1
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/version.js +1 -1
- 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/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/ReduxWrapper.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/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/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/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.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/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.map +1 -1
- package/lib/typescript/components/UsersList/UsersList.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/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/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/persistCrypto.d.ts +1 -0
- package/lib/typescript/helpers/persistCrypto.d.ts.map +1 -1
- package/lib/typescript/helpers/secureKeyValue.d.ts +4 -0
- package/lib/typescript/helpers/secureKeyValue.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/useLogout.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/xmpp/handleStanzas.xmpp.d.ts +1 -0
- package/lib/typescript/networking/xmpp/handleStanzas.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.map +1 -1
- package/lib/typescript/roomStore/persistBackend.d.ts.map +1 -1
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/types/models/message.model.d.ts +5 -0
- package/lib/typescript/types/models/message.model.d.ts.map +1 -1
- package/lib/typescript/types/models/room.model.d.ts +5 -0
- package/lib/typescript/types/models/room.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +4 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +8 -4
- package/src/assets/icons.tsx +27 -0
- package/src/components/MainComponents/ChatHeader.tsx +30 -9
- package/src/components/MainComponents/ChatRoom.tsx +11 -1
- 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/ReduxWrapper.tsx +5 -0
- package/src/components/MainComponents/SealedAttachment.tsx +251 -0
- package/src/components/MessageBubble/BottomReplyContainer.tsx +2 -1
- package/src/components/MessageBubble/Message.tsx +96 -6
- package/src/components/MessageBubble/MessageInteractions.tsx +2 -3
- 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/UserProfileModal/UserProfileModal.tsx +53 -8
- package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +5 -0
- package/src/components/RoomComponents/ChatRoomItem.tsx +23 -11
- package/src/components/RoomComponents/LastMessageItem.tsx +5 -0
- package/src/components/RoomComponents/styled/LastAudioMessage.tsx +3 -1
- 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 +13 -0
- package/src/components/UsersList/UsersList.tsx +2 -1
- package/src/components/styled/SendInput.tsx +5 -2
- 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/createUserNameFromSetUser.ts +2 -1
- package/src/helpers/displayName.ts +9 -0
- package/src/helpers/persistCrypto.ts +5 -0
- package/src/helpers/secureKeyValue.ts +15 -0
- package/src/helpers/videoCache.ts +138 -0
- package/src/hooks/useLogout.tsx +9 -0
- package/src/hooks/useSendMessage.tsx +71 -5
- 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/xmpp/handleStanzas.xmpp.ts +49 -0
- 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 +6 -0
- package/src/roomStore/persistBackend.ts +8 -11
- package/src/roomStore/persistence.ts +15 -0
- package/src/types/models/message.model.ts +5 -0
- package/src/types/models/room.model.ts +5 -0
- package/src/types/types.ts +4 -0
- package/src/version.ts +1 -1
|
@@ -12,6 +12,8 @@ import { enqueueOutboundSend, removeOutboundSend } from '../networking/outboundQ
|
|
|
12
12
|
import { store } from '../roomStore';
|
|
13
13
|
import { getGlobalXmppClient } from '../utils/clientRegistry';
|
|
14
14
|
import { useEventHandlers } from './useEventHandlers';
|
|
15
|
+
import { canEditMessage, canSendMediaToRoom, canSendToRoom } from '../e2ee';
|
|
16
|
+
import { shouldEncrypt } from '../e2ee/send';
|
|
15
17
|
// Watchdog: if a message stays "pending" (no server echo) for this
|
|
16
18
|
// long after the optimistic dispatch, mark it failed so the bubble
|
|
17
19
|
// flips out of the "sending..." state. Covers the silent-failure
|
|
@@ -79,6 +81,14 @@ export const useSendMessage = _configOverride => {
|
|
|
79
81
|
} = useEventHandlers(config);
|
|
80
82
|
const sendMessage = useCallback(async (message, activeRoomJID, isReply, isChecked, mainMessage, existingId) => {
|
|
81
83
|
if (editAction?.isEdit) {
|
|
84
|
+
const edited = reduxStore.getState().rooms?.rooms?.[editAction.roomJid]?.messages?.find(m => m.id === editAction.messageId);
|
|
85
|
+
if (edited && !canEditMessage(edited)) {
|
|
86
|
+
console.warn('edit not sent: the message was encrypted');
|
|
87
|
+
dispatch(setEditAction({
|
|
88
|
+
isEdit: false
|
|
89
|
+
}));
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
82
92
|
try {
|
|
83
93
|
client?.editMessageStanza(editAction.roomJid, editAction.messageId, message);
|
|
84
94
|
handleMessageEdited({
|
|
@@ -100,6 +110,10 @@ export const useSendMessage = _configOverride => {
|
|
|
100
110
|
}));
|
|
101
111
|
return;
|
|
102
112
|
}
|
|
113
|
+
if (!canSendToRoom(activeRoomJID)) {
|
|
114
|
+
console.warn('message not sent: room is end-to-end encrypted');
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
103
117
|
|
|
104
118
|
// Critical-send hint to the QoS scheduler.
|
|
105
119
|
client?.onCriticalSend?.(activeRoomJID);
|
|
@@ -279,6 +293,10 @@ export const useSendMessage = _configOverride => {
|
|
|
279
293
|
}
|
|
280
294
|
}, [editAction, client, user, langSource, dispatch, handleMessageSent, handleMessageEdited, handleMessageFailed, reduxStore]);
|
|
281
295
|
const sendMedia = useCallback(async (data, type, activeRoomJID, isReply = false, isChecked = false, mainMessage = '', existingId) => {
|
|
296
|
+
if (!canSendMediaToRoom(activeRoomJID)) {
|
|
297
|
+
console.warn('media not sent: room is end-to-end encrypted');
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
282
300
|
client?.onCriticalSend?.(activeRoomJID);
|
|
283
301
|
|
|
284
302
|
// Defensive 50 MB guard on every send path (SendInput blocks it at
|
|
@@ -408,20 +426,40 @@ export const useSendMessage = _configOverride => {
|
|
|
408
426
|
type: data?.type || data?.mimeType || type || 'application/octet-stream',
|
|
409
427
|
name: data?.name || data?.fileName || `media_${Date.now()}`
|
|
410
428
|
};
|
|
429
|
+
let sealed;
|
|
411
430
|
const tryUpload = async () => {
|
|
431
|
+
if (shouldEncrypt(activeRoomJID) && !sealed) {
|
|
432
|
+
const {
|
|
433
|
+
sealPickedFile
|
|
434
|
+
} = require('../e2ee/sealedFiles');
|
|
435
|
+
sealed = await sealPickedFile({
|
|
436
|
+
uri: fileBlob.uri,
|
|
437
|
+
name: fileBlob.name,
|
|
438
|
+
type: fileBlob.type,
|
|
439
|
+
size: typeof data?.size === 'number' ? data.size : undefined
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
const part = sealed ? {
|
|
443
|
+
uri: sealed.uri,
|
|
444
|
+
type: 'application/octet-stream',
|
|
445
|
+
name: sealed.name
|
|
446
|
+
} : fileBlob;
|
|
447
|
+
const options = {
|
|
448
|
+
clientEncrypted: !!sealed
|
|
449
|
+
};
|
|
412
450
|
const fd = new FormData();
|
|
413
|
-
fd.append('files',
|
|
451
|
+
fd.append('files', part);
|
|
414
452
|
try {
|
|
415
|
-
return await uploadFileV2(fd, activeRoomJID);
|
|
453
|
+
return await uploadFileV2(fd, activeRoomJID, options);
|
|
416
454
|
} catch (err) {
|
|
417
455
|
if (err?.response?.status === 500) {
|
|
418
456
|
console.warn('upload "files" field returned 500 — retrying with "file" (singular)', {
|
|
419
|
-
name:
|
|
420
|
-
type:
|
|
457
|
+
name: part.name,
|
|
458
|
+
type: part.type
|
|
421
459
|
});
|
|
422
460
|
const fd2 = new FormData();
|
|
423
|
-
fd2.append('file',
|
|
424
|
-
return await uploadFileV2(fd2, activeRoomJID);
|
|
461
|
+
fd2.append('file', part);
|
|
462
|
+
return await uploadFileV2(fd2, activeRoomJID, options);
|
|
425
463
|
}
|
|
426
464
|
throw err;
|
|
427
465
|
}
|
|
@@ -459,8 +497,25 @@ export const useSendMessage = _configOverride => {
|
|
|
459
497
|
isReply,
|
|
460
498
|
mainMessage,
|
|
461
499
|
isPrivate: item?.isPrivate,
|
|
462
|
-
__v: item.__v
|
|
500
|
+
__v: item.__v,
|
|
501
|
+
e2eeKeys: sealed ? [sealed.keyMaterial] : undefined
|
|
463
502
|
};
|
|
503
|
+
if (sealed) {
|
|
504
|
+
try {
|
|
505
|
+
const {
|
|
506
|
+
rememberOpened
|
|
507
|
+
} = require('../e2ee/sealedFiles');
|
|
508
|
+
await rememberOpened(item.location, {
|
|
509
|
+
uri: fileBlob.uri,
|
|
510
|
+
name: fileBlob.name,
|
|
511
|
+
type: fileBlob.type,
|
|
512
|
+
size: typeof data?.size === 'number' ? data.size : undefined
|
|
513
|
+
});
|
|
514
|
+
} catch (err) {
|
|
515
|
+
console.warn('could not keep the sent attachment', err);
|
|
516
|
+
}
|
|
517
|
+
sealed.dispose();
|
|
518
|
+
}
|
|
464
519
|
// Stanza id == placeholder id so the MUC echo's outer
|
|
465
520
|
// <message id="..."> matches xmppId on the placeholder and
|
|
466
521
|
// insertMessageWithDelimiter merges in place + flips pending.
|
|
@@ -510,6 +565,7 @@ export const useSendMessage = _configOverride => {
|
|
|
510
565
|
// Upload (or stanza send) threw an explicit error. Clear the
|
|
511
566
|
// watchdog so it doesn't double-fire `markMessageFailed`.
|
|
512
567
|
clearTimeout(mediaWatchdog);
|
|
568
|
+
sealed?.dispose();
|
|
513
569
|
// Surface the real server payload so we can see why the upload
|
|
514
570
|
// was rejected (axios collapses the message to "Request failed
|
|
515
571
|
// with status code N"; the actual reason lives in
|
|
@@ -595,6 +651,14 @@ export const useSendMessage = _configOverride => {
|
|
|
595
651
|
if (!editAction?.isEdit || !editAction.roomJid || !editAction.messageId) {
|
|
596
652
|
return;
|
|
597
653
|
}
|
|
654
|
+
const edited = reduxStore.getState().rooms?.rooms?.[editAction.roomJid]?.messages?.find(m => m.id === editAction.messageId);
|
|
655
|
+
if (edited && !canEditMessage(edited)) {
|
|
656
|
+
console.warn('edit not sent: the message was encrypted');
|
|
657
|
+
dispatch(setEditAction({
|
|
658
|
+
isEdit: false
|
|
659
|
+
}));
|
|
660
|
+
return;
|
|
661
|
+
}
|
|
598
662
|
try {
|
|
599
663
|
client?.editMessageStanza(editAction.roomJid, editAction.messageId, message);
|
|
600
664
|
handleMessageEdited({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","Platform","v4","uuidv4","useXmppClient","useDispatch","useSelector","useStore","addRoomMessage","setEditAction","addMessageToHeap","clearMessageFailure","markMessageFailed","uploadFileV2","enqueueOutboundSend","removeOutboundSend","store","getGlobalXmppClient","useEventHandlers","PENDING_WATCHDOG_MS","MEDIA_PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","dispatch","reduxStore","user","state","chatSettingStore","config","langSource","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","sendMessage","message","activeRoomJID","isReply","isChecked","mainMessage","existingId","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","showInChannel","name","firstName","lastName","trim","disableSentLogic","watchdogExtended","runWatchdog","getState","roomMsgs","messages","stillPending","find","m","alreadyFailed","roomHeapSlice","failedMessages","streamOnline","status","console","warn","watchdogTimer","setTimeout","kind","Error","replaySend","c","sendTextMessageWithTranslateTagStanza","enqueuedAt","send","effectiveClient","anyClient","forceReconnect","ensureStreamAlive","clearTimeout","sendMedia","data","type","size","optimisticTimestamp","displayName","fileSizeStr","String","normalizedFileUri","uri","replace","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","mediaWatchdog","fileBlob","mimeType","tryUpload","fd","FormData","append","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","effectiveMediaClient","setActiveRoomJid","Promise","resolve","prioritizeRoomPresence","catch","sendMediaMessageStanza","anyMediaClient","ttlMs","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","OS","platformVersion","Version","retryMessage","failedId","payload","alreadyDelivered","some","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","Platform","v4","uuidv4","useXmppClient","useDispatch","useSelector","useStore","addRoomMessage","setEditAction","addMessageToHeap","clearMessageFailure","markMessageFailed","uploadFileV2","enqueueOutboundSend","removeOutboundSend","store","getGlobalXmppClient","useEventHandlers","canEditMessage","canSendMediaToRoom","canSendToRoom","shouldEncrypt","PENDING_WATCHDOG_MS","MEDIA_PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","dispatch","reduxStore","user","state","chatSettingStore","config","langSource","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","sendMessage","message","activeRoomJID","isReply","isChecked","mainMessage","existingId","isEdit","edited","getState","roomJid","messages","find","m","id","messageId","console","warn","editMessageStanza","newMessage","roomJID","error","messageType","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","xmppId","body","date","pending","isDeleted","showInChannel","name","firstName","lastName","trim","disableSentLogic","watchdogExtended","runWatchdog","roomMsgs","stillPending","alreadyFailed","roomHeapSlice","failedMessages","streamOnline","status","watchdogTimer","setTimeout","kind","Error","replaySend","c","sendTextMessageWithTranslateTagStanza","enqueuedAt","send","effectiveClient","anyClient","forceReconnect","ensureStreamAlive","clearTimeout","sendMedia","data","type","size","optimisticTimestamp","displayName","fileSizeStr","String","normalizedFileUri","uri","replace","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","mediaWatchdog","fileBlob","mimeType","sealed","tryUpload","sealPickedFile","require","undefined","part","options","clientEncrypted","fd","FormData","append","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","e2eeKeys","keyMaterial","rememberOpened","dispose","effectiveMediaClient","setActiveRoomJid","Promise","resolve","prioritizeRoomPresence","catch","sendMediaMessageStanza","anyMediaClient","ttlMs","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","OS","platformVersion","Version","retryMessage","failedId","payload","alreadyDelivered","some","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,6 +25,35 @@ const en = {
|
|
|
25
25
|
'date.yesterday': 'Yesterday',
|
|
26
26
|
'message.deleted': 'Message deleted',
|
|
27
27
|
'message.edited': 'edited',
|
|
28
|
+
'e2ee.roomEncrypted': 'End-to-end encrypted',
|
|
29
|
+
'e2ee.notEncrypted': 'Not encrypted',
|
|
30
|
+
'e2ee.notEncryptedHint': 'Sent without end-to-end encryption, because no recipient has published a key yet.',
|
|
31
|
+
'e2ee.devices.title': 'End-to-end encryption',
|
|
32
|
+
'e2ee.devices.thisDevice': 'This device',
|
|
33
|
+
'e2ee.devices.otherDevices': 'Other devices',
|
|
34
|
+
'e2ee.devices.none': 'Has not opened an encrypted chat yet',
|
|
35
|
+
'e2ee.devices.noneOwn': 'No other devices',
|
|
36
|
+
'e2ee.devices.unavailable': 'Encryption is not running on this device right now',
|
|
37
|
+
'e2ee.devices.loading': 'Loading devices…',
|
|
38
|
+
'e2ee.devices.hint': "Compare a fingerprint with the one shown on the other person's device. Mark it verified only if they match.",
|
|
39
|
+
'e2ee.trust.verified': 'Verified',
|
|
40
|
+
'e2ee.trust.blind': 'Not verified',
|
|
41
|
+
'e2ee.trust.untrusted': 'Not trusted',
|
|
42
|
+
'e2ee.trust.verify': 'Mark as verified',
|
|
43
|
+
'e2ee.trust.distrust': 'Stop trusting',
|
|
44
|
+
'e2ee.trust.reset': 'Clear the mark',
|
|
45
|
+
'e2ee.trust.prompt': 'Device {id}',
|
|
46
|
+
'e2ee.devices.copied': 'Fingerprint copied',
|
|
47
|
+
'e2ee.unsupportedMessage': "Encrypted message. This version of the app can't read it yet.",
|
|
48
|
+
'e2ee.otherDevice': 'Encrypted for another device',
|
|
49
|
+
'e2ee.undecryptable': 'Could not decrypt this message',
|
|
50
|
+
'e2ee.sendUnavailable': "This chat is end-to-end encrypted. Sending from the mobile app isn't available yet.",
|
|
51
|
+
'media.sealedFile': 'Encrypted file',
|
|
52
|
+
'media.sealedUnsupported': "Can't be opened in this version of the app yet",
|
|
53
|
+
'media.sealedUnavailable': 'Encrypted attachment could not be opened',
|
|
54
|
+
'media.sealedDownload': 'Download and decrypt',
|
|
55
|
+
'media.sealedDownloading': 'Decrypting…',
|
|
56
|
+
'media.sealedDownloadFailed': 'Download failed — tap to retry',
|
|
28
57
|
'message.newMessages': 'New messages',
|
|
29
58
|
'notification.senderFallback': 'New message',
|
|
30
59
|
'presence.online': 'online',
|
|
@@ -169,6 +198,7 @@ const en = {
|
|
|
169
198
|
'field.referralCode': 'Your referral code',
|
|
170
199
|
'action.logOut': 'Log Out',
|
|
171
200
|
'action.message': 'Message',
|
|
201
|
+
'action.encryptedMessage': 'Encrypted message',
|
|
172
202
|
'action.videoCall': 'Video call',
|
|
173
203
|
'action.call': 'Call',
|
|
174
204
|
'action.audioCall': 'Audio call',
|
|
@@ -282,6 +312,35 @@ const fr = {
|
|
|
282
312
|
'date.yesterday': 'Hier',
|
|
283
313
|
'message.deleted': 'Message supprimé',
|
|
284
314
|
'message.edited': 'modifié',
|
|
315
|
+
'e2ee.roomEncrypted': 'Chiffré de bout en bout',
|
|
316
|
+
'e2ee.notEncrypted': 'Non chiffré',
|
|
317
|
+
'e2ee.notEncryptedHint': "Envoyé sans chiffrement de bout en bout, car aucun destinataire n'a encore publié de clé.",
|
|
318
|
+
'e2ee.devices.title': 'Chiffrement de bout en bout',
|
|
319
|
+
'e2ee.devices.thisDevice': 'Cet appareil',
|
|
320
|
+
'e2ee.devices.otherDevices': 'Autres appareils',
|
|
321
|
+
'e2ee.devices.none': "N'a pas encore ouvert de discussion chiffrée",
|
|
322
|
+
'e2ee.devices.noneOwn': 'Aucun autre appareil',
|
|
323
|
+
'e2ee.devices.unavailable': "Le chiffrement n'est pas actif sur cet appareil pour le moment",
|
|
324
|
+
'e2ee.devices.loading': 'Chargement des appareils…',
|
|
325
|
+
'e2ee.devices.hint': "Comparez une empreinte avec celle affichée sur l'appareil de l'autre personne. Ne la marquez comme vérifiée que si elles correspondent.",
|
|
326
|
+
'e2ee.trust.verified': 'Vérifié',
|
|
327
|
+
'e2ee.trust.blind': 'Non vérifié',
|
|
328
|
+
'e2ee.trust.untrusted': 'Non fiable',
|
|
329
|
+
'e2ee.trust.verify': 'Marquer comme vérifié',
|
|
330
|
+
'e2ee.trust.distrust': 'Ne plus faire confiance',
|
|
331
|
+
'e2ee.trust.reset': 'Effacer la marque',
|
|
332
|
+
'e2ee.trust.prompt': 'Appareil {id}',
|
|
333
|
+
'e2ee.devices.copied': 'Empreinte copiée',
|
|
334
|
+
'e2ee.unsupportedMessage': "Message chiffré. Cette version de l'application ne peut pas encore le lire.",
|
|
335
|
+
'e2ee.otherDevice': 'Chiffré pour un autre appareil',
|
|
336
|
+
'e2ee.undecryptable': 'Impossible de déchiffrer ce message',
|
|
337
|
+
'e2ee.sendUnavailable': "Cette discussion est chiffrée de bout en bout. L'envoi depuis l'application mobile n'est pas encore disponible.",
|
|
338
|
+
'media.sealedFile': 'Fichier chiffré',
|
|
339
|
+
'media.sealedUnsupported': "Ne peut pas encore être ouvert dans cette version de l'application",
|
|
340
|
+
'media.sealedUnavailable': "La pièce jointe chiffrée n'a pas pu être ouverte",
|
|
341
|
+
'media.sealedDownload': 'Télécharger et déchiffrer',
|
|
342
|
+
'media.sealedDownloading': 'Déchiffrement…',
|
|
343
|
+
'media.sealedDownloadFailed': 'Échec du téléchargement — appuyez pour réessayer',
|
|
285
344
|
'message.newMessages': 'Nouveaux messages',
|
|
286
345
|
'notification.senderFallback': 'Nouveau message',
|
|
287
346
|
'presence.online': 'en ligne',
|
|
@@ -426,6 +485,7 @@ const fr = {
|
|
|
426
485
|
'field.referralCode': 'Votre code de parrainage',
|
|
427
486
|
'action.logOut': 'Déconnexion',
|
|
428
487
|
'action.message': 'Message',
|
|
488
|
+
'action.encryptedMessage': 'Message chiffré',
|
|
429
489
|
'action.videoCall': 'Appel vidéo',
|
|
430
490
|
'action.call': 'Appeler',
|
|
431
491
|
'action.audioCall': 'Appel audio',
|
|
@@ -539,6 +599,35 @@ const es = {
|
|
|
539
599
|
'date.yesterday': 'Ayer',
|
|
540
600
|
'message.deleted': 'Mensaje eliminado',
|
|
541
601
|
'message.edited': 'editado',
|
|
602
|
+
'e2ee.roomEncrypted': 'Cifrado de extremo a extremo',
|
|
603
|
+
'e2ee.notEncrypted': 'Sin cifrar',
|
|
604
|
+
'e2ee.notEncryptedHint': 'Enviado sin cifrado de extremo a extremo, porque ningún destinatario ha publicado una clave todavía.',
|
|
605
|
+
'e2ee.devices.title': 'Cifrado de extremo a extremo',
|
|
606
|
+
'e2ee.devices.thisDevice': 'Este dispositivo',
|
|
607
|
+
'e2ee.devices.otherDevices': 'Otros dispositivos',
|
|
608
|
+
'e2ee.devices.none': 'Aún no ha abierto un chat cifrado',
|
|
609
|
+
'e2ee.devices.noneOwn': 'No hay otros dispositivos',
|
|
610
|
+
'e2ee.devices.unavailable': 'El cifrado no está activo en este dispositivo en este momento',
|
|
611
|
+
'e2ee.devices.loading': 'Cargando dispositivos…',
|
|
612
|
+
'e2ee.devices.hint': 'Compara una huella con la que aparece en el dispositivo de la otra persona. Márcala como verificada solo si coinciden.',
|
|
613
|
+
'e2ee.trust.verified': 'Verificado',
|
|
614
|
+
'e2ee.trust.blind': 'Sin verificar',
|
|
615
|
+
'e2ee.trust.untrusted': 'No fiable',
|
|
616
|
+
'e2ee.trust.verify': 'Marcar como verificado',
|
|
617
|
+
'e2ee.trust.distrust': 'Dejar de confiar',
|
|
618
|
+
'e2ee.trust.reset': 'Quitar la marca',
|
|
619
|
+
'e2ee.trust.prompt': 'Dispositivo {id}',
|
|
620
|
+
'e2ee.devices.copied': 'Huella copiada',
|
|
621
|
+
'e2ee.unsupportedMessage': 'Mensaje cifrado. Esta versión de la aplicación aún no puede leerlo.',
|
|
622
|
+
'e2ee.otherDevice': 'Cifrado para otro dispositivo',
|
|
623
|
+
'e2ee.undecryptable': 'No se pudo descifrar este mensaje',
|
|
624
|
+
'e2ee.sendUnavailable': 'Este chat está cifrado de extremo a extremo. El envío desde la aplicación móvil aún no está disponible.',
|
|
625
|
+
'media.sealedFile': 'Archivo cifrado',
|
|
626
|
+
'media.sealedUnsupported': 'Aún no se puede abrir en esta versión de la aplicación',
|
|
627
|
+
'media.sealedUnavailable': 'No se pudo abrir el archivo adjunto cifrado',
|
|
628
|
+
'media.sealedDownload': 'Descargar y descifrar',
|
|
629
|
+
'media.sealedDownloading': 'Descifrando…',
|
|
630
|
+
'media.sealedDownloadFailed': 'Error de descarga: toca para reintentar',
|
|
542
631
|
'message.newMessages': 'Nuevos mensajes',
|
|
543
632
|
'notification.senderFallback': 'Nuevo mensaje',
|
|
544
633
|
'presence.online': 'en línea',
|
|
@@ -683,6 +772,7 @@ const es = {
|
|
|
683
772
|
'field.referralCode': 'Tu código de referido',
|
|
684
773
|
'action.logOut': 'Cerrar sesión',
|
|
685
774
|
'action.message': 'Mensaje',
|
|
775
|
+
'action.encryptedMessage': 'Mensaje cifrado',
|
|
686
776
|
'action.videoCall': 'Videollamada',
|
|
687
777
|
'action.call': 'Llamar',
|
|
688
778
|
'action.audioCall': 'Llamada de audio',
|
|
@@ -796,6 +886,35 @@ const pt = {
|
|
|
796
886
|
'date.yesterday': 'Ontem',
|
|
797
887
|
'message.deleted': 'Mensagem eliminada',
|
|
798
888
|
'message.edited': 'editado',
|
|
889
|
+
'e2ee.roomEncrypted': 'Criptografado de ponta a ponta',
|
|
890
|
+
'e2ee.notEncrypted': 'Sem criptografia',
|
|
891
|
+
'e2ee.notEncryptedHint': 'Enviado sem criptografia de ponta a ponta, porque nenhum destinatário publicou uma chave ainda.',
|
|
892
|
+
'e2ee.devices.title': 'Criptografia de ponta a ponta',
|
|
893
|
+
'e2ee.devices.thisDevice': 'Este dispositivo',
|
|
894
|
+
'e2ee.devices.otherDevices': 'Outros dispositivos',
|
|
895
|
+
'e2ee.devices.none': 'Ainda não abriu uma conversa criptografada',
|
|
896
|
+
'e2ee.devices.noneOwn': 'Nenhum outro dispositivo',
|
|
897
|
+
'e2ee.devices.unavailable': 'A criptografia não está ativa neste dispositivo no momento',
|
|
898
|
+
'e2ee.devices.loading': 'Carregando dispositivos…',
|
|
899
|
+
'e2ee.devices.hint': 'Compare uma impressão digital com a exibida no dispositivo da outra pessoa. Marque como verificada somente se coincidirem.',
|
|
900
|
+
'e2ee.trust.verified': 'Verificado',
|
|
901
|
+
'e2ee.trust.blind': 'Não verificado',
|
|
902
|
+
'e2ee.trust.untrusted': 'Não confiável',
|
|
903
|
+
'e2ee.trust.verify': 'Marcar como verificado',
|
|
904
|
+
'e2ee.trust.distrust': 'Deixar de confiar',
|
|
905
|
+
'e2ee.trust.reset': 'Remover a marca',
|
|
906
|
+
'e2ee.trust.prompt': 'Dispositivo {id}',
|
|
907
|
+
'e2ee.devices.copied': 'Impressão digital copiada',
|
|
908
|
+
'e2ee.unsupportedMessage': 'Mensagem criptografada. Esta versão do aplicativo ainda não consegue lê-la.',
|
|
909
|
+
'e2ee.otherDevice': 'Criptografado para outro dispositivo',
|
|
910
|
+
'e2ee.undecryptable': 'Não foi possível descriptografar esta mensagem',
|
|
911
|
+
'e2ee.sendUnavailable': 'Esta conversa é criptografada de ponta a ponta. O envio pelo aplicativo móvel ainda não está disponível.',
|
|
912
|
+
'media.sealedFile': 'Arquivo criptografado',
|
|
913
|
+
'media.sealedUnsupported': 'Ainda não pode ser aberto nesta versão do aplicativo',
|
|
914
|
+
'media.sealedUnavailable': 'Não foi possível abrir o anexo criptografado',
|
|
915
|
+
'media.sealedDownload': 'Baixar e descriptografar',
|
|
916
|
+
'media.sealedDownloading': 'Descriptografando…',
|
|
917
|
+
'media.sealedDownloadFailed': 'Falha no download — toque para tentar novamente',
|
|
799
918
|
'message.newMessages': 'Novas mensagens',
|
|
800
919
|
'notification.senderFallback': 'Nova mensagem',
|
|
801
920
|
'presence.online': 'online',
|
|
@@ -940,6 +1059,7 @@ const pt = {
|
|
|
940
1059
|
'field.referralCode': 'O seu código de referência',
|
|
941
1060
|
'action.logOut': 'Terminar sessão',
|
|
942
1061
|
'action.message': 'Mensagem',
|
|
1062
|
+
'action.encryptedMessage': 'Mensagem criptografada',
|
|
943
1063
|
'action.videoCall': 'Videochamada',
|
|
944
1064
|
'action.call': 'Ligar',
|
|
945
1065
|
'action.audioCall': 'Chamada de áudio',
|
|
@@ -1053,6 +1173,35 @@ const ht = {
|
|
|
1053
1173
|
'date.yesterday': 'Yè',
|
|
1054
1174
|
'message.deleted': 'Mesaj efase',
|
|
1055
1175
|
'message.edited': 'modifye',
|
|
1176
|
+
'e2ee.roomEncrypted': 'Chifre bout-a-bout',
|
|
1177
|
+
'e2ee.notEncrypted': 'Pa chifre',
|
|
1178
|
+
'e2ee.notEncryptedHint': 'Voye san chifraj bout-a-bout, paske okenn moun ki resevwa a poko pibliye yon kle.',
|
|
1179
|
+
'e2ee.devices.title': 'Chifraj bout-a-bout',
|
|
1180
|
+
'e2ee.devices.thisDevice': 'Aparèy sa a',
|
|
1181
|
+
'e2ee.devices.otherDevices': 'Lòt aparèy',
|
|
1182
|
+
'e2ee.devices.none': 'Poko louvri yon chat chifre',
|
|
1183
|
+
'e2ee.devices.noneOwn': 'Pa gen lòt aparèy',
|
|
1184
|
+
'e2ee.devices.unavailable': 'Chifraj la pa aktif sou aparèy sa a kounye a',
|
|
1185
|
+
'e2ee.devices.loading': 'Ap chaje aparèy yo…',
|
|
1186
|
+
'e2ee.devices.hint': 'Konpare yon anprent ak sa ki parèt sou aparèy lòt moun nan. Make li kòm verifye sèlman si yo menm.',
|
|
1187
|
+
'e2ee.trust.verified': 'Verifye',
|
|
1188
|
+
'e2ee.trust.blind': 'Pa verifye',
|
|
1189
|
+
'e2ee.trust.untrusted': 'Pa fè konfyans',
|
|
1190
|
+
'e2ee.trust.verify': 'Make kòm verifye',
|
|
1191
|
+
'e2ee.trust.distrust': 'Sispann fè konfyans',
|
|
1192
|
+
'e2ee.trust.reset': 'Retire mak la',
|
|
1193
|
+
'e2ee.trust.prompt': 'Aparèy {id}',
|
|
1194
|
+
'e2ee.devices.copied': 'Anprent kopye',
|
|
1195
|
+
'e2ee.unsupportedMessage': 'Mesaj chifre. Vèsyon aplikasyon sa a poko ka li li.',
|
|
1196
|
+
'e2ee.otherDevice': 'Chifre pou yon lòt aparèy',
|
|
1197
|
+
'e2ee.undecryptable': 'Nou pa t kapab dechifre mesaj sa a',
|
|
1198
|
+
'e2ee.sendUnavailable': 'Chat sa a chifre bout-a-bout. Voye mesaj depi aplikasyon mobil la poko disponib.',
|
|
1199
|
+
'media.sealedFile': 'Fichye chifre',
|
|
1200
|
+
'media.sealedUnsupported': 'Poko ka louvri nan vèsyon aplikasyon sa a',
|
|
1201
|
+
'media.sealedUnavailable': 'Nou pa t kapab louvri atachman chifre a',
|
|
1202
|
+
'media.sealedDownload': 'Telechaje epi dechifre',
|
|
1203
|
+
'media.sealedDownloading': 'Ap dechifre…',
|
|
1204
|
+
'media.sealedDownloadFailed': 'Telechajman echwe — peze pou reeseye',
|
|
1056
1205
|
'message.newMessages': 'Nouvo mesaj yo',
|
|
1057
1206
|
'notification.senderFallback': 'Nouvo mesaj',
|
|
1058
1207
|
'presence.online': 'an liy',
|
|
@@ -1197,6 +1346,7 @@ const ht = {
|
|
|
1197
1346
|
'field.referralCode': 'Kòd referans ou',
|
|
1198
1347
|
'action.logOut': 'Dekonekte',
|
|
1199
1348
|
'action.message': 'Mesaj',
|
|
1349
|
+
'action.encryptedMessage': 'Mesaj chifre',
|
|
1200
1350
|
'action.videoCall': 'Apèl videyo',
|
|
1201
1351
|
'action.call': 'Rele',
|
|
1202
1352
|
'action.audioCall': 'Apèl odyo',
|
|
@@ -1310,6 +1460,35 @@ const zh = {
|
|
|
1310
1460
|
'date.yesterday': '昨天',
|
|
1311
1461
|
'message.deleted': '消息已删除',
|
|
1312
1462
|
'message.edited': '已编辑',
|
|
1463
|
+
'e2ee.roomEncrypted': '端到端加密',
|
|
1464
|
+
'e2ee.notEncrypted': '未加密',
|
|
1465
|
+
'e2ee.notEncryptedHint': '未使用端到端加密发送,因为还没有收件人发布密钥。',
|
|
1466
|
+
'e2ee.devices.title': '端到端加密',
|
|
1467
|
+
'e2ee.devices.thisDevice': '此设备',
|
|
1468
|
+
'e2ee.devices.otherDevices': '其他设备',
|
|
1469
|
+
'e2ee.devices.none': '尚未打开过加密聊天',
|
|
1470
|
+
'e2ee.devices.noneOwn': '没有其他设备',
|
|
1471
|
+
'e2ee.devices.unavailable': '此设备上的加密当前未运行',
|
|
1472
|
+
'e2ee.devices.loading': '正在加载设备…',
|
|
1473
|
+
'e2ee.devices.hint': '将指纹与对方设备上显示的指纹进行比较。仅在两者一致时才标记为已验证。',
|
|
1474
|
+
'e2ee.trust.verified': '已验证',
|
|
1475
|
+
'e2ee.trust.blind': '未验证',
|
|
1476
|
+
'e2ee.trust.untrusted': '不受信任',
|
|
1477
|
+
'e2ee.trust.verify': '标记为已验证',
|
|
1478
|
+
'e2ee.trust.distrust': '停止信任',
|
|
1479
|
+
'e2ee.trust.reset': '清除标记',
|
|
1480
|
+
'e2ee.trust.prompt': '设备 {id}',
|
|
1481
|
+
'e2ee.devices.copied': '指纹已复制',
|
|
1482
|
+
'e2ee.unsupportedMessage': '加密消息。此版本的应用暂时无法读取。',
|
|
1483
|
+
'e2ee.otherDevice': '已为其他设备加密',
|
|
1484
|
+
'e2ee.undecryptable': '无法解密此消息',
|
|
1485
|
+
'e2ee.sendUnavailable': '此聊天已启用端到端加密,暂不支持从移动应用发送消息。',
|
|
1486
|
+
'media.sealedFile': '加密文件',
|
|
1487
|
+
'media.sealedUnsupported': '此版本的应用暂时无法打开',
|
|
1488
|
+
'media.sealedUnavailable': '无法打开加密附件',
|
|
1489
|
+
'media.sealedDownload': '下载并解密',
|
|
1490
|
+
'media.sealedDownloading': '正在解密…',
|
|
1491
|
+
'media.sealedDownloadFailed': '下载失败 — 点击重试',
|
|
1313
1492
|
'message.newMessages': '新消息',
|
|
1314
1493
|
'notification.senderFallback': '新消息',
|
|
1315
1494
|
'presence.online': '在线',
|
|
@@ -1454,6 +1633,7 @@ const zh = {
|
|
|
1454
1633
|
'field.referralCode': '您的推荐码',
|
|
1455
1634
|
'action.logOut': '退出登录',
|
|
1456
1635
|
'action.message': '发消息',
|
|
1636
|
+
'action.encryptedMessage': '加密消息',
|
|
1457
1637
|
'action.videoCall': '视频通话',
|
|
1458
1638
|
'action.call': '通话',
|
|
1459
1639
|
'action.audioCall': '语音通话',
|