@ethora/chat-component-rn 26.10.5 → 26.10.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 +10 -0
- package/README.md +18 -0
- package/app.plugin.js +2 -0
- package/lib/commonjs/assets/icons.js +2 -2
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/MainComponents/AlbumGrid.js +152 -0
- package/lib/commonjs/components/MainComponents/AlbumGrid.js.map +1 -0
- package/lib/commonjs/components/MainComponents/ChatRoom.js +2 -2
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +199 -123
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaUploadOverlay.js +109 -0
- package/lib/commonjs/components/MainComponents/MediaUploadOverlay.js.map +1 -0
- package/lib/commonjs/components/MessageBubble/MediaCaption.js +51 -0
- package/lib/commonjs/components/MessageBubble/MediaCaption.js.map +1 -0
- package/lib/commonjs/components/MessageBubble/Message.js +40 -1
- 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/FilePreviewModal/FilePreviewModal.js +75 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/LastMessageItem.js +20 -4
- package/lib/commonjs/components/RoomComponents/LastMessageItem.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +3 -2
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +3 -2
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +3 -2
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +3 -2
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/commonjs/components/Thread/ThreadWrapper.js +3 -2
- package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/commonjs/components/styled/MediaFilePreview.js +60 -47
- package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +16 -6
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +99 -68
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +24 -10
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +46 -0
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/e2ee/fileEnvelope.js +6 -0
- package/lib/commonjs/e2ee/fileEnvelope.js.map +1 -1
- package/lib/commonjs/e2ee/sealedBody.js +32 -2
- package/lib/commonjs/e2ee/sealedBody.js.map +1 -1
- package/lib/commonjs/helpers/albumLayout.js +150 -0
- package/lib/commonjs/helpers/albumLayout.js.map +1 -0
- package/lib/commonjs/helpers/attachments.js +255 -0
- package/lib/commonjs/helpers/attachments.js.map +1 -0
- package/lib/commonjs/helpers/caption.js +214 -0
- package/lib/commonjs/helpers/caption.js.map +1 -0
- package/lib/commonjs/helpers/createMainMessageForThread.js +5 -1
- package/lib/commonjs/helpers/createMainMessageForThread.js.map +1 -1
- package/lib/commonjs/helpers/createMessageFromXml.js +19 -5
- package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
- package/lib/commonjs/helpers/fileKind.js +40 -0
- package/lib/commonjs/helpers/fileKind.js.map +1 -0
- package/lib/commonjs/helpers/getDataFromXml.js +6 -1
- package/lib/commonjs/helpers/getDataFromXml.js.map +1 -1
- package/lib/commonjs/helpers/mapWithConcurrency.js +41 -0
- package/lib/commonjs/helpers/mapWithConcurrency.js.map +1 -0
- package/lib/commonjs/helpers/mediaLimits.js +33 -0
- package/lib/commonjs/helpers/mediaLimits.js.map +1 -0
- package/lib/commonjs/helpers/mediaSendRetry.js +64 -0
- package/lib/commonjs/helpers/mediaSendRetry.js.map +1 -0
- package/lib/commonjs/helpers/mediaWireData.js +62 -0
- package/lib/commonjs/helpers/mediaWireData.js.map +1 -0
- package/lib/commonjs/helpers/mentionSpans.js +19 -0
- package/lib/commonjs/helpers/mentionSpans.js.map +1 -0
- package/lib/commonjs/helpers/mimeToExtension.js +45 -0
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- package/lib/commonjs/helpers/readReceipts.js +173 -0
- package/lib/commonjs/helpers/readReceipts.js.map +1 -0
- package/lib/commonjs/helpers/repairFilenameEncoding.js +79 -0
- package/lib/commonjs/helpers/repairFilenameEncoding.js.map +1 -0
- package/lib/commonjs/helpers/safeJson.js +18 -0
- package/lib/commonjs/helpers/safeJson.js.map +1 -0
- package/lib/commonjs/helpers/secureStoreRuntime.js +10 -1
- package/lib/commonjs/helpers/secureStoreRuntime.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +384 -193
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/i18n/strings.js +96 -0
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/main.js +81 -0
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/api-requests/auth.api.js +62 -3
- package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/push.api.js +22 -7
- package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
- package/lib/commonjs/networking/stanzaHandlers.js +100 -3
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +4 -2
- package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/sendDisplayedMarker.xmpp.js +28 -0
- package/lib/commonjs/networking/xmpp/sendDisplayedMarker.xmpp.js.map +1 -0
- package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js +53 -2
- package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/sendReceivedReceipt.xmpp.js +28 -0
- package/lib/commonjs/networking/xmpp/sendReceivedReceipt.xmpp.js.map +1 -0
- package/lib/commonjs/networking/xmppClient.js +64 -0
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/push/pushKeyStore.js +169 -0
- package/lib/commonjs/push/pushKeyStore.js.map +1 -0
- package/lib/commonjs/push/sealedBox.js +106 -0
- package/lib/commonjs/push/sealedBox.js.map +1 -0
- package/lib/commonjs/push/sealedPush.js +124 -0
- package/lib/commonjs/push/sealedPush.js.map +1 -0
- package/lib/commonjs/push/sealedPushTask.js +195 -0
- package/lib/commonjs/push/sealedPushTask.js.map +1 -0
- package/lib/commonjs/roomStore/persistence.js +78 -5
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/roomStore/roomHeapSlice.js +4 -0
- package/lib/commonjs/roomStore/roomHeapSlice.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +114 -1
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/services/pushRegistration.js +12 -7
- package/lib/commonjs/services/pushRegistration.js.map +1 -1
- package/lib/commonjs/types/models/attachment.model.js +2 -0
- package/lib/commonjs/types/models/attachment.model.js.map +1 -0
- package/lib/commonjs/version.js +1 -1
- package/lib/module/assets/icons.js +1 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/MainComponents/AlbumGrid.js +146 -0
- package/lib/module/components/MainComponents/AlbumGrid.js.map +1 -0
- package/lib/module/components/MainComponents/ChatRoom.js +2 -2
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +200 -124
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MediaUploadOverlay.js +104 -0
- package/lib/module/components/MainComponents/MediaUploadOverlay.js.map +1 -0
- package/lib/module/components/MessageBubble/MediaCaption.js +46 -0
- package/lib/module/components/MessageBubble/MediaCaption.js.map +1 -0
- package/lib/module/components/MessageBubble/Message.js +44 -5
- 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/FilePreviewModal/FilePreviewModal.js +75 -0
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/RoomComponents/LastMessageItem.js +20 -4
- package/lib/module/components/RoomComponents/LastMessageItem.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +3 -2
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js +3 -2
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +3 -2
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +3 -2
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/module/components/Thread/ThreadWrapper.js +3 -2
- package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/module/components/styled/MediaFilePreview.js +61 -48
- package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +16 -6
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +99 -68
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +24 -10
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/xmppProvider.js +46 -0
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/e2ee/fileEnvelope.js +1 -1
- package/lib/module/e2ee/fileEnvelope.js.map +1 -1
- package/lib/module/e2ee/sealedBody.js +32 -2
- package/lib/module/e2ee/sealedBody.js.map +1 -1
- package/lib/module/helpers/albumLayout.js +143 -0
- package/lib/module/helpers/albumLayout.js.map +1 -0
- package/lib/module/helpers/attachments.js +245 -0
- package/lib/module/helpers/attachments.js.map +1 -0
- package/lib/module/helpers/caption.js +207 -0
- package/lib/module/helpers/caption.js.map +1 -0
- package/lib/module/helpers/createMainMessageForThread.js +5 -1
- package/lib/module/helpers/createMainMessageForThread.js.map +1 -1
- package/lib/module/helpers/createMessageFromXml.js +20 -6
- package/lib/module/helpers/createMessageFromXml.js.map +1 -1
- package/lib/module/helpers/fileKind.js +34 -0
- package/lib/module/helpers/fileKind.js.map +1 -0
- package/lib/module/helpers/getDataFromXml.js +6 -1
- package/lib/module/helpers/getDataFromXml.js.map +1 -1
- package/lib/module/helpers/mapWithConcurrency.js +37 -0
- package/lib/module/helpers/mapWithConcurrency.js.map +1 -0
- package/lib/module/helpers/mediaLimits.js +27 -0
- package/lib/module/helpers/mediaLimits.js.map +1 -0
- package/lib/module/helpers/mediaSendRetry.js +55 -0
- package/lib/module/helpers/mediaSendRetry.js.map +1 -0
- package/lib/module/helpers/mediaWireData.js +58 -0
- package/lib/module/helpers/mediaWireData.js.map +1 -0
- package/lib/module/helpers/mentionSpans.js +14 -0
- package/lib/module/helpers/mentionSpans.js.map +1 -0
- package/lib/module/helpers/mimeToExtension.js +43 -0
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- package/lib/module/helpers/readReceipts.js +160 -0
- package/lib/module/helpers/readReceipts.js.map +1 -0
- package/lib/module/helpers/repairFilenameEncoding.js +74 -0
- package/lib/module/helpers/repairFilenameEncoding.js.map +1 -0
- package/lib/module/helpers/safeJson.js +13 -0
- package/lib/module/helpers/safeJson.js.map +1 -0
- package/lib/module/helpers/secureStoreRuntime.js +10 -1
- package/lib/module/helpers/secureStoreRuntime.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +387 -195
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/i18n/strings.js +96 -0
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/main.js +6 -0
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/api-requests/auth.api.js +62 -3
- package/lib/module/networking/api-requests/auth.api.js.map +1 -1
- package/lib/module/networking/api-requests/push.api.js +21 -6
- package/lib/module/networking/api-requests/push.api.js.map +1 -1
- package/lib/module/networking/stanzaHandlers.js +97 -4
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js +5 -3
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendDisplayedMarker.xmpp.js +25 -0
- package/lib/module/networking/xmpp/sendDisplayedMarker.xmpp.js.map +1 -0
- package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js +53 -2
- package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendReceivedReceipt.xmpp.js +25 -0
- package/lib/module/networking/xmpp/sendReceivedReceipt.xmpp.js.map +1 -0
- package/lib/module/networking/xmppClient.js +64 -0
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/push/pushKeyStore.js +159 -0
- package/lib/module/push/pushKeyStore.js.map +1 -0
- package/lib/module/push/sealedBox.js +97 -0
- package/lib/module/push/sealedBox.js.map +1 -0
- package/lib/module/push/sealedPush.js +117 -0
- package/lib/module/push/sealedPush.js.map +1 -0
- package/lib/module/push/sealedPushTask.js +187 -0
- package/lib/module/push/sealedPushTask.js.map +1 -0
- package/lib/module/roomStore/persistence.js +78 -5
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/roomStore/roomHeapSlice.js +4 -0
- package/lib/module/roomStore/roomHeapSlice.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +109 -0
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/services/pushRegistration.js +12 -7
- package/lib/module/services/pushRegistration.js.map +1 -1
- package/lib/module/types/models/attachment.model.js +2 -0
- package/lib/module/types/models/attachment.model.js.map +1 -0
- package/lib/module/version.js +1 -1
- package/lib/typescript/assets/icons.d.ts +6 -1
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/AlbumGrid.d.ts +21 -0
- package/lib/typescript/components/MainComponents/AlbumGrid.d.ts.map +1 -0
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaUploadOverlay.d.ts +17 -0
- package/lib/typescript/components/MainComponents/MediaUploadOverlay.d.ts.map +1 -0
- package/lib/typescript/components/MessageBubble/MediaCaption.d.ts +12 -0
- package/lib/typescript/components/MessageBubble/MediaCaption.d.ts.map +1 -0
- 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/FilePreviewModal/FilePreviewModal.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 +2 -0
- package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +2 -0
- package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +2 -0
- package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +2 -0
- package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
- package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
- package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts +10 -0
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts +7 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts +7 -0
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/e2ee/fileEnvelope.d.ts +1 -1
- package/lib/typescript/e2ee/fileEnvelope.d.ts.map +1 -1
- package/lib/typescript/e2ee/sealedBody.d.ts +16 -0
- package/lib/typescript/e2ee/sealedBody.d.ts.map +1 -1
- package/lib/typescript/helpers/albumLayout.d.ts +66 -0
- package/lib/typescript/helpers/albumLayout.d.ts.map +1 -0
- package/lib/typescript/helpers/attachments.d.ts +55 -0
- package/lib/typescript/helpers/attachments.d.ts.map +1 -0
- package/lib/typescript/helpers/caption.d.ts +64 -0
- package/lib/typescript/helpers/caption.d.ts.map +1 -0
- package/lib/typescript/helpers/createMainMessageForThread.d.ts.map +1 -1
- package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
- package/lib/typescript/helpers/fileKind.d.ts +20 -0
- package/lib/typescript/helpers/fileKind.d.ts.map +1 -0
- package/lib/typescript/helpers/getDataFromXml.d.ts.map +1 -1
- package/lib/typescript/helpers/mapWithConcurrency.d.ts +9 -0
- package/lib/typescript/helpers/mapWithConcurrency.d.ts.map +1 -0
- package/lib/typescript/helpers/mediaLimits.d.ts +13 -0
- package/lib/typescript/helpers/mediaLimits.d.ts.map +1 -0
- package/lib/typescript/helpers/mediaSendRetry.d.ts +26 -0
- package/lib/typescript/helpers/mediaSendRetry.d.ts.map +1 -0
- package/lib/typescript/helpers/mediaWireData.d.ts +16 -0
- package/lib/typescript/helpers/mediaWireData.d.ts.map +1 -0
- package/lib/typescript/helpers/mentionSpans.d.ts +8 -0
- package/lib/typescript/helpers/mentionSpans.d.ts.map +1 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts +7 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- package/lib/typescript/helpers/readReceipts.d.ts +82 -0
- package/lib/typescript/helpers/readReceipts.d.ts.map +1 -0
- package/lib/typescript/helpers/repairFilenameEncoding.d.ts +12 -0
- package/lib/typescript/helpers/repairFilenameEncoding.d.ts.map +1 -0
- package/lib/typescript/helpers/safeJson.d.ts +2 -0
- package/lib/typescript/helpers/safeJson.d.ts.map +1 -0
- package/lib/typescript/helpers/secureStoreRuntime.d.ts +17 -3
- package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts +2 -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 +6 -0
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/auth.api.d.ts +2 -0
- package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/push.api.d.ts +14 -2
- package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
- package/lib/typescript/networking/stanzaHandlers.d.ts +7 -3
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendDisplayedMarker.xmpp.d.ts +3 -0
- package/lib/typescript/networking/xmpp/sendDisplayedMarker.xmpp.d.ts.map +1 -0
- package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts +12 -0
- package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendReceivedReceipt.xmpp.d.ts +3 -0
- package/lib/typescript/networking/xmpp/sendReceivedReceipt.xmpp.d.ts.map +1 -0
- package/lib/typescript/networking/xmppClient.d.ts +15 -0
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/push/pushKeyStore.d.ts +35 -0
- package/lib/typescript/push/pushKeyStore.d.ts.map +1 -0
- package/lib/typescript/push/sealedBox.d.ts +24 -0
- package/lib/typescript/push/sealedBox.d.ts.map +1 -0
- package/lib/typescript/push/sealedPush.d.ts +61 -0
- package/lib/typescript/push/sealedPush.d.ts.map +1 -0
- package/lib/typescript/push/sealedPushTask.d.ts +33 -0
- package/lib/typescript/push/sealedPushTask.d.ts.map +1 -0
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomHeapSlice.d.ts +22 -1
- package/lib/typescript/roomStore/roomHeapSlice.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +67 -3
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/services/pushRegistration.d.ts +8 -0
- package/lib/typescript/services/pushRegistration.d.ts.map +1 -1
- package/lib/typescript/types/models/attachment.model.d.ts +52 -0
- package/lib/typescript/types/models/attachment.model.d.ts.map +1 -0
- package/lib/typescript/types/models/message.model.d.ts +26 -0
- package/lib/typescript/types/models/message.model.d.ts.map +1 -1
- package/lib/typescript/types/models/modal.model.d.ts +7 -0
- package/lib/typescript/types/models/modal.model.d.ts.map +1 -1
- package/lib/typescript/types/models/room.model.d.ts +2 -0
- package/lib/typescript/types/models/room.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +35 -1
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +14 -1
- package/plugins/notification-service/Info.plist +31 -0
- package/plugins/notification-service/NotificationService.swift +195 -0
- package/plugins/notification-service/SealedBox.swift +355 -0
- package/plugins/notification-service/check/gen-vectors.mjs +24 -0
- package/plugins/notification-service/check/main.swift +37 -0
- package/plugins/notification-service/check/run.sh +12 -0
- package/plugins/notification-service/check/vectors.json +1 -0
- package/plugins/withNotificationServiceExtension.js +189 -0
- package/src/assets/icons.tsx +20 -2
- package/src/components/MainComponents/AlbumGrid.tsx +183 -0
- package/src/components/MainComponents/ChatRoom.tsx +4 -2
- package/src/components/MainComponents/MediaMessage.tsx +246 -130
- package/src/components/MainComponents/MediaUploadOverlay.tsx +102 -0
- package/src/components/MessageBubble/MediaCaption.tsx +45 -0
- package/src/components/MessageBubble/Message.tsx +71 -3
- package/src/components/MessageBubble/MessageInteractions.tsx +2 -1
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +64 -0
- package/src/components/RoomComponents/LastMessageItem.tsx +15 -4
- package/src/components/RoomComponents/styled/LastAudioMessage.tsx +6 -3
- package/src/components/RoomComponents/styled/LastMessageFile.tsx +6 -2
- package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +6 -2
- package/src/components/RoomComponents/styled/LastMessageVideo.tsx +6 -2
- package/src/components/Thread/ThreadWrapper.tsx +5 -9
- package/src/components/styled/MediaFilePreview.tsx +49 -34
- package/src/components/styled/MessageImage.tsx +21 -5
- package/src/components/styled/SendInput.tsx +101 -87
- package/src/components/styled/VideoMessage.tsx +34 -9
- package/src/context/xmppProvider.tsx +32 -0
- package/src/e2ee/fileEnvelope.ts +1 -1
- package/src/e2ee/sealedBody.ts +44 -5
- package/src/helpers/albumLayout.ts +207 -0
- package/src/helpers/attachments.ts +316 -0
- package/src/helpers/caption.ts +283 -0
- package/src/helpers/createMainMessageForThread.ts +6 -1
- package/src/helpers/createMessageFromXml.ts +21 -5
- package/src/helpers/fileKind.ts +38 -0
- package/src/helpers/getDataFromXml.ts +5 -1
- package/src/helpers/mapWithConcurrency.ts +32 -0
- package/src/helpers/mediaLimits.ts +27 -0
- package/src/helpers/mediaSendRetry.ts +59 -0
- package/src/helpers/mediaWireData.ts +57 -0
- package/src/helpers/mentionSpans.ts +17 -0
- package/src/helpers/mimeToExtension.ts +51 -0
- package/src/helpers/readReceipts.ts +219 -0
- package/src/helpers/repairFilenameEncoding.ts +82 -0
- package/src/helpers/safeJson.ts +11 -0
- package/src/helpers/secureStoreRuntime.ts +21 -3
- package/src/hooks/useSendMessage.tsx +448 -249
- package/src/i18n/strings.ts +96 -0
- package/src/main.ts +30 -0
- package/src/networking/api-requests/auth.api.ts +60 -3
- package/src/networking/api-requests/push.api.ts +29 -4
- package/src/networking/stanzaHandlers.ts +91 -2
- package/src/networking/xmpp/handleStanzas.xmpp.ts +6 -2
- package/src/networking/xmpp/sendDisplayedMarker.xmpp.ts +31 -0
- package/src/networking/xmpp/sendMediaMessage.xmpp.ts +60 -3
- package/src/networking/xmpp/sendReceivedReceipt.xmpp.ts +31 -0
- package/src/networking/xmppClient.ts +48 -0
- package/src/push/pushKeyStore.ts +163 -0
- package/src/push/sealedBox.ts +104 -0
- package/src/push/sealedPush.ts +127 -0
- package/src/push/sealedPushTask.ts +175 -0
- package/src/roomStore/persistence.ts +94 -3
- package/src/roomStore/roomHeapSlice.ts +23 -1
- package/src/roomStore/roomsSlice.ts +112 -1
- package/src/services/pushRegistration.ts +25 -5
- package/src/types/models/attachment.model.ts +51 -0
- package/src/types/models/message.model.ts +29 -0
- package/src/types/models/modal.model.ts +7 -0
- package/src/types/models/room.model.ts +2 -0
- package/src/types/types.ts +41 -1
- package/src/version.ts +1 -1
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { xml } from '@xmpp/client';
|
|
4
4
|
import { sendSealedMedia, shouldEncrypt } from '../../e2ee/send';
|
|
5
|
+
import { serializeAttachments } from '../../helpers/attachments';
|
|
6
|
+
import { normalizeCaptionInput } from '../../helpers/caption';
|
|
5
7
|
|
|
6
8
|
// Monotonic counter — see sendTextMessage for the rationale (avoids
|
|
7
9
|
// Date.now() id collisions on <1ms-apart sends).
|
|
@@ -29,6 +31,19 @@ const toServiceXmlns = (devServer, client) => {
|
|
|
29
31
|
}
|
|
30
32
|
return `wss://${ds.replace(/^\/+|\/+$/g, '')}/ws`;
|
|
31
33
|
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* One media stanza for one or more files.
|
|
37
|
+
*
|
|
38
|
+
* `data` carries the flat fields that describe attachment #0, so a client
|
|
39
|
+
* that predates multi-attach still shows the first file. With more than one
|
|
40
|
+
* file the whole list rides on `<data attachments='JSON'>` (selection order).
|
|
41
|
+
*
|
|
42
|
+
* A typed caption rides on the message too: as `caption` / `captionMentions`
|
|
43
|
+
* attributes in a plain room, and inside the sealed <body> in an e2ee room
|
|
44
|
+
* (never as an attribute there). A message with one file and no caption is
|
|
45
|
+
* byte-identical to what this function produced before multi-attach.
|
|
46
|
+
*/
|
|
32
47
|
export function sendMediaMessage(client, roomJID, data, customId, devServer) {
|
|
33
48
|
const id = customId || `send-media-message-${Date.now()}-${_sendMediaSeq = _sendMediaSeq + 1 >>> 0}`;
|
|
34
49
|
const dataToSend = {
|
|
@@ -63,20 +78,56 @@ export function sendMediaMessage(client, roomJID, data, customId, devServer) {
|
|
|
63
78
|
roomJid: data?.roomJid,
|
|
64
79
|
push: 'true'
|
|
65
80
|
};
|
|
81
|
+
|
|
82
|
+
// Only stamped when there is more than one file, so a single-file stanza
|
|
83
|
+
// keeps exactly the attributes it always had.
|
|
84
|
+
const files = Array.isArray(data?.attachments) ? data.attachments : [];
|
|
85
|
+
if (files.length > 1) {
|
|
86
|
+
// The flat fields describe attachment #0, whatever the caller passed, so
|
|
87
|
+
// an older client shows the first file of the message.
|
|
88
|
+
const head = files[0];
|
|
89
|
+
const flat = ['attachmentId', 'location', 'locationPreview', 'mimetype', 'originalName', 'fileName', 'size', 'duration'];
|
|
90
|
+
for (const key of flat) {
|
|
91
|
+
const value = head[key];
|
|
92
|
+
if (value !== undefined && value !== null && value !== '') {
|
|
93
|
+
dataToSend[key] = value;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
dataToSend.attachments = serializeAttachments(files);
|
|
97
|
+
}
|
|
66
98
|
const keys = data?.e2eeKeys;
|
|
67
99
|
if (keys?.length) {
|
|
68
100
|
dataToSend.clientEncrypted = 'true';
|
|
69
101
|
}
|
|
102
|
+
const caption = normalizeCaptionInput({
|
|
103
|
+
text: typeof data?.caption === 'string' ? data.caption : '',
|
|
104
|
+
mentions: data?.captionMentions
|
|
105
|
+
});
|
|
70
106
|
const hints = xml('store', {
|
|
71
107
|
xmlns: 'urn:xmpp:hints'
|
|
72
108
|
});
|
|
73
109
|
if (keys?.length && shouldEncrypt(roomJID)) {
|
|
74
|
-
|
|
110
|
+
// The caption is sealed with the keys. It is never copied onto <data>.
|
|
111
|
+
const sealedBody = caption ? {
|
|
112
|
+
v: 1,
|
|
113
|
+
keys,
|
|
114
|
+
caption: caption.caption,
|
|
115
|
+
...(caption.mentions ? {
|
|
116
|
+
captionMentions: caption.mentions
|
|
117
|
+
} : {})
|
|
118
|
+
} : {
|
|
75
119
|
v: 1,
|
|
76
120
|
keys
|
|
77
|
-
}
|
|
121
|
+
};
|
|
122
|
+
sendSealedMedia(client, roomJID, id, xml('body', {}, JSON.stringify(sealedBody)), [xml('data', dataToSend), hints]);
|
|
78
123
|
return id;
|
|
79
124
|
}
|
|
125
|
+
if (caption) {
|
|
126
|
+
dataToSend.caption = caption.caption;
|
|
127
|
+
if (caption.mentions) {
|
|
128
|
+
dataToSend.captionMentions = JSON.stringify(caption.mentions);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
80
131
|
const message = xml('message', {
|
|
81
132
|
id: id,
|
|
82
133
|
type: 'groupchat',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["xml","sendSealedMedia","shouldEncrypt","_sendMediaSeq","toServiceXmlns","devServer","client","clientService","options","service","test","ds","trim","includes","replace","sendMediaMessage","roomJID","data","customId","id","Date","now","dataToSend","xmlns","senderJID","jid","toString","senderFirstName","firstName","senderLastName","lastName","senderWalletAddress","walletAddress","tokenAmount","receiverMessageId","mucname","chatName","photoURL","userAvatar","isMediafile","createdAt","expiresAt","fileName","isVisible","location","locationPreview","mimetype","originalName","ownerKey","size","duration","updatedAt","userId","waveForm","attachmentId","isReply","showInChannel","mainMessage","roomJid","push","
|
|
1
|
+
{"version":3,"names":["xml","sendSealedMedia","shouldEncrypt","serializeAttachments","normalizeCaptionInput","_sendMediaSeq","toServiceXmlns","devServer","client","clientService","options","service","test","ds","trim","includes","replace","sendMediaMessage","roomJID","data","customId","id","Date","now","dataToSend","xmlns","senderJID","jid","toString","senderFirstName","firstName","senderLastName","lastName","senderWalletAddress","walletAddress","tokenAmount","receiverMessageId","mucname","chatName","photoURL","userAvatar","isMediafile","createdAt","expiresAt","fileName","isVisible","location","locationPreview","mimetype","originalName","ownerKey","size","duration","updatedAt","userId","waveForm","attachmentId","isReply","showInChannel","mainMessage","roomJid","push","files","Array","isArray","attachments","length","head","flat","key","value","undefined","keys","e2eeKeys","clientEncrypted","caption","text","mentions","captionMentions","hints","sealedBody","v","JSON","stringify","message","type","from","to","sendResult","send","then","console","log","catch","err","error"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendMediaMessage.xmpp.ts"],"mappings":";;AAAA,SAAiBA,GAAG,QAAQ,cAAc;AAC1C,SAASC,eAAe,EAAEC,aAAa,QAAQ,iBAAiB;AAEhE,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,qBAAqB,QAAQ,uBAAuB;;AAE7D;AACA;AACA,IAAIC,aAAa,GAAG,CAAC;;AAErB;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAGA,CAACC,SAA6B,EAAEC,MAAc,KAAa;EAChF,MAAMC,aAAa,GAAID,MAAM,EAAUE,OAAO,EAAEC,OAA6B;EAC7E,IAAIF,aAAa,IAAI,YAAY,CAACG,IAAI,CAACH,aAAa,CAAC,EAAE;IAAC,OAAOA,aAAa;EAAC;EAC7E,MAAMI,EAAE,GAAG,CAACN,SAAS,IAAI,EAAE,EAAEO,IAAI,CAAC,CAAC;EACnC,IAAI,CAACD,EAAE,EAAE;IAAC,OAAO,6BAA6B;EAAC;EAC/C,IAAI,YAAY,CAACD,IAAI,CAACC,EAAE,CAAC,EAAE;IAAC,OAAOA,EAAE;EAAC;EACtC,IAAIA,EAAE,CAACE,QAAQ,CAAC,KAAK,CAAC,EAAE;IAAC,OAAOF,EAAE;EAAC;EACnC,OAAO,SAASA,EAAE,CAACG,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK;AACnD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BT,MAAc,EACdU,OAAe,EACfC,IAAS,EACTC,QAAiB,EACjBb,SAAkB,EAClB;EACA,MAAMc,EAAE,GACND,QAAQ,IAAI,sBAAsBE,IAAI,CAACC,GAAG,CAAC,CAAC,IAAKlB,aAAa,GAAIA,aAAa,GAAG,CAAC,KAAM,CAAC,EAAG;EAE/F,MAAMmB,UAAmC,GAAG;IAC1CC,KAAK,EAAEnB,cAAc,CAACC,SAAS,EAAEC,MAAM,CAAC;IACxCkB,SAAS,EAAElB,MAAM,CAACmB,GAAG,EAAEC,QAAQ,CAAC,CAAC;IACjCC,eAAe,EAAEV,IAAI,CAACW,SAAS;IAC/BC,cAAc,EAAEZ,IAAI,CAACa,QAAQ;IAC7BC,mBAAmB,EAAEd,IAAI,CAACe,aAAa;IACvCC,WAAW,EAAE,GAAG;IAChBC,iBAAiB,EAAE,GAAG;IACtBC,OAAO,EAAElB,IAAI,CAACmB,QAAQ;IACtBC,QAAQ,EAAEpB,IAAI,CAACqB,UAAU,GAAGrB,IAAI,CAACqB,UAAU,GAAG,EAAE;IAChDC,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAEvB,IAAI,CAACuB,SAAS;IACzBC,SAAS,EAAExB,IAAI,CAACwB,SAAS;IACzBC,QAAQ,EAAEzB,IAAI,CAACyB,QAAQ;IACvBC,SAAS,EAAE1B,IAAI,CAAC0B,SAAS;IACzBC,QAAQ,EAAE3B,IAAI,CAAC2B,QAAQ;IACvBC,eAAe,EAAE5B,IAAI,CAAC4B,eAAe;IACrCC,QAAQ,EAAE7B,IAAI,CAAC6B,QAAQ;IACvBC,YAAY,EAAE9B,IAAI,CAAC8B,YAAY;IAC/BC,QAAQ,EAAE/B,IAAI,CAAC+B,QAAQ;IACvBC,IAAI,EAAEhC,IAAI,CAACgC,IAAI;IACfC,QAAQ,EAAEjC,IAAI,EAAEiC,QAAQ;IACxBC,SAAS,EAAElC,IAAI,CAACkC,SAAS;IACzBC,MAAM,EAAEnC,IAAI,CAACmC,MAAM;IACnBC,QAAQ,EAAEpC,IAAI,CAACoC,QAAQ;IACvBC,YAAY,EAAErC,IAAI,EAAEqC,YAAY;IAChCC,OAAO,EAAEtC,IAAI,EAAEsC,OAAO;IACtBC,aAAa,EAAEvC,IAAI,EAAEuC,aAAa;IAClCC,WAAW,EAAExC,IAAI,EAAEwC,WAAW;IAC9BC,OAAO,EAAEzC,IAAI,EAAEyC,OAAO;IACtBC,IAAI,EAAE;EACR,CAAC;;EAED;EACA;EACA,MAAMC,KAAoB,GAAGC,KAAK,CAACC,OAAO,CAAC7C,IAAI,EAAE8C,WAAW,CAAC,GAAG9C,IAAI,CAAC8C,WAAW,GAAG,EAAE;EACrF,IAAIH,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;IACpB;IACA;IACA,MAAMC,IAAI,GAAGL,KAAK,CAAC,CAAC,CAAE;IACtB,MAAMM,IAA8B,GAAG,CACrC,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,UAAU,EACV,MAAM,EACN,UAAU,CACX;IACD,KAAK,MAAMC,GAAG,IAAID,IAAI,EAAE;MACtB,MAAME,KAAK,GAAGH,IAAI,CAACE,GAAG,CAAC;MACvB,IAAIC,KAAK,KAAKC,SAAS,IAAID,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,EAAE,EAAE;QACzD9C,UAAU,CAAC6C,GAAG,CAAC,GAAGC,KAAK;MACzB;IACF;IACA9C,UAAU,CAACyC,WAAW,GAAG9D,oBAAoB,CAAC2D,KAAK,CAAC;EACtD;EAEA,MAAMU,IAA0B,GAAGrD,IAAI,EAAEsD,QAAQ;EACjD,IAAID,IAAI,EAAEN,MAAM,EAAE;IAChB1C,UAAU,CAACkD,eAAe,GAAG,MAAM;EACrC;EAEA,MAAMC,OAAO,GAAGvE,qBAAqB,CAAC;IACpCwE,IAAI,EAAE,OAAOzD,IAAI,EAAEwD,OAAO,KAAK,QAAQ,GAAGxD,IAAI,CAACwD,OAAO,GAAG,EAAE;IAC3DE,QAAQ,EAAE1D,IAAI,EAAE2D;EAClB,CAAC,CAAC;EACF,MAAMC,KAAK,GAAG/E,GAAG,CAAC,OAAO,EAAE;IAAEyB,KAAK,EAAE;EAAiB,CAAC,CAAC;EAEvD,IAAI+C,IAAI,EAAEN,MAAM,IAAIhE,aAAa,CAACgB,OAAO,CAAC,EAAE;IAC1C;IACA,MAAM8D,UAAU,GAAGL,OAAO,GACtB;MAAEM,CAAC,EAAE,CAAC;MAAET,IAAI;MAAEG,OAAO,EAAEA,OAAO,CAACA,OAAO;MAAE,IAAIA,OAAO,CAACE,QAAQ,GAAG;QAAEC,eAAe,EAAEH,OAAO,CAACE;MAAS,CAAC,GAAG,CAAC,CAAC;IAAE,CAAC,GAC5G;MAAEI,CAAC,EAAE,CAAC;MAAET;IAAK,CAAC;IAClBvE,eAAe,CACbO,MAAM,EACNU,OAAO,EACPG,EAAE,EACFrB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAEkF,IAAI,CAACC,SAAS,CAACH,UAAU,CAAC,CAAC,EAC3C,CAAChF,GAAG,CAAC,MAAM,EAAEwB,UAAU,CAAC,EAAEuD,KAAK,CACjC,CAAC;IACD,OAAO1D,EAAE;EACX;EAEA,IAAIsD,OAAO,EAAE;IACXnD,UAAU,CAACmD,OAAO,GAAGA,OAAO,CAACA,OAAO;IACpC,IAAIA,OAAO,CAACE,QAAQ,EAAE;MACpBrD,UAAU,CAACsD,eAAe,GAAGI,IAAI,CAACC,SAAS,CAACR,OAAO,CAACE,QAAQ,CAAC;IAC/D;EACF;EAEA,MAAMO,OAAO,GAAGpF,GAAG,CACjB,SAAS,EACT;IACEqB,EAAE,EAAEA,EAAE;IACNgE,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAE9E,MAAM,CAACmB,GAAG,EAAEC,QAAQ,CAAC,CAAC;IAC5B2D,EAAE,EAAErE;EACN,CAAC,EACDlB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EACxB+E,KAAK,EACL/E,GAAG,CAAC,MAAM,EAAEwB,UAAU,CACxB,CAAC;EAED,IAAI;IACF,MAAMgE,UAAU,GAAGhF,MAAM,CAACiF,IAAI,CAACL,OAAO,CAAC;IACvC,IAAII,UAAU,IAAI,OAAQA,UAAU,CAASE,IAAI,KAAK,UAAU,EAAE;MAC/DF,UAAU,CACRE,IAAI,CAAC,MAAMC,OAAO,CAACC,GAAG,CAAC,sBAAsB,EAAE;QAAEvE;MAAG,CAAC,CAAC,CAAC,CACvDwE,KAAK,CAAEC,GAAG,IACTH,OAAO,CAACI,KAAK,CAAC,sBAAsB,EAAE;QACpC1E,EAAE;QACF+D,OAAO,EAAGU,GAAG,EAAUV;MACzB,CAAC,CACH,CAAC;IACL;EACF,CAAC,CAAC,OAAOW,KAAK,EAAE;IACdJ,OAAO,CAACI,KAAK,CAACA,KAAK,CAAC;EACtB;EACA,OAAO1E,EAAE;AACX","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { xml } from '@xmpp/client';
|
|
4
|
+
|
|
5
|
+
// XEP-0184 delivery receipt, broadcast to the room (mirrors
|
|
6
|
+
// sendMessageReaction.xmpp.ts) so every occupant can render tick state.
|
|
7
|
+
// The top-level stanza `from` gets rewritten to the room/nick by the MUC
|
|
8
|
+
// server, so the real xmppUsername travels in the <received> `from` attr.
|
|
9
|
+
export function sendReceivedReceipt(client, messageId, roomJid) {
|
|
10
|
+
const id = `message-received:${Date.now().toString()}`;
|
|
11
|
+
const message = xml('message', {
|
|
12
|
+
id,
|
|
13
|
+
type: 'groupchat',
|
|
14
|
+
from: client.jid?.toString(),
|
|
15
|
+
to: roomJid
|
|
16
|
+
}, xml('received', {
|
|
17
|
+
xmlns: 'urn:xmpp:receipts',
|
|
18
|
+
id: messageId,
|
|
19
|
+
from: client.jid?.toString()
|
|
20
|
+
}), xml('store', {
|
|
21
|
+
xmlns: 'urn:xmpp:hints'
|
|
22
|
+
}));
|
|
23
|
+
client.send(message);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=sendReceivedReceipt.xmpp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["xml","sendReceivedReceipt","client","messageId","roomJid","id","Date","now","toString","message","type","from","jid","to","xmlns","send"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendReceivedReceipt.xmpp.ts"],"mappings":";;AAAA,SAAiBA,GAAG,QAAQ,cAAc;;AAE1C;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CACjCC,MAAc,EACdC,SAAiB,EACjBC,OAAe,EACf;EACA,MAAMC,EAAE,GAAG,oBAAoBC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE;EAEtD,MAAMC,OAAO,GAAGT,GAAG,CACjB,SAAS,EACT;IACEK,EAAE;IACFK,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAET,MAAM,CAACU,GAAG,EAAEJ,QAAQ,CAAC,CAAC;IAC5BK,EAAE,EAAET;EACN,CAAC,EACDJ,GAAG,CAAC,UAAU,EAAE;IACdc,KAAK,EAAE,mBAAmB;IAC1BT,EAAE,EAAEF,SAAS;IACbQ,IAAI,EAAET,MAAM,CAACU,GAAG,EAAEJ,QAAQ,CAAC;EAC7B,CAAC,CAAC,EACFR,GAAG,CAAC,OAAO,EAAE;IAAEc,KAAK,EAAE;EAAiB,CAAC,CAC1C,CAAC;EAEDZ,MAAM,CAACa,IAAI,CAACN,OAAO,CAAC;AACtB","ignoreList":[]}
|
|
@@ -11,6 +11,8 @@ import { sendPing } from './xmpp/sendPing.xmpp';
|
|
|
11
11
|
import { fetchHistoryPage, getHistory, getHistoryPage } from './xmpp/getHistory.xmpp';
|
|
12
12
|
import { sendTextMessage } from './xmpp/sendTextMessage.xmpp';
|
|
13
13
|
import { sendMessageReaction } from './xmpp/sendMessageReaction.xmpp';
|
|
14
|
+
import { sendReceivedReceipt } from './xmpp/sendReceivedReceipt.xmpp';
|
|
15
|
+
import { sendDisplayedMarker } from './xmpp/sendDisplayedMarker.xmpp';
|
|
14
16
|
import { sendTextMessageWithTranslateTag } from './xmpp/sendTextMessageWithTranslateTag.xmpp';
|
|
15
17
|
import { deleteMessage } from './xmpp/deleteMessage.xmpp';
|
|
16
18
|
import { RoomJoinManager } from './xmpp/roomJoinSweep';
|
|
@@ -35,6 +37,8 @@ import { getServerReadTimestamp, isCorruptFutureReadMarker } from '../helpers/ge
|
|
|
35
37
|
|
|
36
38
|
// Canonical production XMPP WSS endpoint (standard wss/443, no port suffix).
|
|
37
39
|
const DEFAULT_DEV_SERVER = 'xmpp.chat.ethora.com';
|
|
40
|
+
// Upper bound on remembered XEP-0184 acks (oldest forgotten first).
|
|
41
|
+
const RECEIPT_ACKED_CAP = 2000;
|
|
38
42
|
|
|
39
43
|
// How long to wait for the old client's stop() during a reconnect before
|
|
40
44
|
// giving up on it. Short on purpose: we are already tearing this client
|
|
@@ -208,6 +212,13 @@ export class XmppClient {
|
|
|
208
212
|
}
|
|
209
213
|
disableLastRead = false;
|
|
210
214
|
activeRoomJID = null;
|
|
215
|
+
// XEP-0184 acks already sent, as `room:messageId`. A message is acked once,
|
|
216
|
+
// whether it arrived live or again inside a MAM page. Oldest entries drop
|
|
217
|
+
// first once the set passes the cap.
|
|
218
|
+
receiptAckedIds = new Set();
|
|
219
|
+
// XEP-0333: the last read watermark sent per room. A repeat flush for the
|
|
220
|
+
// same newest message sends nothing.
|
|
221
|
+
lastWatermarkSentByRoom = new Map();
|
|
211
222
|
activeRoomBoostUntil = 0;
|
|
212
223
|
softPauseUntil = 0;
|
|
213
224
|
mamInFlightByRoom = new Map();
|
|
@@ -1391,6 +1402,59 @@ export class XmppClient {
|
|
|
1391
1402
|
const result = await this.createRoomStanza(title, description, to);
|
|
1392
1403
|
return typeof result === 'string' ? result : '';
|
|
1393
1404
|
}
|
|
1405
|
+
|
|
1406
|
+
/**
|
|
1407
|
+
* XEP-0184 delivery receipt for a message from someone else. Sent for live
|
|
1408
|
+
* messages and for messages a MAM page brings in; a message already acked
|
|
1409
|
+
* is skipped. When the stream is down (or `config.disableReadReceipts` is
|
|
1410
|
+
* on) nothing is recorded, so a later page can still ack it.
|
|
1411
|
+
*/
|
|
1412
|
+
sendReceivedReceiptStanza(messageId, roomJid) {
|
|
1413
|
+
// Privacy switch: with read receipts off this client stays silent, so
|
|
1414
|
+
// nobody learns that (or when) it received their message.
|
|
1415
|
+
if (store.getState().chatSettingStore.config?.disableReadReceipts) {
|
|
1416
|
+
return;
|
|
1417
|
+
}
|
|
1418
|
+
if (!messageId || !roomJid || !this.isStreamReady()) {
|
|
1419
|
+
return;
|
|
1420
|
+
}
|
|
1421
|
+
const jid = normalizeRoomJid(roomJid, this.conference);
|
|
1422
|
+
const key = `${jid}:${messageId}`;
|
|
1423
|
+
if (this.receiptAckedIds.has(key)) {
|
|
1424
|
+
return;
|
|
1425
|
+
}
|
|
1426
|
+
this.receiptAckedIds.add(key);
|
|
1427
|
+
if (this.receiptAckedIds.size > RECEIPT_ACKED_CAP) {
|
|
1428
|
+
const oldest = this.receiptAckedIds.values().next().value;
|
|
1429
|
+
if (oldest !== undefined) {
|
|
1430
|
+
this.receiptAckedIds.delete(oldest);
|
|
1431
|
+
}
|
|
1432
|
+
}
|
|
1433
|
+
sendReceivedReceipt(this.client, messageId, jid);
|
|
1434
|
+
}
|
|
1435
|
+
|
|
1436
|
+
/**
|
|
1437
|
+
* XEP-0333 read watermark for a room: the newest message the user has
|
|
1438
|
+
* displayed. Off with `disableLastRead` or `config.disableReadReceipts`.
|
|
1439
|
+
* The caller decides when the room counts as read (see computeReadWatermark).
|
|
1440
|
+
*/
|
|
1441
|
+
sendDisplayedMarkerStanza(messageId, roomJid) {
|
|
1442
|
+
if (this.disableLastRead) {
|
|
1443
|
+
return;
|
|
1444
|
+
}
|
|
1445
|
+
if (store.getState().chatSettingStore.config?.disableReadReceipts) {
|
|
1446
|
+
return;
|
|
1447
|
+
}
|
|
1448
|
+
if (!messageId || !roomJid || !this.isStreamReady()) {
|
|
1449
|
+
return;
|
|
1450
|
+
}
|
|
1451
|
+
const jid = normalizeRoomJid(roomJid, this.conference);
|
|
1452
|
+
if (this.lastWatermarkSentByRoom.get(jid) === messageId) {
|
|
1453
|
+
return;
|
|
1454
|
+
}
|
|
1455
|
+
this.lastWatermarkSentByRoom.set(jid, messageId);
|
|
1456
|
+
sendDisplayedMarker(this.client, messageId, jid);
|
|
1457
|
+
}
|
|
1394
1458
|
sendMessageReactionStanza(messageId, roomJid, reactionsList, data) {
|
|
1395
1459
|
sendMessageReaction(this.client, messageId, normalizeRoomJid(roomJid, this.conference), reactionsList, data || {});
|
|
1396
1460
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["xmpp","xml","walletToUsername","sendMediaMessage","getChatsPrivateStoreRequest","actionSetTimestampToPrivateStore","flushLastViewedToPrivateStore","sendTypingRequest","sendPing","fetchHistoryPage","getHistory","getHistoryPage","sendTextMessage","sendMessageReaction","sendTextMessageWithTranslateTag","deleteMessage","RoomJoinManager","getLastMessage","createRoom","setRoomImage","getRoomMembers","getRoomInfo","leaveTheRoom","editMessage","inviteRoomRequest","getRooms","handleStanza","onOnline","e2eeOnOnline","pushLog","devPushLog","isDevLogActive","normalizeRoomJid","store","applyPrivateStoreMarkers","setConnectionState","clearOutboundSends","enqueueOutboundSend","flushOutboundSends","getServerReadTimestamp","isCorruptFutureReadMarker","DEFAULT_DEV_SERVER","STOP_TIMEOUT_MS","withTimeout","promise","ms","Promise","resolve","settled","done","clearTimeout","timer","setTimeout","then","AUTH_RECOVERY_MAX_FAILURES","AUTH_REJECTIONS_LIMIT","isNotAuthorizedError","err","condition","name","type","error","includes","message","text","toString","test","HISTORY_WATCHDOG_MS","CREDENTIALS_REFRESH_MIN_INTERVAL_MS","XmppClient","host","service","conference","_status","status","next","changed","reported","suppressReconnect","getState","chatSettingStore","connection","dispatch","password","reconnectAttempts","maxReconnectAttempts","reconnectDelay","maxReconnectDelay","lastReconnectAt","reconnectTimer","reconnecting","lastAuthError","credentialsRefreshedAt","credentialsProvider","credentialsRefreshInFlight","onOnlineCallback","connectionEpoch","joins","getClient","client","getConnectionEpoch","isOnline","waitForOnline","timeoutMs","getConference","getHistoryQoS","xmppSettings","historyQoS","presencesReady","value","priorityPresencesReady","disableLastRead","activeRoomJID","activeRoomBoostUntil","softPauseUntil","mamInFlightByRoom","Map","maxInFlightHistory","softPauseAfterSendMs","activeRoomBoostTtlMs","alwaysPrioritizeActiveRoom","checkOnline","authLostHandler","authRecoveryFailures","authLostFired","authRejectionsSinceOnline","setAuthLostHandler","handler","markAuthRecoveryFailed","reason","console","warn","e","setCredentialsProvider","provider","setOnOnline","cb","updateCredentials","username","constructor","devServer","qos","initializeClient","setActiveRoomJid","roomJID","promoteRoomHistory","_roomJID","Date","now","isActiveRoomGateOpen","size","onCriticalSend","_messageId","prioritizeRoomPresence","ensureRoomPresence","waitForJoin","source","options","sendAllPresencesAndMarkReady","bumpConnectionEpoch","reset","enqueueHistoryTask","params","reissued","chatJID","max","before","existing","get","existingIsTeaser","Math","min","sourceRank","ctl","aborted","guarded","releaseMamEntry","String","catch","undefined","runHistoryTask","messages","self","entry","cur","delete","id","selfApplied","r","wait","startedAt","set","s","clientAlreadyStopped","url","match","detachEventListeners","reconnect","stop","setMaxListeners","origSend","send","bind","wrapped","stanza","tag","attrs","to","split","result","Object","defineProperty","writable","configurable","attachEventListeners","start","scheduleReconnect","onDisconnect","log","flushPendingSends","onError","onStanza","from","on","c","removeListener","reject","tick","Error","ensureConnected","timeout","exp","delay","pow","forceReconnect","streamAliveProbe","verifyStreamAlive","underlying","alive","finally","ensureStreamAlive","authFailed","staleCreds","rejectedPassword","refreshCredentialsOnce","old","suspendedForBackground","stopClientQuietly","fresh","sock","socket","end","suspend","resume","isSuspended","disconnect","close","getRoomsStanza","createRoomStanza","title","description","inviteRoomRequestStanza","roomJid","leaveTheRoomStanza","presenceInRoomStanza","getHistoryStanza","coalesceRoom","cursor","ok","complete","first","last","count","received","finSeen","getHistoryWindow","failed","page","window","getLastMessageArchiveStanza","setRoomImageStanza","roomThumbnail","roomBackground","getRoomInfoStanza","getRoomMembersStanza","isStreamReady","joinForSend","sendMessage","firstName","lastName","photo","walletAddress","userMessage","notDisplayedValue","isReply","showInChannel","mainMessage","customId","optimisticId","enqueuedAt","deleteMessageStanza","room","msgId","editMessageStanza","sendTypingRequestStanza","chatId","fullName","getChatsPrivateStoreRequestStanza","markers","normalized","roomsState","rooms","heapState","roomHeapSlice","jid","keys","n","Number","isFinite","newestKnownMs","length","actionSetTimestampToPrivateStoreStanza","timestamp","chats","flushLastViewedToPrivateStoreStanza","opts","sendMediaMessageStanza","data","setVCardStanza","_xmppUsername","createPrivateRoomStanza","sendMessageReactionStanza","messageId","reactionsList","sendTextMessageWithTranslateTagStanza","langSource"],"sourceRoot":"../../../src","sources":["networking/xmppClient.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["xmpp","xml","walletToUsername","sendMediaMessage","getChatsPrivateStoreRequest","actionSetTimestampToPrivateStore","flushLastViewedToPrivateStore","sendTypingRequest","sendPing","fetchHistoryPage","getHistory","getHistoryPage","sendTextMessage","sendMessageReaction","sendReceivedReceipt","sendDisplayedMarker","sendTextMessageWithTranslateTag","deleteMessage","RoomJoinManager","getLastMessage","createRoom","setRoomImage","getRoomMembers","getRoomInfo","leaveTheRoom","editMessage","inviteRoomRequest","getRooms","handleStanza","onOnline","e2eeOnOnline","pushLog","devPushLog","isDevLogActive","normalizeRoomJid","store","applyPrivateStoreMarkers","setConnectionState","clearOutboundSends","enqueueOutboundSend","flushOutboundSends","getServerReadTimestamp","isCorruptFutureReadMarker","DEFAULT_DEV_SERVER","RECEIPT_ACKED_CAP","STOP_TIMEOUT_MS","withTimeout","promise","ms","Promise","resolve","settled","done","clearTimeout","timer","setTimeout","then","AUTH_RECOVERY_MAX_FAILURES","AUTH_REJECTIONS_LIMIT","isNotAuthorizedError","err","condition","name","type","error","includes","message","text","toString","test","HISTORY_WATCHDOG_MS","CREDENTIALS_REFRESH_MIN_INTERVAL_MS","XmppClient","host","service","conference","_status","status","next","changed","reported","suppressReconnect","getState","chatSettingStore","connection","dispatch","password","reconnectAttempts","maxReconnectAttempts","reconnectDelay","maxReconnectDelay","lastReconnectAt","reconnectTimer","reconnecting","lastAuthError","credentialsRefreshedAt","credentialsProvider","credentialsRefreshInFlight","onOnlineCallback","connectionEpoch","joins","getClient","client","getConnectionEpoch","isOnline","waitForOnline","timeoutMs","getConference","getHistoryQoS","xmppSettings","historyQoS","presencesReady","value","priorityPresencesReady","disableLastRead","activeRoomJID","receiptAckedIds","Set","lastWatermarkSentByRoom","Map","activeRoomBoostUntil","softPauseUntil","mamInFlightByRoom","maxInFlightHistory","softPauseAfterSendMs","activeRoomBoostTtlMs","alwaysPrioritizeActiveRoom","checkOnline","authLostHandler","authRecoveryFailures","authLostFired","authRejectionsSinceOnline","setAuthLostHandler","handler","markAuthRecoveryFailed","reason","console","warn","e","setCredentialsProvider","provider","setOnOnline","cb","updateCredentials","username","constructor","devServer","qos","initializeClient","setActiveRoomJid","roomJID","promoteRoomHistory","_roomJID","Date","now","isActiveRoomGateOpen","size","onCriticalSend","_messageId","prioritizeRoomPresence","ensureRoomPresence","waitForJoin","source","options","sendAllPresencesAndMarkReady","bumpConnectionEpoch","reset","enqueueHistoryTask","params","reissued","chatJID","max","before","existing","get","existingIsTeaser","Math","min","sourceRank","ctl","aborted","guarded","releaseMamEntry","String","catch","undefined","runHistoryTask","messages","self","entry","cur","delete","id","selfApplied","r","wait","startedAt","set","s","clientAlreadyStopped","url","match","detachEventListeners","reconnect","stop","setMaxListeners","origSend","send","bind","wrapped","stanza","tag","attrs","to","split","result","Object","defineProperty","writable","configurable","attachEventListeners","start","scheduleReconnect","onDisconnect","log","flushPendingSends","onError","onStanza","from","on","c","removeListener","reject","tick","Error","ensureConnected","timeout","exp","delay","pow","forceReconnect","streamAliveProbe","verifyStreamAlive","underlying","alive","finally","ensureStreamAlive","authFailed","staleCreds","rejectedPassword","refreshCredentialsOnce","old","suspendedForBackground","stopClientQuietly","fresh","sock","socket","end","suspend","resume","isSuspended","disconnect","close","getRoomsStanza","createRoomStanza","title","description","inviteRoomRequestStanza","roomJid","leaveTheRoomStanza","presenceInRoomStanza","getHistoryStanza","coalesceRoom","cursor","ok","complete","first","last","count","received","finSeen","getHistoryWindow","failed","page","window","getLastMessageArchiveStanza","setRoomImageStanza","roomThumbnail","roomBackground","getRoomInfoStanza","getRoomMembersStanza","isStreamReady","joinForSend","sendMessage","firstName","lastName","photo","walletAddress","userMessage","notDisplayedValue","isReply","showInChannel","mainMessage","customId","optimisticId","enqueuedAt","deleteMessageStanza","room","msgId","editMessageStanza","sendTypingRequestStanza","chatId","fullName","getChatsPrivateStoreRequestStanza","markers","normalized","roomsState","rooms","heapState","roomHeapSlice","jid","keys","n","Number","isFinite","newestKnownMs","length","actionSetTimestampToPrivateStoreStanza","timestamp","chats","flushLastViewedToPrivateStoreStanza","opts","sendMediaMessageStanza","data","setVCardStanza","_xmppUsername","createPrivateRoomStanza","sendReceivedReceiptStanza","messageId","config","disableReadReceipts","key","has","add","oldest","values","sendDisplayedMarkerStanza","sendMessageReactionStanza","reactionsList","sendTextMessageWithTranslateTagStanza","langSource"],"sourceRoot":"../../../src","sources":["networking/xmppClient.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { fromBase64, toBase64 } from '../e2ee/crypto';
|
|
4
|
+
import { loadSecureStore } from '../helpers/secureStoreRuntime';
|
|
5
|
+
import { pushLog } from '../utils/devLogger';
|
|
6
|
+
import { SEALED_BOX_PUBLIC_KEY_BYTES, SEALED_BOX_SECRET_KEY_BYTES, generateSealedBoxKeyPair, sealedBoxKeyId, sealedBoxPublicKeyOf } from './sealedBox';
|
|
7
|
+
// The device key for encrypted pushes: one X25519 pair per install, in the
|
|
8
|
+
// platform keychain / keystore through expo-secure-store. The public half
|
|
9
|
+
// goes to the push service with the token (`pushKey`); the secret half
|
|
10
|
+
// never leaves the device and is read by whoever renders a sealed push —
|
|
11
|
+
// the Android background task (`sealedPushTask.ts`, same process, same
|
|
12
|
+
// store) and the iOS notification service extension, which reads the
|
|
13
|
+
// keychain item directly (plugins/notification-service), so the item's
|
|
14
|
+
// attributes below are a contract with the Swift side:
|
|
15
|
+
// service `ethora.push` (expo-secure-store stores it as `ethora.push:no-auth`)
|
|
16
|
+
// account `ethora_push_secret_key`, UTF-8
|
|
17
|
+
// value base64 of the 32-byte secret key, UTF-8
|
|
18
|
+
// group the app's first keychain access group, which the config
|
|
19
|
+
// plugin shares with the extension
|
|
20
|
+
// Readable after the first unlock so a push that arrives while the phone
|
|
21
|
+
// is locked still decrypts; this device only, so an iCloud keychain copy
|
|
22
|
+
// on another device is never a key for pushes that go to this one.
|
|
23
|
+
|
|
24
|
+
export const PUSH_KEY_KEYCHAIN_SERVICE = 'ethora.push';
|
|
25
|
+
export const PUSH_SECRET_KEY_ITEM = 'ethora_push_secret_key';
|
|
26
|
+
export const PUSH_PUBLIC_KEY_ITEM = 'ethora_push_public_key';
|
|
27
|
+
let warnedMissingStore = false;
|
|
28
|
+
const warnMissingStoreOnce = () => {
|
|
29
|
+
if (warnedMissingStore) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
warnedMissingStore = true;
|
|
33
|
+
pushLog('warn', 'push: expo-secure-store is not installed, so no device key for encrypted ' + 'pushes can be kept; pushes stay in the clear.');
|
|
34
|
+
};
|
|
35
|
+
const storeOptions = () => {
|
|
36
|
+
const store = loadSecureStore();
|
|
37
|
+
if (!store) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const accessible = store.accessible.afterFirstUnlockThisDeviceOnly;
|
|
41
|
+
return {
|
|
42
|
+
keychainService: PUSH_KEY_KEYCHAIN_SERVICE,
|
|
43
|
+
...(accessible !== undefined ? {
|
|
44
|
+
keychainAccessible: accessible
|
|
45
|
+
} : {})
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
const readItem = async item => {
|
|
49
|
+
const store = loadSecureStore();
|
|
50
|
+
const options = storeOptions();
|
|
51
|
+
if (!store || !options) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
return await store.getItemAsync(item, options);
|
|
56
|
+
} catch (e) {
|
|
57
|
+
pushLog('warn', `push: reading ${item} failed`, e);
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const decodeKey = (raw, length) => {
|
|
62
|
+
if (!raw) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
const bytes = fromBase64(raw);
|
|
67
|
+
return bytes.length === length ? bytes : null;
|
|
68
|
+
} catch {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The stored pair, or null when there is none (or it is unreadable).
|
|
75
|
+
* The public key is re-derived from the secret, so the pair is consistent
|
|
76
|
+
* even if only the secret item survived.
|
|
77
|
+
*/
|
|
78
|
+
export async function loadPushSecretKey() {
|
|
79
|
+
const secretKey = decodeKey(await readItem(PUSH_SECRET_KEY_ITEM), SEALED_BOX_SECRET_KEY_BYTES);
|
|
80
|
+
if (!secretKey) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
const stored = decodeKey(await readItem(PUSH_PUBLIC_KEY_ITEM), SEALED_BOX_PUBLIC_KEY_BYTES);
|
|
84
|
+
return {
|
|
85
|
+
publicKey: stored ?? sealedBoxPublicKeyOf(secretKey),
|
|
86
|
+
secretKey
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
const describe = publicKey => ({
|
|
90
|
+
publicKey: toBase64(publicKey),
|
|
91
|
+
keyId: sealedBoxKeyId(publicKey)
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
/** The public half of the stored pair, null when the device has no key. */
|
|
95
|
+
export async function getPushKeyPair() {
|
|
96
|
+
const key = await loadPushSecretKey();
|
|
97
|
+
return key ? describe(key.publicKey) : null;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Generate and store a new pair, replacing any existing one. Pushes sealed
|
|
102
|
+
* for the old key stop opening at once, so re-register the token with the
|
|
103
|
+
* new `publicKey` right after. Null when expo-secure-store is missing or
|
|
104
|
+
* the keychain refused the write.
|
|
105
|
+
*/
|
|
106
|
+
export async function resetPushKeyPair() {
|
|
107
|
+
const store = loadSecureStore();
|
|
108
|
+
const options = storeOptions();
|
|
109
|
+
if (!store || !options) {
|
|
110
|
+
warnMissingStoreOnce();
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
const pair = generateSealedBoxKeyPair();
|
|
114
|
+
try {
|
|
115
|
+
await store.setItemAsync(PUSH_SECRET_KEY_ITEM, toBase64(pair.secretKey), options);
|
|
116
|
+
await store.setItemAsync(PUSH_PUBLIC_KEY_ITEM, toBase64(pair.publicKey), options);
|
|
117
|
+
} catch (e) {
|
|
118
|
+
pushLog('warn', 'push: storing the device key failed', e);
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
const check = await loadPushSecretKey();
|
|
122
|
+
if (!check || toBase64(check.publicKey) !== toBase64(pair.publicKey)) {
|
|
123
|
+
pushLog('warn', 'push: the device key was not kept');
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
pushLog('rn', `push: new device key ${sealedBoxKeyId(pair.publicKey)}`);
|
|
127
|
+
return describe(pair.publicKey);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* The device key for encrypted pushes, created on first call. Hand
|
|
132
|
+
* `publicKey` to `registerPushToken` (or send it as `pushKey` yourself).
|
|
133
|
+
*/
|
|
134
|
+
export async function ensurePushKeyPair() {
|
|
135
|
+
const existing = await getPushKeyPair();
|
|
136
|
+
return existing ?? resetPushKeyPair();
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/** Remove the pair; the next `ensurePushKeyPair` creates a new one. */
|
|
140
|
+
export async function clearPushKeyPair() {
|
|
141
|
+
const store = loadSecureStore();
|
|
142
|
+
const options = storeOptions();
|
|
143
|
+
if (!store || !options) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
for (const item of [PUSH_SECRET_KEY_ITEM, PUSH_PUBLIC_KEY_ITEM]) {
|
|
147
|
+
try {
|
|
148
|
+
await store.deleteItemAsync(item, options);
|
|
149
|
+
} catch {
|
|
150
|
+
// Not there — nothing to remove.
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/** Test seam only. */
|
|
156
|
+
export const __resetPushKeyStoreForTests = () => {
|
|
157
|
+
warnedMissingStore = false;
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=pushKeyStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fromBase64","toBase64","loadSecureStore","pushLog","SEALED_BOX_PUBLIC_KEY_BYTES","SEALED_BOX_SECRET_KEY_BYTES","generateSealedBoxKeyPair","sealedBoxKeyId","sealedBoxPublicKeyOf","PUSH_KEY_KEYCHAIN_SERVICE","PUSH_SECRET_KEY_ITEM","PUSH_PUBLIC_KEY_ITEM","warnedMissingStore","warnMissingStoreOnce","storeOptions","store","accessible","afterFirstUnlockThisDeviceOnly","keychainService","undefined","keychainAccessible","readItem","item","options","getItemAsync","e","decodeKey","raw","length","bytes","loadPushSecretKey","secretKey","stored","publicKey","describe","keyId","getPushKeyPair","key","resetPushKeyPair","pair","setItemAsync","check","ensurePushKeyPair","existing","clearPushKeyPair","deleteItemAsync","__resetPushKeyStoreForTests"],"sourceRoot":"../../../src","sources":["push/pushKeyStore.ts"],"mappings":"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","ignoreList":[]}
|