@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
package/lib/commonjs/main.js
CHANGED
|
@@ -33,6 +33,18 @@ Object.defineProperty(exports, "LIGHT_THEME", {
|
|
|
33
33
|
return _theme.LIGHT_THEME;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "PUSH_KEY_KEYCHAIN_SERVICE", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _pushKeyStore.PUSH_KEY_KEYCHAIN_SERVICE;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "PUSH_SECRET_KEY_ITEM", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _pushKeyStore.PUSH_SECRET_KEY_ITEM;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
36
48
|
Object.defineProperty(exports, "PushRegistrationError", {
|
|
37
49
|
enumerable: true,
|
|
38
50
|
get: function () {
|
|
@@ -45,18 +57,48 @@ Object.defineProperty(exports, "RefreshFatalError", {
|
|
|
45
57
|
return _authRefresh.RefreshFatalError;
|
|
46
58
|
}
|
|
47
59
|
});
|
|
60
|
+
Object.defineProperty(exports, "SEALED_PUSH_ALG", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _sealedPush.SEALED_PUSH_ALG;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "SEALED_PUSH_TASK", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _sealedPushTask.SEALED_PUSH_TASK;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
48
72
|
Object.defineProperty(exports, "XmppProvider", {
|
|
49
73
|
enumerable: true,
|
|
50
74
|
get: function () {
|
|
51
75
|
return _xmppProvider.XmppProvider;
|
|
52
76
|
}
|
|
53
77
|
});
|
|
78
|
+
Object.defineProperty(exports, "clearPushKeyPair", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function () {
|
|
81
|
+
return _pushKeyStore.clearPushKeyPair;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
54
84
|
Object.defineProperty(exports, "detectPushTokenType", {
|
|
55
85
|
enumerable: true,
|
|
56
86
|
get: function () {
|
|
57
87
|
return _push.detectPushTokenType;
|
|
58
88
|
}
|
|
59
89
|
});
|
|
90
|
+
Object.defineProperty(exports, "ensurePushKeyPair", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _pushKeyStore.ensurePushKeyPair;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "getPushKeyPair", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () {
|
|
99
|
+
return _pushKeyStore.getPushKeyPair;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
60
102
|
Object.defineProperty(exports, "getRegisteredPushToken", {
|
|
61
103
|
enumerable: true,
|
|
62
104
|
get: function () {
|
|
@@ -105,6 +147,12 @@ Object.defineProperty(exports, "isRefreshFatalError", {
|
|
|
105
147
|
return _authRefresh.isRefreshFatalError;
|
|
106
148
|
}
|
|
107
149
|
});
|
|
150
|
+
Object.defineProperty(exports, "isSealedPush", {
|
|
151
|
+
enumerable: true,
|
|
152
|
+
get: function () {
|
|
153
|
+
return _sealedPush.isSealedPush;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
108
156
|
Object.defineProperty(exports, "logoutService", {
|
|
109
157
|
enumerable: true,
|
|
110
158
|
get: function () {
|
|
@@ -123,6 +171,18 @@ Object.defineProperty(exports, "openRoomFromPush", {
|
|
|
123
171
|
return _pushPayload.openRoomFromPush;
|
|
124
172
|
}
|
|
125
173
|
});
|
|
174
|
+
Object.defineProperty(exports, "openSealedPush", {
|
|
175
|
+
enumerable: true,
|
|
176
|
+
get: function () {
|
|
177
|
+
return _sealedPush.openSealedPush;
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
Object.defineProperty(exports, "presentSealedPush", {
|
|
181
|
+
enumerable: true,
|
|
182
|
+
get: function () {
|
|
183
|
+
return _sealedPushTask.presentSealedPush;
|
|
184
|
+
}
|
|
185
|
+
});
|
|
126
186
|
Object.defineProperty(exports, "refreshAuthTokens", {
|
|
127
187
|
enumerable: true,
|
|
128
188
|
get: function () {
|
|
@@ -141,12 +201,24 @@ Object.defineProperty(exports, "registerPushToken", {
|
|
|
141
201
|
return _pushRegistration.registerPushToken;
|
|
142
202
|
}
|
|
143
203
|
});
|
|
204
|
+
Object.defineProperty(exports, "registerSealedPushTask", {
|
|
205
|
+
enumerable: true,
|
|
206
|
+
get: function () {
|
|
207
|
+
return _sealedPushTask.registerSealedPushTask;
|
|
208
|
+
}
|
|
209
|
+
});
|
|
144
210
|
Object.defineProperty(exports, "resendMessage", {
|
|
145
211
|
enumerable: true,
|
|
146
212
|
get: function () {
|
|
147
213
|
return _resendMessage.resendMessage;
|
|
148
214
|
}
|
|
149
215
|
});
|
|
216
|
+
Object.defineProperty(exports, "resetPushKeyPair", {
|
|
217
|
+
enumerable: true,
|
|
218
|
+
get: function () {
|
|
219
|
+
return _pushKeyStore.resetPushKeyPair;
|
|
220
|
+
}
|
|
221
|
+
});
|
|
150
222
|
Object.defineProperty(exports, "resolveStringTable", {
|
|
151
223
|
enumerable: true,
|
|
152
224
|
get: function () {
|
|
@@ -159,6 +231,12 @@ Object.defineProperty(exports, "resolveTheme", {
|
|
|
159
231
|
return _theme.resolveTheme;
|
|
160
232
|
}
|
|
161
233
|
});
|
|
234
|
+
Object.defineProperty(exports, "sealedPushEnvelopeOf", {
|
|
235
|
+
enumerable: true,
|
|
236
|
+
get: function () {
|
|
237
|
+
return _sealedPush.sealedPushEnvelopeOf;
|
|
238
|
+
}
|
|
239
|
+
});
|
|
162
240
|
Object.defineProperty(exports, "setPushEnabled", {
|
|
163
241
|
enumerable: true,
|
|
164
242
|
get: function () {
|
|
@@ -244,6 +322,9 @@ var _useUnreadMessagesCounter = require("./hooks/useUnreadMessagesCounter");
|
|
|
244
322
|
var _pushPayload = require("./helpers/pushPayload");
|
|
245
323
|
var _pushRegistration = require("./services/pushRegistration");
|
|
246
324
|
var _push = require("./networking/api-requests/push.api");
|
|
325
|
+
var _pushKeyStore = require("./push/pushKeyStore");
|
|
326
|
+
var _sealedPushTask = require("./push/sealedPushTask");
|
|
327
|
+
var _sealedPush = require("./push/sealedPush");
|
|
247
328
|
var _useChatRoomFocus = require("./hooks/useChatRoomFocus");
|
|
248
329
|
var _useLogout = require("./hooks/useLogout");
|
|
249
330
|
var _useQRCodeChatHandler = require("./hooks/useQRCodeChatHandler");
|
package/lib/commonjs/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_ReduxWrapper","_xmppProvider","_useUnreadMessagesCounter","_pushPayload","_pushRegistration","_push","_useChatRoomFocus","_useLogout","_useQRCodeChatHandler","_resendMessage","_useChatFonts","_useT","_strings","_authRefresh","_theme","_chatSettingsSlice","_e2ee"],"sourceRoot":"../../src","sources":["main.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["require","_ReduxWrapper","_xmppProvider","_useUnreadMessagesCounter","_pushPayload","_pushRegistration","_push","_pushKeyStore","_sealedPushTask","_sealedPush","_useChatRoomFocus","_useLogout","_useQRCodeChatHandler","_resendMessage","_useChatFonts","_useT","_strings","_authRefresh","_theme","_chatSettingsSlice","_e2ee"],"sourceRoot":"../../src","sources":["main.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBAA,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAGA,IAAAG,yBAAA,GAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAJ,OAAA;AAEA,IAAAK,iBAAA,GAAAL,OAAA;AAYA,IAAAM,KAAA,GAAAN,OAAA;AAaA,IAAAO,aAAA,GAAAP,OAAA;AASA,IAAAQ,eAAA,GAAAR,OAAA;AAMA,IAAAS,WAAA,GAAAT,OAAA;AAYA,IAAAU,iBAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,qBAAA,GAAAZ,OAAA;AACA,IAAAa,cAAA,GAAAb,OAAA;AAEA,IAAAc,aAAA,GAAAd,OAAA;AAKA,IAAAe,KAAA,GAAAf,OAAA;AACA,IAAAgB,QAAA,GAAAhB,OAAA;AAqCA,IAAAiB,YAAA,GAAAjB,OAAA;AAYA,IAAAkB,MAAA,GAAAlB,OAAA;AASA,IAAAmB,kBAAA,GAAAnB,OAAA;AACA,IAAAoB,KAAA,GAAApB,OAAA","ignoreList":[]}
|
|
@@ -174,7 +174,10 @@ const cloneFormData = formData => {
|
|
|
174
174
|
}
|
|
175
175
|
return copy;
|
|
176
176
|
};
|
|
177
|
-
|
|
177
|
+
|
|
178
|
+
// How long an upload may sit without progress before it is aborted.
|
|
179
|
+
const UPLOAD_STALL_MS = 90_000;
|
|
180
|
+
function postMultipart(url, body, path, onProgress) {
|
|
178
181
|
const token = _roomStore.store.getState().chatSettingStore?.user?.token ?? '';
|
|
179
182
|
(0, _devLogger.pushLog)('http', `→ POST ${url} (xhr)`, {
|
|
180
183
|
path,
|
|
@@ -233,10 +236,66 @@ function postMultipart(url, body, path) {
|
|
|
233
236
|
xhr.onerror = () => failNetwork('Network request failed');
|
|
234
237
|
xhr.ontimeout = () => failNetwork('Upload timed out');
|
|
235
238
|
xhr.onabort = () => failNetwork('Upload aborted');
|
|
239
|
+
|
|
240
|
+
// A stalled connection must not hold an upload (and the message waiting on
|
|
241
|
+
// it) forever: abort when the body makes no progress for UPLOAD_STALL_MS,
|
|
242
|
+
// and again while the server takes that long to answer once it is up.
|
|
243
|
+
let stallTimer = null;
|
|
244
|
+
const armStall = () => {
|
|
245
|
+
if (stallTimer) {
|
|
246
|
+
clearTimeout(stallTimer);
|
|
247
|
+
}
|
|
248
|
+
stallTimer = setTimeout(() => {
|
|
249
|
+
try {
|
|
250
|
+
xhr.abort();
|
|
251
|
+
} catch {
|
|
252
|
+
// already finished
|
|
253
|
+
}
|
|
254
|
+
}, UPLOAD_STALL_MS);
|
|
255
|
+
};
|
|
256
|
+
const disarmStall = () => {
|
|
257
|
+
if (stallTimer) {
|
|
258
|
+
clearTimeout(stallTimer);
|
|
259
|
+
}
|
|
260
|
+
stallTimer = null;
|
|
261
|
+
};
|
|
262
|
+
const settledOnload = xhr.onload;
|
|
263
|
+
xhr.onload = (...args) => {
|
|
264
|
+
disarmStall();
|
|
265
|
+
settledOnload?.apply(xhr, args);
|
|
266
|
+
};
|
|
267
|
+
const settledOnerror = xhr.onerror;
|
|
268
|
+
xhr.onerror = (...args) => {
|
|
269
|
+
disarmStall();
|
|
270
|
+
settledOnerror?.apply(xhr, args);
|
|
271
|
+
};
|
|
272
|
+
const settledOnabort = xhr.onabort;
|
|
273
|
+
xhr.onabort = (...args) => {
|
|
274
|
+
disarmStall();
|
|
275
|
+
settledOnabort?.apply(xhr, args);
|
|
276
|
+
};
|
|
277
|
+
if (xhr.upload) {
|
|
278
|
+
xhr.upload.onprogress = event => {
|
|
279
|
+
armStall();
|
|
280
|
+
if (!onProgress) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
if (!event.lengthComputable || !(event.total > 0)) {
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
const percent = Math.min(100, Math.max(0, Math.round(event.loaded / event.total * 100)));
|
|
287
|
+
try {
|
|
288
|
+
onProgress(percent);
|
|
289
|
+
} catch {
|
|
290
|
+
// A progress listener must never fail the upload itself.
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
}
|
|
236
294
|
xhr.open('POST', url);
|
|
237
295
|
xhr.setRequestHeader('Authorization', token);
|
|
238
296
|
xhr.setRequestHeader('Accept', '*/*');
|
|
239
297
|
// Deliberately no Content-Type — see the note above.
|
|
298
|
+
armStall();
|
|
240
299
|
xhr.send(body);
|
|
241
300
|
});
|
|
242
301
|
}
|
|
@@ -258,7 +317,7 @@ async function uploadFileV2(formData, activeRoomJID, options = {}) {
|
|
|
258
317
|
const body = cloneFormData(formData);
|
|
259
318
|
body.append('chatName', chatName);
|
|
260
319
|
try {
|
|
261
|
-
return await postMultipart(`${apiRoot}${SECURE_UPLOAD_PATH}`, body, SECURE_UPLOAD_PATH);
|
|
320
|
+
return await postMultipart(`${apiRoot}${SECURE_UPLOAD_PATH}`, body, SECURE_UPLOAD_PATH, options.onProgress);
|
|
262
321
|
} catch (error) {
|
|
263
322
|
if (!canFallBackToLegacyUpload(error)) {
|
|
264
323
|
throw error;
|
|
@@ -267,7 +326,7 @@ async function uploadFileV2(formData, activeRoomJID, options = {}) {
|
|
|
267
326
|
console.warn(`[chat] ${SECURE_UPLOAD_PATH} unreachable, falling back to ${LEGACY_UPLOAD_PATH} for this session`, error);
|
|
268
327
|
}
|
|
269
328
|
}
|
|
270
|
-
return postMultipart(`${apiRoot}${LEGACY_UPLOAD_PATH}`, formData, LEGACY_UPLOAD_PATH);
|
|
329
|
+
return postMultipart(`${apiRoot}${LEGACY_UPLOAD_PATH}`, formData, LEGACY_UPLOAD_PATH, options.onProgress);
|
|
271
330
|
}
|
|
272
331
|
const __resetSecureUploadLatchForTests = () => {
|
|
273
332
|
secureUploadUnavailable = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_apiClient","_interopRequireWildcard","require","_roomStore","_devLogger","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","loginEmail","email","password","res","http","post","headers","Authorization","getCurrentAppToken","console","log","data","user","fileToken","loginSocial","idToken","accessToken","loginType","authToken","registerSocial","signUpPlan","signupPlan","checkEmailExist","loginViaJwt","clientToken","response","hasUser","hasToken","token","hasRefreshToken","refreshToken","userData","_id","firstName","lastName","xmppUsername","uploadFile","formData","store","getState","chatSettingStore","Accept","transformRequest","delete","SECURE_UPLOAD_PATH","LEGACY_UPLOAD_PATH","cloneFormData","copy","FormData","source","Array","isArray","_parts","key","value","append","forEach","getParts","part","fieldName","string","_headers","file","undefined","postMultipart","url","body","path","pushLog","baseUrl","getCurrentBaseURL","slice","Promise","resolve","reject","xhr","XMLHttpRequest","failNetwork","reason","err","Error","code","config","onload","status","responseBody","JSON","parse","responseText","statusText","resultsCount","results","length","onerror","ontimeout","onabort","open","setRequestHeader","send","canFallBackToLegacyUpload","error","secureUploadUnavailable","uploadFileV2","activeRoomJID","options","clientEncrypted","chatName","split","apiRoot","replace","warn","__resetSecureUploadLatchForTests","exports"],"sourceRoot":"../../../../src","sources":["networking/api-requests/auth.api.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_apiClient","_interopRequireWildcard","require","_roomStore","_devLogger","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","loginEmail","email","password","res","http","post","headers","Authorization","getCurrentAppToken","console","log","data","user","fileToken","loginSocial","idToken","accessToken","loginType","authToken","registerSocial","signUpPlan","signupPlan","checkEmailExist","loginViaJwt","clientToken","response","hasUser","hasToken","token","hasRefreshToken","refreshToken","userData","_id","firstName","lastName","xmppUsername","uploadFile","formData","store","getState","chatSettingStore","Accept","transformRequest","delete","SECURE_UPLOAD_PATH","LEGACY_UPLOAD_PATH","cloneFormData","copy","FormData","source","Array","isArray","_parts","key","value","append","forEach","getParts","part","fieldName","string","_headers","file","undefined","UPLOAD_STALL_MS","postMultipart","url","body","path","onProgress","pushLog","baseUrl","getCurrentBaseURL","slice","Promise","resolve","reject","xhr","XMLHttpRequest","failNetwork","reason","err","Error","code","config","onload","status","responseBody","JSON","parse","responseText","statusText","resultsCount","results","length","onerror","ontimeout","onabort","stallTimer","armStall","clearTimeout","setTimeout","abort","disarmStall","settledOnload","args","apply","settledOnerror","settledOnabort","upload","onprogress","event","lengthComputable","total","percent","Math","min","max","round","loaded","open","setRequestHeader","send","canFallBackToLegacyUpload","error","secureUploadUnavailable","uploadFileV2","activeRoomJID","options","clientEncrypted","chatName","split","apiRoot","replace","warn","__resetSecureUploadLatchForTests","exports"],"sourceRoot":"../../../../src","sources":["networking/api-requests/auth.api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.isPushRegistrationError = exports.detectPushTokenType = exports.buildPushSubscriptionPayload = exports.buildPushGatewayPayload = exports.PushRegistrationError = void 0;
|
|
6
|
+
exports.isPushRegistrationError = exports.detectPushTokenType = exports.buildPushSubscriptionPayload = exports.buildPushGatewayPayload = exports.PushRegistrationError = exports.PUSH_KEY_ALG = void 0;
|
|
7
7
|
exports.registerPushSubscription = registerPushSubscription;
|
|
8
8
|
exports.resolvePushDeviceType = void 0;
|
|
9
9
|
exports.subscribeToPushGateway = subscribeToPushGateway;
|
|
@@ -51,32 +51,47 @@ const toRegistrationError = (error, what) => {
|
|
|
51
51
|
return new PushRegistrationError(status ? `${what} refused (HTTP ${status}): ${detail}` : `${what} failed: ${detail}`, status, body);
|
|
52
52
|
};
|
|
53
53
|
const isUnknownFieldError = error => error?.response?.status === 422 && /not allowed/i.test(String(error?.response?.data?.error ?? ''));
|
|
54
|
-
|
|
54
|
+
|
|
55
|
+
/** The only sealing scheme the push service knows (README, "Encrypted pushes"). */
|
|
56
|
+
const PUSH_KEY_ALG = exports.PUSH_KEY_ALG = 'sealed-box-x25519';
|
|
57
|
+
const buildPushSubscriptionPayload = (token, tokenType, pushKey, pushKeyId) => ({
|
|
55
58
|
registrationToken: token,
|
|
56
59
|
deviceType: resolvePushDeviceType(),
|
|
57
|
-
tokenType
|
|
60
|
+
tokenType,
|
|
61
|
+
...(pushKey ? {
|
|
62
|
+
pushKey,
|
|
63
|
+
pushKeyAlg: PUSH_KEY_ALG,
|
|
64
|
+
...(pushKeyId ? {
|
|
65
|
+
pushKeyId
|
|
66
|
+
} : {})
|
|
67
|
+
} : {})
|
|
58
68
|
});
|
|
59
69
|
exports.buildPushSubscriptionPayload = buildPushSubscriptionPayload;
|
|
60
70
|
async function registerPushSubscription({
|
|
61
71
|
appId,
|
|
62
72
|
token,
|
|
63
73
|
tokenType,
|
|
64
|
-
authToken
|
|
74
|
+
authToken,
|
|
75
|
+
pushKey,
|
|
76
|
+
pushKeyId
|
|
65
77
|
}) {
|
|
66
78
|
const path = `/v1/push/subscription/${encodeURIComponent(appId)}`;
|
|
67
79
|
const headers = {
|
|
68
80
|
Authorization: authToken
|
|
69
81
|
};
|
|
70
|
-
const payload = buildPushSubscriptionPayload(token, tokenType);
|
|
82
|
+
const payload = buildPushSubscriptionPayload(token, tokenType, pushKey, pushKeyId);
|
|
71
83
|
try {
|
|
72
84
|
await _apiClient.default.post(path, payload, {
|
|
73
85
|
headers
|
|
74
86
|
});
|
|
75
87
|
return;
|
|
76
88
|
} catch (error) {
|
|
77
|
-
|
|
89
|
+
// A backend that predates `tokenType` still delivers to apns / fcm
|
|
90
|
+
// tokens. One that predates `pushKey` would deliver in the clear: the
|
|
91
|
+
// host asked for encryption, so that is an error, never a quiet fallback.
|
|
92
|
+
const canDowngrade = (tokenType === 'apns' || tokenType === 'fcm') && !pushKey;
|
|
78
93
|
if (!(canDowngrade && isUnknownFieldError(error))) {
|
|
79
|
-
throw toRegistrationError(error, tokenType === 'expo' ? 'Push registration (the backend does not accept Expo push tokens yet)' : 'Push registration');
|
|
94
|
+
throw toRegistrationError(error, tokenType === 'expo' ? 'Push registration (the backend does not accept Expo push tokens yet)' : pushKey && isUnknownFieldError(error) ? 'Push registration (the backend does not support encrypted pushes)' : 'Push registration');
|
|
80
95
|
}
|
|
81
96
|
}
|
|
82
97
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_axios","_interopRequireDefault","require","_reactNative","_roomStore","_apiClient","e","__esModule","default","PushRegistrationError","Error","constructor","message","status","body","name","exports","isPushRegistrationError","error","EXPO_PUSH_TOKEN","APNS_TOKEN","detectPushTokenType","token","t","trim","test","resolvePushDeviceType","Platform","OS","toRegistrationError","what","response","data","detail","isUnknownFieldError","String","buildPushSubscriptionPayload","tokenType","registrationToken","deviceType","registerPushSubscription","appId","authToken","path","encodeURIComponent","headers","Authorization","payload","http","post","canDowngrade","unregisterPushSubscription","delete","endpoint","DEFAULT_XMPP_HOST","resolveXmppHost","config","store","getState","chatSettingStore","xmppSettings","host","gatewayAxios","axios","create","buildPushGatewayPayload","userJid","projectName","jid","includes","subscribeToPushGateway","args","baseURL","apiUrl"],"sourceRoot":"../../../../src","sources":["networking/api-requests/push.api.ts"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAgC,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOhC;AACA;AACA;AACA;AACA;AACO,MAAMG,qBAAqB,SAASC,KAAK,CAAC;EAI/CC,WAAWA,CAACC,OAAe,EAAEC,MAAe,EAAEC,IAAc,EAAE;IAC5D,KAAK,CAACF,OAAO,CAAC;IACd,IAAI,CAACG,IAAI,GAAG,uBAAuB;IACnC,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,IAAI,GAAGA,IAAI;EAClB;AACF;AAACE,OAAA,CAAAP,qBAAA,GAAAA,qBAAA;AAEM,MAAMQ,uBAAuB,GAClCC,KAAc,IAEbA,KAAK,EAA4BH,IAAI,KAAK,uBAAuB;AAACC,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAErE,MAAME,eAAe,GAAG,oCAAoC;AAC5D,MAAMC,UAAU,GAAG,kBAAkB;AAE9B,MAAMC,mBAAmB,GAAIC,KAAa,IAAoB;EACnE,MAAMC,CAAC,GAAGD,KAAK,CAACE,IAAI,CAAC,CAAC;EACtB,IAAIL,eAAe,CAACM,IAAI,CAACF,CAAC,CAAC,EAAE;IAC3B,OAAO,MAAM;EACf;EACA,IAAIH,UAAU,CAACK,IAAI,CAACF,CAAC,CAAC,EAAE;IACtB,OAAO,MAAM;EACf;EACA,OAAO,KAAK;AACd,CAAC;AAACP,OAAA,CAAAK,mBAAA,GAAAA,mBAAA;AAEK,MAAMK,qBAAqB,GAAGA,CAAA,KACnCC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS;AAACZ,OAAA,CAAAU,qBAAA,GAAAA,qBAAA;AAE5C,MAAMG,mBAAmB,GAAGA,CAACX,KAAU,EAAEY,IAAY,KAA4B;EAC/E,MAAMjB,MAA0B,GAAGK,KAAK,EAAEa,QAAQ,EAAElB,MAAM;EAC1D,MAAMC,IAAI,GAAGI,KAAK,EAAEa,QAAQ,EAAEC,IAAI;EAClC,MAAMC,MAAM,GACT,OAAOnB,IAAI,EAAEI,KAAK,KAAK,QAAQ,IAAIJ,IAAI,CAACI,KAAK,IAC9CA,KAAK,EAAEN,OAAO,IACd,eAAe;EACjB,OAAO,IAAIH,qBAAqB,CAC9BI,MAAM,GACF,GAAGiB,IAAI,kBAAkBjB,MAAM,MAAMoB,MAAM,EAAE,GAC7C,GAAGH,IAAI,YAAYG,MAAM,EAAE,EAC/BpB,MAAM,EACNC,IACF,CAAC;AACH,CAAC;AAED,MAAMoB,mBAAmB,GAAIhB,KAAU,IACrCA,KAAK,EAAEa,QAAQ,EAAElB,MAAM,KAAK,GAAG,IAC/B,cAAc,CAACY,IAAI,CAACU,MAAM,CAACjB,KAAK,EAAEa,QAAQ,EAAEC,IAAI,EAAEd,KAAK,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"names":["_axios","_interopRequireDefault","require","_reactNative","_roomStore","_apiClient","e","__esModule","default","PushRegistrationError","Error","constructor","message","status","body","name","exports","isPushRegistrationError","error","EXPO_PUSH_TOKEN","APNS_TOKEN","detectPushTokenType","token","t","trim","test","resolvePushDeviceType","Platform","OS","toRegistrationError","what","response","data","detail","isUnknownFieldError","String","PUSH_KEY_ALG","buildPushSubscriptionPayload","tokenType","pushKey","pushKeyId","registrationToken","deviceType","pushKeyAlg","registerPushSubscription","appId","authToken","path","encodeURIComponent","headers","Authorization","payload","http","post","canDowngrade","unregisterPushSubscription","delete","endpoint","DEFAULT_XMPP_HOST","resolveXmppHost","config","store","getState","chatSettingStore","xmppSettings","host","gatewayAxios","axios","create","buildPushGatewayPayload","userJid","projectName","jid","includes","subscribeToPushGateway","args","baseURL","apiUrl"],"sourceRoot":"../../../../src","sources":["networking/api-requests/push.api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.onRoomKicked = exports.onRealtimeMessage = exports.onReactionMessage = exports.onReactionHistory = exports.onPresenceInRoom = exports.onNewRoomCreated = exports.onMessageHistory = exports.onMessageError = exports.onGetRoomInfo = exports.onGetMembers = exports.onGetLastMessageArchive = exports.onGetChatRooms = exports.onEditMessage = exports.onDeleteMessage = exports.onChatInvite = exports.handleComposing = void 0;
|
|
6
|
+
exports.onRoomKicked = exports.onReceivedReceipt = exports.onRealtimeMessage = exports.onReactionMessage = exports.onReactionHistory = exports.onPresenceInRoom = exports.onNewRoomCreated = exports.onMessageHistory = exports.onMessageError = exports.onGetRoomInfo = exports.onGetMembers = exports.onGetLastMessageArchive = exports.onGetChatRooms = exports.onEditMessage = exports.onDisplayedMarker = exports.onDeleteMessage = exports.onChatInvite = exports.isReceiptMarkerStanza = exports.handleComposing = void 0;
|
|
7
7
|
var _roomStore = require("../roomStore");
|
|
8
8
|
var _mamRouter = require("./xmpp/mamRouter");
|
|
9
9
|
var _mamReactions = require("../helpers/mamReactions");
|
|
@@ -20,6 +20,40 @@ var _strings = require("../i18n/strings");
|
|
|
20
20
|
var _mamQueryIds = require("./xmpp/mamQueryIds");
|
|
21
21
|
var _rooms = require("./api-requests/rooms.api");
|
|
22
22
|
var _pushSubscriptionService = require("../services/pushSubscriptionService");
|
|
23
|
+
var _readReceipts = require("../helpers/readReceipts");
|
|
24
|
+
const RECEIPTS_NS = 'urn:xmpp:receipts';
|
|
25
|
+
const CHAT_MARKERS_NS = 'urn:xmpp:chat-markers:0';
|
|
26
|
+
|
|
27
|
+
// XEP-0184 / XEP-0333 frames: broadcast to the room, carry no <data>, and are
|
|
28
|
+
// never chat messages (no bubble, no unread, no toast).
|
|
29
|
+
const isReceiptMarkerStanza = stanza => (0, _readReceipts.isReceiptMarkerId)(stanza?.attrs?.id) || !!stanza?.getChild?.('received', RECEIPTS_NS) || !!stanza?.getChild?.('displayed', CHAT_MARKERS_NS);
|
|
30
|
+
|
|
31
|
+
// XEP-0184: ack a message from someone else so their client can move its
|
|
32
|
+
// tick to "delivered". Our own echo and system messages are never acked.
|
|
33
|
+
exports.isReceiptMarkerStanza = isReceiptMarkerStanza;
|
|
34
|
+
const ackReceivedMessage = (message, roomJID, stanzaFrom, senderJID, xmppWs) => {
|
|
35
|
+
if (!xmppWs?.sendReceivedReceiptStanza || !message?.id) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (message.isSystemMessage === 'true') {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
// A call-log row is built on this device; the sender has no such message.
|
|
42
|
+
if (String(message.id).startsWith('calllog-')) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const user = _roomStore.store.getState().chatSettingStore.user;
|
|
46
|
+
if ((0, _notificationPolicy.isOwnIncomingMessage)({
|
|
47
|
+
message,
|
|
48
|
+
stanzaFrom,
|
|
49
|
+
senderJID,
|
|
50
|
+
user
|
|
51
|
+
})) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
xmppWs.sendReceivedReceiptStanza(String(message.id), roomJID);
|
|
55
|
+
};
|
|
56
|
+
|
|
23
57
|
// TO DO: we are thinking to refactor this code in the following way:
|
|
24
58
|
// each stanza will be parsed for 'type'
|
|
25
59
|
// then it will be handled based on the type
|
|
@@ -29,7 +63,10 @@ var _pushSubscriptionService = require("../services/pushSubscriptionService");
|
|
|
29
63
|
// types can be added into our chat protocol (XMPP stanza add field type="") to make it easier to parse here
|
|
30
64
|
|
|
31
65
|
//core default
|
|
32
|
-
const onRealtimeMessage = async stanza => {
|
|
66
|
+
const onRealtimeMessage = async (stanza, xmppWs) => {
|
|
67
|
+
if (isReceiptMarkerStanza(stanza)) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
33
70
|
if (!stanza?.getChild('result') && !stanza.getChild('composing') && !stanza.getChild('paused') && !stanza.getChild('subject') && !stanza.is('iq') && stanza.attrs.id !== 'deleteMessageStanza' && !stanza.getChild('reactions')) {
|
|
34
71
|
const body = stanza?.getChild('body');
|
|
35
72
|
const archived = stanza?.getChild('archived');
|
|
@@ -96,6 +133,7 @@ const onRealtimeMessage = async stanza => {
|
|
|
96
133
|
roomJID,
|
|
97
134
|
message
|
|
98
135
|
}));
|
|
136
|
+
ackReceivedMessage(message, roomJID, stanza.attrs.from, senderJID, xmppWs);
|
|
99
137
|
// A sender missing from usersSet (a big room only carries 30 members)
|
|
100
138
|
// is resolved lazily; known and recently failed ids are dropped inside.
|
|
101
139
|
try {
|
|
@@ -153,7 +191,55 @@ const onDeleteMessage = async stanza => {
|
|
|
153
191
|
}));
|
|
154
192
|
}
|
|
155
193
|
};
|
|
194
|
+
|
|
195
|
+
// XEP-0184 delivery receipt from an occupant. The real sender travels in the
|
|
196
|
+
// <received> `from` attr, because the stanza's own `from` is the room nick.
|
|
156
197
|
exports.onDeleteMessage = onDeleteMessage;
|
|
198
|
+
const onReceivedReceipt = stanza => {
|
|
199
|
+
if (!String(stanza?.attrs?.id || '').startsWith('message-received')) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
const received = stanza.getChild('received', RECEIPTS_NS);
|
|
203
|
+
if (!received) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
const messageId = received.attrs.id;
|
|
207
|
+
const fromXmppUsername = String(received.attrs.from || '').split('@')[0];
|
|
208
|
+
const roomJID = String(stanza.attrs.from || '').split('/')[0];
|
|
209
|
+
if (!messageId || !fromXmppUsername || !roomJID) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
_roomStore.store.dispatch((0, _roomsSlice.setReceivedReceipt)({
|
|
213
|
+
roomJID,
|
|
214
|
+
messageId,
|
|
215
|
+
fromXmppUsername,
|
|
216
|
+
timestamp: Date.now()
|
|
217
|
+
}));
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
// XEP-0333 read marker from an occupant: one watermark per user and room.
|
|
221
|
+
exports.onReceivedReceipt = onReceivedReceipt;
|
|
222
|
+
const onDisplayedMarker = stanza => {
|
|
223
|
+
if (!String(stanza?.attrs?.id || '').startsWith('message-displayed')) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const displayed = stanza.getChild('displayed', CHAT_MARKERS_NS);
|
|
227
|
+
if (!displayed) {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
const messageId = displayed.attrs.id;
|
|
231
|
+
const xmppUsername = String(displayed.attrs.from || '').split('@')[0];
|
|
232
|
+
const roomJID = String(stanza.attrs.from || '').split('/')[0];
|
|
233
|
+
if (!messageId || !xmppUsername || !roomJID) {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
_roomStore.store.dispatch((0, _roomsSlice.setDisplayedMarker)({
|
|
237
|
+
roomJID,
|
|
238
|
+
xmppUsername,
|
|
239
|
+
messageId
|
|
240
|
+
}));
|
|
241
|
+
};
|
|
242
|
+
exports.onDisplayedMarker = onDisplayedMarker;
|
|
157
243
|
const onEditMessage = async stanza => {
|
|
158
244
|
if (stanza?.attrs?.id?.includes('edit-message')) {
|
|
159
245
|
const stanzaId = stanza.getChild('stanza-id');
|
|
@@ -173,6 +259,11 @@ const isMamResult = stanza => !!stanza?.is?.('message') && stanza.getChild?.('re
|
|
|
173
259
|
const parseMamResult = async stanza => {
|
|
174
260
|
{
|
|
175
261
|
const forwardedMsg = stanza.getChild('result')?.getChild('forwarded')?.getChild('message');
|
|
262
|
+
// A receipt or read marker archived with the room is not a message: the
|
|
263
|
+
// page still counts it (the paging cursor follows it), nothing is shown.
|
|
264
|
+
if (isReceiptMarkerStanza(forwardedMsg)) {
|
|
265
|
+
return undefined;
|
|
266
|
+
}
|
|
176
267
|
if (forwardedMsg?.getChild?.('reactions')) {
|
|
177
268
|
const reaction = (0, _mamReactions.extractReaction)(forwardedMsg, stanza.attrs?.from, stanza.getChild('result')?.attrs?.id);
|
|
178
269
|
if (reaction && !(0, _mamRouter.collectMamReaction)(stanza, reaction)) {
|
|
@@ -265,7 +356,7 @@ const parseMamResult = async stanza => {
|
|
|
265
356
|
return message;
|
|
266
357
|
}
|
|
267
358
|
};
|
|
268
|
-
const onMessageHistory = async stanza => {
|
|
359
|
+
const onMessageHistory = async (stanza, xmppWs) => {
|
|
269
360
|
if (!isMamResult(stanza)) {
|
|
270
361
|
return;
|
|
271
362
|
}
|
|
@@ -284,6 +375,12 @@ const onMessageHistory = async stanza => {
|
|
|
284
375
|
(0, _mamRouter.collectMamMessage)(stanza, message);
|
|
285
376
|
}
|
|
286
377
|
}
|
|
378
|
+
if (message) {
|
|
379
|
+
// A message fetched by catch-up never reaches the live ack, so it is
|
|
380
|
+
// acked here (the client remembers which ones it already acked).
|
|
381
|
+
const innerFrom = stanza.getChild('result')?.getChild('forwarded')?.getChild('message')?.attrs?.from;
|
|
382
|
+
ackReceivedMessage(message, String(stanza.attrs?.from || '').split('/')[0], innerFrom, undefined, xmppWs);
|
|
383
|
+
}
|
|
287
384
|
if (!claimed && message) {
|
|
288
385
|
_roomStore.store.dispatch((0, _roomsSlice.addRoomMessage)({
|
|
289
386
|
roomJID: stanza.attrs.from,
|