@ethora/chat-component-rn 26.10.4 → 26.10.6
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 +8 -0
- package/README.md +15 -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/VideoCalls/ActiveCallBar.js +61 -16
- package/lib/commonjs/components/VideoCalls/ActiveCallBar.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/CallIcons.js +41 -16
- package/lib/commonjs/components/VideoCalls/CallIcons.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +183 -9
- package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js +40 -15
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/callSessionController.js +49 -26
- package/lib/commonjs/components/VideoCalls/callSessionController.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/callUiStore.js +33 -4
- package/lib/commonjs/components/VideoCalls/callUiStore.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/livekitRuntime.js +9 -1
- package/lib/commonjs/components/VideoCalls/livekitRuntime.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/useCallKeep.js +197 -28
- package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js +88 -0
- package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/usePipTile.js +232 -0
- package/lib/commonjs/components/VideoCalls/usePipTile.js.map +1 -0
- 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/updateMessagesTillLast.js +3 -1
- package/lib/commonjs/helpers/updateMessagesTillLast.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 +144 -0
- package/lib/commonjs/i18n/strings.js.map +1 -1
- 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/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/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/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/VideoCalls/ActiveCallBar.js +63 -18
- package/lib/module/components/VideoCalls/ActiveCallBar.js.map +1 -1
- package/lib/module/components/VideoCalls/CallIcons.js +38 -15
- package/lib/module/components/VideoCalls/CallIcons.js.map +1 -1
- package/lib/module/components/VideoCalls/VideoCallOverlay.js +185 -11
- package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
- package/lib/module/components/VideoCalls/VideoCallSession.js +41 -16
- package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/module/components/VideoCalls/callSessionController.js +46 -24
- package/lib/module/components/VideoCalls/callSessionController.js.map +1 -1
- package/lib/module/components/VideoCalls/callUiStore.js +30 -3
- package/lib/module/components/VideoCalls/callUiStore.js.map +1 -1
- package/lib/module/components/VideoCalls/livekitRuntime.js +9 -1
- package/lib/module/components/VideoCalls/livekitRuntime.js.map +1 -1
- package/lib/module/components/VideoCalls/useCallKeep.js +198 -29
- package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -1
- package/lib/module/components/VideoCalls/useOngoingCallNotification.js +84 -0
- package/lib/module/components/VideoCalls/useOngoingCallNotification.js.map +1 -0
- package/lib/module/components/VideoCalls/usePipTile.js +228 -0
- package/lib/module/components/VideoCalls/usePipTile.js.map +1 -0
- 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/updateMessagesTillLast.js +3 -1
- package/lib/module/helpers/updateMessagesTillLast.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 +144 -0
- package/lib/module/i18n/strings.js.map +1 -1
- 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/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/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/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/VideoCalls/ActiveCallBar.d.ts +9 -3
- package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/CallIcons.d.ts +9 -0
- package/lib/typescript/components/VideoCalls/CallIcons.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/callSessionController.d.ts +7 -0
- package/lib/typescript/components/VideoCalls/callSessionController.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/callUiStore.d.ts +13 -0
- package/lib/typescript/components/VideoCalls/callUiStore.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts +5 -0
- package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/useCallKeep.d.ts +12 -0
- package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/useOngoingCallNotification.d.ts +10 -0
- package/lib/typescript/components/VideoCalls/useOngoingCallNotification.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/usePipTile.d.ts +46 -0
- package/lib/typescript/components/VideoCalls/usePipTile.d.ts.map +1 -0
- 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/updateMessagesTillLast.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 +1 -1
- 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/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/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/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 +69 -1
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +4 -1
- package/plugins/notification-service/Info.plist +31 -0
- package/plugins/notification-service/NotificationService.swift +82 -0
- package/plugins/withNotificationServiceExtension.js +137 -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/VideoCalls/ActiveCallBar.tsx +56 -10
- package/src/components/VideoCalls/CallIcons.tsx +36 -12
- package/src/components/VideoCalls/VideoCallOverlay.tsx +205 -8
- package/src/components/VideoCalls/VideoCallSession.tsx +45 -13
- package/src/components/VideoCalls/callSessionController.ts +51 -20
- package/src/components/VideoCalls/callUiStore.ts +33 -3
- package/src/components/VideoCalls/livekitRuntime.ts +13 -0
- package/src/components/VideoCalls/useCallKeep.ts +204 -33
- package/src/components/VideoCalls/useOngoingCallNotification.ts +113 -0
- package/src/components/VideoCalls/usePipTile.ts +214 -0
- 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/updateMessagesTillLast.tsx +2 -1
- package/src/hooks/useSendMessage.tsx +448 -249
- package/src/i18n/strings.ts +144 -0
- package/src/main.ts +3 -0
- package/src/networking/api-requests/auth.api.ts +60 -3
- 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/roomStore/persistence.ts +94 -3
- package/src/roomStore/roomHeapSlice.ts +23 -1
- package/src/roomStore/roomsSlice.ts +112 -1
- 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 +83 -1
- package/src/version.ts +1 -1
- package/lib/commonjs/components/VideoCalls/useDraggable.js +0 -59
- package/lib/commonjs/components/VideoCalls/useDraggable.js.map +0 -1
- package/lib/module/components/VideoCalls/useDraggable.js +0 -55
- package/lib/module/components/VideoCalls/useDraggable.js.map +0 -1
- package/lib/typescript/components/VideoCalls/useDraggable.d.ts +0 -19
- package/lib/typescript/components/VideoCalls/useDraggable.d.ts.map +0 -1
- package/src/components/VideoCalls/useDraggable.ts +0 -46
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cached","isLiveKitAvailable","loadLiveKit","undefined","rn","require","core","Room","RoomEvent","Track","ConnectionState","VideoPresets","VideoTrack","AudioSession","registerGlobals","globalsRegistered","ensureLiveKitGlobals","runtime","__resetLiveKitRuntimeForTests"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/livekitRuntime.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["cached","isLiveKitAvailable","loadLiveKit","undefined","rn","require","core","webrtc","Room","RoomEvent","Track","ConnectionState","VideoPresets","VideoTrack","AudioSession","registerGlobals","RTCAudioSession","globalsRegistered","ensureLiveKitGlobals","runtime","__resetLiveKitRuntimeForTests"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/livekitRuntime.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA0BA,IAAIA,MAAyC;AAE7C,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAeC,WAAW,CAAC,CAAC,KAAK,IAAI;;AAEvE;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,WAAW,GAAGA,CAAA,KAA6B;EACtD,IAAIF,MAAM,KAAKG,SAAS,EAAE;IACxB,OAAOH,MAAM;EACf;EAEA,IAAI;IACF;IACA,MAAMI,EAAE,GAAGC,OAAO,CAAC,uBAAuB,CAAC;IAC3C;IACA;IACA;IACA;IACA;IACA,MAAMC,IAAI,GAAGD,OAAO,CAAC,gBAAgB,CAAC;IACtC,IAAIE,MAAW,GAAG,IAAI;IACtB,IAAI;MACF;MACAA,MAAM,GAAGF,OAAO,CAAC,8BAA8B,CAAC;IAClD,CAAC,CAAC,MAAM;MACN;IAAA;IAGFL,MAAM,GAAG;MACPQ,IAAI,EAAEF,IAAI,CAACE,IAAI;MACfC,SAAS,EAAEH,IAAI,CAACG,SAAS;MACzBC,KAAK,EAAEJ,IAAI,CAACI,KAAK;MACjBC,eAAe,EAAEL,IAAI,CAACK,eAAe;MACrCC,YAAY,EAAEN,IAAI,CAACM,YAAY;MAC/BC,UAAU,EAAET,EAAE,CAACS,UAAU;MACzBC,YAAY,EAAEV,EAAE,CAACU,YAAY;MAC7BC,eAAe,EAAEX,EAAE,CAACW,eAAe;MACnCC,eAAe,EAAET,MAAM,EAAES,eAAe,IAAI;IAC9C,CAAC;EACH,CAAC,CAAC,MAAM;IACNhB,MAAM,GAAG,IAAI;EACf;EAEA,OAAOA,MAAM;AACf,CAAC;AAED,IAAIiB,iBAAiB,GAAG,KAAK;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAIC,OAAuB,IAAW;EACrE,IAAIF,iBAAiB,EAAE;IAAC;EAAO;EAC/B,IAAI;IACFE,OAAO,CAACJ,eAAe,GAAG,CAAC;EAC7B,CAAC,CAAC,MAAM;IACN;EAAA;EAEFE,iBAAiB,GAAG,IAAI;AAC1B,CAAC;;AAED;AACA,OAAO,MAAMG,6BAA6B,GAAGA,CAAA,KAAY;EACvDpB,MAAM,GAAGG,SAAS;EAClBc,iBAAiB,GAAG,KAAK;AAC3B,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useEffect, useMemo, useRef } from 'react';
|
|
3
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { Platform } from 'react-native';
|
|
5
5
|
import { useDispatch, useSelector } from 'react-redux';
|
|
6
6
|
import { store } from '../../roomStore';
|
|
7
7
|
import { acceptIncomingCall, declineIncomingCall } from '../../roomStore/callSlice';
|
|
8
8
|
import { sendCallStateSignal } from '../../networking/callTokenStanza';
|
|
9
|
+
import { terminateActiveCall } from './callActions';
|
|
10
|
+
import { setCallMicEnabled, useCallSession } from './callSessionController';
|
|
11
|
+
import { loadLiveKit } from './livekitRuntime';
|
|
12
|
+
import { setCallSystemRinging } from './callUiStore';
|
|
9
13
|
|
|
10
14
|
/**
|
|
11
15
|
* Native incoming-call UI (Android ConnectionService / iOS CallKit) via
|
|
@@ -16,6 +20,12 @@ import { sendCallStateSignal } from '../../networking/callTokenStanza';
|
|
|
16
20
|
* loaded lazily exactly like the LiveKit packages, so hosts that don't
|
|
17
21
|
* install it get the plain in-app ring screen and nothing breaks.
|
|
18
22
|
*
|
|
23
|
+
* On iOS every call, incoming or outgoing, is also reported to CallKit for
|
|
24
|
+
* as long as it lasts. That is what puts it in the Dynamic Island / the
|
|
25
|
+
* green status-bar pill when the app is in the background, with the
|
|
26
|
+
* system's own mute and end buttons, and what keeps the call's audio
|
|
27
|
+
* running in the background.
|
|
28
|
+
*
|
|
19
29
|
* Platform reality, stated plainly:
|
|
20
30
|
* - Android: full value. A ConnectionService call shows the system
|
|
21
31
|
* incoming-call screen over the lock screen.
|
|
@@ -74,16 +84,31 @@ const toUuid = seed => {
|
|
|
74
84
|
const hex = bytes.map(b => b.toString(16).padStart(2, '0')).join('');
|
|
75
85
|
return [hex.slice(0, 8), hex.slice(8, 12), '4' + hex.slice(13, 16), (parseInt(hex[16], 16) & 0x3 | 0x8).toString(16) + hex.slice(17, 20), hex.slice(20, 32)].join('-');
|
|
76
86
|
};
|
|
87
|
+
const trace = (...args) => {
|
|
88
|
+
if (__DEV__) {
|
|
89
|
+
console.log('[calls] CallKit:', ...args);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
77
92
|
export const useCallKeep = () => {
|
|
78
93
|
const dispatch = useDispatch();
|
|
79
94
|
const call = useSelector(state => state.call);
|
|
95
|
+
const session = useCallSession();
|
|
80
96
|
const callKeep = useMemo(() => loadCallKeep(), []);
|
|
97
|
+
const [ready, setReady] = useState(false);
|
|
81
98
|
const activeUuidRef = useRef(null);
|
|
82
|
-
|
|
99
|
+
// The CallKit call has been answered (from the system screen or in-app).
|
|
100
|
+
const answeredRef = useRef(false);
|
|
101
|
+
const outgoingReportedRef = useRef('none');
|
|
102
|
+
const isIOS = Platform.OS === 'ios';
|
|
83
103
|
|
|
84
104
|
// One-time native setup.
|
|
85
105
|
useEffect(() => {
|
|
86
106
|
if (!callKeep) {
|
|
107
|
+
if (isIOS) {
|
|
108
|
+
// The usual reason for "no Dynamic Island": the JS package is there
|
|
109
|
+
// but the binary was built without the RNCallKeep pod.
|
|
110
|
+
trace('unavailable (react-native-callkeep is not linked in this build)');
|
|
111
|
+
}
|
|
87
112
|
return;
|
|
88
113
|
}
|
|
89
114
|
let cancelled = false;
|
|
@@ -92,7 +117,12 @@ export const useCallKeep = () => {
|
|
|
92
117
|
await callKeep.setup({
|
|
93
118
|
ios: {
|
|
94
119
|
appName: 'Ethora',
|
|
95
|
-
supportsVideo: true
|
|
120
|
+
supportsVideo: true,
|
|
121
|
+
maximumCallGroups: '1',
|
|
122
|
+
maximumCallsPerCallGroup: '1',
|
|
123
|
+
// Our calls are not phone calls: keep them out of the Phone
|
|
124
|
+
// app's Recents, whose entries would dial back into nowhere.
|
|
125
|
+
includesCallsInRecents: false
|
|
96
126
|
},
|
|
97
127
|
android: {
|
|
98
128
|
alertTitle: 'Permissions required',
|
|
@@ -111,28 +141,35 @@ export const useCallKeep = () => {
|
|
|
111
141
|
return;
|
|
112
142
|
}
|
|
113
143
|
callKeep.setAvailable?.(true);
|
|
114
|
-
|
|
115
|
-
|
|
144
|
+
trace('ready');
|
|
145
|
+
setReady(true);
|
|
146
|
+
} catch (error) {
|
|
147
|
+
trace('setup failed', error);
|
|
116
148
|
// Host didn't grant phone-account permission, or the module isn't
|
|
117
149
|
// linked. The in-app ring screen still works, so stay quiet.
|
|
118
|
-
|
|
150
|
+
setReady(false);
|
|
119
151
|
}
|
|
120
152
|
})();
|
|
121
153
|
return () => {
|
|
122
154
|
cancelled = true;
|
|
123
155
|
};
|
|
124
|
-
}, [callKeep]);
|
|
156
|
+
}, [callKeep, isIOS]);
|
|
125
157
|
|
|
126
|
-
// Bridge native
|
|
158
|
+
// Bridge native actions back into the call.
|
|
127
159
|
useEffect(() => {
|
|
128
160
|
if (!callKeep) {
|
|
129
161
|
return;
|
|
130
162
|
}
|
|
131
163
|
const onAnswer = () => {
|
|
164
|
+
answeredRef.current = true;
|
|
132
165
|
// The user answered from the system screen, which on Android may
|
|
133
166
|
// mean the app was not even in the foreground.
|
|
134
167
|
callKeep.backToForeground?.();
|
|
135
|
-
|
|
168
|
+
// Only from the ring: CallKit also reports the answer we make on its
|
|
169
|
+
// behalf after an in-app accept, and re-accepting then would drop an
|
|
170
|
+
// in-progress call back to 'connecting'.
|
|
171
|
+
const current = store.getState().call;
|
|
172
|
+
if (current.direction === 'incoming' && current.phase === 'ringing-incoming') {
|
|
136
173
|
dispatch(acceptIncomingCall());
|
|
137
174
|
}
|
|
138
175
|
};
|
|
@@ -144,54 +181,190 @@ export const useCallKeep = () => {
|
|
|
144
181
|
if (snapshot.direction === 'incoming' && snapshot.phase === 'ringing-incoming') {
|
|
145
182
|
sendCallStateSignal('declined');
|
|
146
183
|
dispatch(declineIncomingCall());
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
// Ended from the Dynamic Island, the lock screen or a headset.
|
|
187
|
+
if (snapshot.phase === 'error') {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
terminateActiveCall(snapshot.phase === 'requesting' ? 'cancelled' : 'ended');
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
// The system mute button (Dynamic Island, lock screen, CarPlay).
|
|
194
|
+
const onMuted = ({
|
|
195
|
+
muted
|
|
196
|
+
}) => {
|
|
197
|
+
void setCallMicEnabled(!muted);
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
// Another call (e.g. a phone call) put ours on hold: stop sending audio.
|
|
201
|
+
const onHold = ({
|
|
202
|
+
hold
|
|
203
|
+
}) => {
|
|
204
|
+
if (hold) {
|
|
205
|
+
void setCallMicEnabled(false);
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
// CallKit owns the iOS audio session: WebRTC may only start its audio
|
|
210
|
+
// unit once CallKit has activated the session.
|
|
211
|
+
const onAudioActivated = () => {
|
|
212
|
+
try {
|
|
213
|
+
loadLiveKit()?.RTCAudioSession?.audioSessionDidActivate?.();
|
|
214
|
+
} catch {
|
|
215
|
+
// Older webrtc builds manage the session on their own.
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
const onAudioDeactivated = () => {
|
|
219
|
+
try {
|
|
220
|
+
loadLiveKit()?.RTCAudioSession?.audioSessionDidDeactivate?.();
|
|
221
|
+
} catch {
|
|
222
|
+
// noop
|
|
147
223
|
}
|
|
148
224
|
};
|
|
149
225
|
callKeep.addEventListener('answerCall', onAnswer);
|
|
150
226
|
callKeep.addEventListener('endCall', onEnd);
|
|
227
|
+
callKeep.addEventListener('didPerformSetMutedCallAction', onMuted);
|
|
228
|
+
callKeep.addEventListener('didToggleHoldCallAction', onHold);
|
|
229
|
+
callKeep.addEventListener('didActivateAudioSession', onAudioActivated);
|
|
230
|
+
// CallKit rejected or dropped our calls (e.g. a build without the voip
|
|
231
|
+
// background mode): there is nothing to end any more.
|
|
232
|
+
const onReset = () => {
|
|
233
|
+
trace('provider reset');
|
|
234
|
+
};
|
|
235
|
+
callKeep.addEventListener('didResetProvider', onReset);
|
|
236
|
+
// The system's verdict on displayIncomingCall ("Unentitled" means the
|
|
237
|
+
// app lacks the voip background mode).
|
|
238
|
+
const onDisplayed = ({
|
|
239
|
+
error,
|
|
240
|
+
errorCode
|
|
241
|
+
}) => {
|
|
242
|
+
trace('incoming call shown', error ? `failed: ${errorCode || ''} ${error}` : 'ok');
|
|
243
|
+
// CallKit refused it (Do Not Disturb, unentitled...): bring the
|
|
244
|
+
// in-app ring card back so the call can still be answered.
|
|
245
|
+
if (error) {
|
|
246
|
+
setCallSystemRinging(false);
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
callKeep.addEventListener('didDisplayIncomingCall', onDisplayed);
|
|
250
|
+
callKeep.addEventListener('didDeactivateAudioSession', onAudioDeactivated);
|
|
151
251
|
return () => {
|
|
152
252
|
callKeep.removeEventListener('answerCall');
|
|
153
253
|
callKeep.removeEventListener('endCall');
|
|
254
|
+
callKeep.removeEventListener('didPerformSetMutedCallAction');
|
|
255
|
+
callKeep.removeEventListener('didToggleHoldCallAction');
|
|
256
|
+
callKeep.removeEventListener('didActivateAudioSession');
|
|
257
|
+
callKeep.removeEventListener('didDeactivateAudioSession');
|
|
258
|
+
callKeep.removeEventListener('didResetProvider');
|
|
259
|
+
callKeep.removeEventListener('didDisplayIncomingCall');
|
|
154
260
|
};
|
|
155
261
|
}, [callKeep, dispatch]);
|
|
262
|
+
const displayName = call.roomName || 'Ethora';
|
|
263
|
+
const isRinging = call.direction === 'incoming' && call.phase === 'ringing-incoming';
|
|
264
|
+
const isLive = call.phase === 'connecting' || call.phase === 'in-call';
|
|
265
|
+
const isOutgoing = call.direction === 'outgoing';
|
|
266
|
+
const peerConnected = session.anchorAt !== null;
|
|
156
267
|
|
|
157
|
-
//
|
|
268
|
+
// Report the call to the system as its state changes.
|
|
158
269
|
useEffect(() => {
|
|
159
|
-
if (!callKeep || !
|
|
270
|
+
if (!callKeep || !ready) {
|
|
160
271
|
return;
|
|
161
272
|
}
|
|
162
|
-
const
|
|
163
|
-
|
|
273
|
+
const release = () => {
|
|
274
|
+
if (!activeUuidRef.current) {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
try {
|
|
278
|
+
callKeep.endCall(activeUuidRef.current);
|
|
279
|
+
} catch {
|
|
280
|
+
// Screen already gone.
|
|
281
|
+
}
|
|
282
|
+
activeUuidRef.current = null;
|
|
283
|
+
answeredRef.current = false;
|
|
284
|
+
outgoingReportedRef.current = 'none';
|
|
285
|
+
};
|
|
286
|
+
if (call.phase === 'idle' || call.phase === 'error') {
|
|
287
|
+
release();
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
if (isRinging) {
|
|
291
|
+
if (activeUuidRef.current) {
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
164
294
|
const uuid = toUuid(call.callId || call.roomJid || String(Date.now()));
|
|
165
295
|
activeUuidRef.current = uuid;
|
|
296
|
+
answeredRef.current = false;
|
|
297
|
+
// iOS: the system banner is the ring UI (Telegram-style); the in-app
|
|
298
|
+
// card would only cover the screen under it.
|
|
299
|
+
if (isIOS) {
|
|
300
|
+
setCallSystemRinging(true);
|
|
301
|
+
}
|
|
166
302
|
try {
|
|
167
|
-
callKeep.displayIncomingCall(uuid,
|
|
303
|
+
callKeep.displayIncomingCall(uuid, displayName, displayName, 'generic', call.kind === 'video');
|
|
168
304
|
} catch {
|
|
169
305
|
activeUuidRef.current = null;
|
|
306
|
+
setCallSystemRinging(false);
|
|
170
307
|
}
|
|
171
308
|
return;
|
|
172
309
|
}
|
|
173
310
|
|
|
174
|
-
//
|
|
175
|
-
//
|
|
176
|
-
if (
|
|
311
|
+
// iOS: an outgoing call is a CallKit call from the first ring, so it
|
|
312
|
+
// shows in the Dynamic Island even before the peer answers.
|
|
313
|
+
if (isIOS && isOutgoing && !activeUuidRef.current && callKeep.startCall) {
|
|
314
|
+
// Unique per call: CallKit refuses a UUID it has seen before, and
|
|
315
|
+
// the callId only arrives with the token.
|
|
316
|
+
const uuid = toUuid(`${call.roomJid || ''}|${call.startedAt || Date.now()}`);
|
|
317
|
+
activeUuidRef.current = uuid;
|
|
318
|
+
outgoingReportedRef.current = 'none';
|
|
319
|
+
trace('startCall', uuid);
|
|
177
320
|
try {
|
|
178
|
-
callKeep.
|
|
321
|
+
callKeep.startCall(uuid, displayName, displayName, 'generic', call.kind === 'video');
|
|
179
322
|
} catch {
|
|
180
|
-
|
|
323
|
+
activeUuidRef.current = null;
|
|
181
324
|
}
|
|
182
|
-
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
const uuid = activeUuidRef.current;
|
|
328
|
+
if (!uuid) {
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
if (isIOS && isOutgoing) {
|
|
332
|
+
if (peerConnected && outgoingReportedRef.current !== 'connected') {
|
|
333
|
+
outgoingReportedRef.current = 'connected';
|
|
334
|
+
callKeep.reportConnectedOutgoingCallWithUUID?.(uuid);
|
|
335
|
+
} else if (isLive && !peerConnected && outgoingReportedRef.current === 'none') {
|
|
336
|
+
outgoingReportedRef.current = 'connecting';
|
|
337
|
+
callKeep.reportConnectingOutgoingCallWithUUID?.(uuid);
|
|
338
|
+
}
|
|
339
|
+
return;
|
|
183
340
|
}
|
|
184
|
-
|
|
341
|
+
|
|
342
|
+
// Incoming, accepted with the in-app button: tell CallKit, or its
|
|
343
|
+
// screen keeps ringing on top of the call.
|
|
344
|
+
if (isIOS && isLive && !answeredRef.current) {
|
|
345
|
+
answeredRef.current = true;
|
|
185
346
|
try {
|
|
186
|
-
callKeep.
|
|
347
|
+
callKeep.answerIncomingCall?.(uuid);
|
|
187
348
|
} catch {
|
|
188
349
|
// noop
|
|
189
350
|
}
|
|
190
|
-
activeUuidRef.current = null;
|
|
191
351
|
}
|
|
192
|
-
}, [callKeep,
|
|
352
|
+
}, [callKeep, ready, isIOS, isRinging, isLive, isOutgoing, peerConnected, displayName, call.phase, call.callId, call.roomJid, call.startedAt, call.kind]);
|
|
193
353
|
|
|
194
|
-
//
|
|
354
|
+
// Keep the system mute button in step with ours.
|
|
355
|
+
useEffect(() => {
|
|
356
|
+
const uuid = activeUuidRef.current;
|
|
357
|
+
if (!callKeep || !ready || !isIOS || !uuid || !isLive) {
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
try {
|
|
361
|
+
callKeep.setMutedCall?.(uuid, !session.micOn);
|
|
362
|
+
} catch {
|
|
363
|
+
// noop
|
|
364
|
+
}
|
|
365
|
+
}, [callKeep, ready, isIOS, isLive, session.micOn]);
|
|
366
|
+
|
|
367
|
+
// Nothing to clean up on unmount beyond the active call: this hook
|
|
195
368
|
// lives for the lifetime of the provider.
|
|
196
369
|
useEffect(() => () => {
|
|
197
370
|
if (callKeep && activeUuidRef.current) {
|
|
@@ -202,9 +375,5 @@ export const useCallKeep = () => {
|
|
|
202
375
|
}
|
|
203
376
|
}
|
|
204
377
|
}, [callKeep]);
|
|
205
|
-
|
|
206
|
-
// iOS-only note kept as a runtime no-op so the import isn't unused when
|
|
207
|
-
// the platform check is tree-shaken in release builds.
|
|
208
|
-
void Platform.OS;
|
|
209
378
|
};
|
|
210
379
|
//# sourceMappingURL=useCallKeep.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useMemo","useRef","Platform","useDispatch","useSelector","store","acceptIncomingCall","declineIncomingCall","sendCallStateSignal","cachedCallKeep","loadCallKeep","undefined","NativeModules","require","RNCallKeep","mod","default","toUuid","seed","hash","bytes","i","ch","charCodeAt","Math","max","length","imul","push","hex","map","b","toString","padStart","join","slice","parseInt","useCallKeep","dispatch","call","state","callKeep","activeUuidRef","readyRef","cancelled","setup","ios","appName","supportsVideo","android","alertTitle","alertDescription","cancelButton","okButton","additionalPermissions","foregroundService","channelId","channelName","notificationTitle","setAvailable","current","onAnswer","backToForeground","getState","direction","onEnd","snapshot","phase","addEventListener","removeEventListener","isRinging","uuid","callId","roomJid","String","Date","now","displayIncomingCall","peerXmppUsername","roomName","kind","endCall","OS"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/useCallKeep.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useRef","useState","Platform","useDispatch","useSelector","store","acceptIncomingCall","declineIncomingCall","sendCallStateSignal","terminateActiveCall","setCallMicEnabled","useCallSession","loadLiveKit","setCallSystemRinging","cachedCallKeep","loadCallKeep","undefined","NativeModules","require","RNCallKeep","mod","default","toUuid","seed","hash","bytes","i","ch","charCodeAt","Math","max","length","imul","push","hex","map","b","toString","padStart","join","slice","parseInt","trace","args","__DEV__","console","log","useCallKeep","dispatch","call","state","session","callKeep","ready","setReady","activeUuidRef","answeredRef","outgoingReportedRef","isIOS","OS","cancelled","setup","ios","appName","supportsVideo","maximumCallGroups","maximumCallsPerCallGroup","includesCallsInRecents","android","alertTitle","alertDescription","cancelButton","okButton","additionalPermissions","foregroundService","channelId","channelName","notificationTitle","setAvailable","error","onAnswer","current","backToForeground","getState","direction","phase","onEnd","snapshot","onMuted","muted","onHold","hold","onAudioActivated","RTCAudioSession","audioSessionDidActivate","onAudioDeactivated","audioSessionDidDeactivate","addEventListener","onReset","onDisplayed","errorCode","removeEventListener","displayName","roomName","isRinging","isLive","isOutgoing","peerConnected","anchorAt","release","endCall","uuid","callId","roomJid","String","Date","now","displayIncomingCall","kind","startCall","startedAt","reportConnectedOutgoingCallWithUUID","reportConnectingOutgoingCallWithUUID","answerIncomingCall","setMutedCall","micOn"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/useCallKeep.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC5D,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,WAAW,EAAEC,WAAW,QAAQ,aAAa;AACtD,SAAoBC,KAAK,QAAQ,iBAAiB;AAClD,SAASC,kBAAkB,EAAEC,mBAAmB,QAAQ,2BAA2B;AACnF,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,SAASC,mBAAmB,QAAQ,eAAe;AACnD,SAASC,iBAAiB,EAAEC,cAAc,QAAQ,yBAAyB;AAC3E,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,SAASC,oBAAoB,QAAQ,eAAe;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA+BA,IAAIC,cAAiD;AAErD,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAA6B;EACvD,IAAID,cAAc,KAAKE,SAAS,EAAE;IAChC,OAAOF,cAAc;EACvB;EACA,IAAI;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAM;MAAEG;IAAc,CAAC,GAAGC,OAAO,CAAC,cAAc,CAAC;IACjD,IAAI,CAACD,aAAa,EAAEE,UAAU,EAAE;MAC9BL,cAAc,GAAG,IAAI;MACrB,OAAOA,cAAc;IACvB;IACA;IACA,MAAMM,GAAG,GAAGF,OAAO,CAAC,uBAAuB,CAAC;IAC5CJ,cAAc,GAAIM,GAAG,EAAEC,OAAO,IAAID,GAAsB;EAC1D,CAAC,CAAC,MAAM;IACNN,cAAc,GAAG,IAAI;EACvB;EACA,OAAOA,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AACA,MAAMQ,MAAM,GAAIC,IAAY,IAAa;EACvC,IAAIC,IAAI,GAAG,UAAU;EACrB,MAAMC,KAAe,GAAG,EAAE;EAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,EAAE,EAAEA,CAAC,EAAE,EAAE;IAC3B,MAAMC,EAAE,GAAGJ,IAAI,CAACK,UAAU,CAACF,CAAC,GAAGG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEP,IAAI,CAACQ,MAAM,CAAC,CAAC,GAAGL,CAAC;IAC5DF,IAAI,IAAIG,EAAE;IACVH,IAAI,GAAGK,IAAI,CAACG,IAAI,CAACR,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;IACxCC,KAAK,CAACQ,IAAI,CAACT,IAAI,GAAG,IAAI,CAAC;EACzB;EACA,MAAMU,GAAG,GAAGT,KAAK,CAACU,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;EACtE,OAAO,CACLL,GAAG,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACfN,GAAG,CAACM,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAChB,GAAG,GAAGN,GAAG,CAACM,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EACvB,CAAEC,QAAQ,CAACP,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAI,GAAG,EAAEG,QAAQ,CAAC,EAAE,CAAC,GAAGH,GAAG,CAACM,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EACtEN,GAAG,CAACM,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAClB,CAACD,IAAI,CAAC,GAAG,CAAC;AACb,CAAC;AAED,MAAMG,KAAK,GAAGA,CAAC,GAAGC,IAAe,KAAK;EACpC,IAAIC,OAAO,EAAE;IAACC,OAAO,CAACC,GAAG,CAAC,kBAAkB,EAAE,GAAGH,IAAI,CAAC;EAAC;AACzD,CAAC;AAED,OAAO,MAAMI,WAAW,GAAGA,CAAA,KAAY;EACrC,MAAMC,QAAQ,GAAG7C,WAAW,CAAC,CAAC;EAC9B,MAAM8C,IAAI,GAAG7C,WAAW,CAAE8C,KAAgB,IAAKA,KAAK,CAACD,IAAI,CAAC;EAC1D,MAAME,OAAO,GAAGxC,cAAc,CAAC,CAAC;EAChC,MAAMyC,QAAQ,GAAGrD,OAAO,CAAC,MAAMgB,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC;EAClD,MAAM,CAACsC,KAAK,EAAEC,QAAQ,CAAC,GAAGrD,QAAQ,CAAC,KAAK,CAAC;EACzC,MAAMsD,aAAa,GAAGvD,MAAM,CAAgB,IAAI,CAAC;EACjD;EACA,MAAMwD,WAAW,GAAGxD,MAAM,CAAC,KAAK,CAAC;EACjC,MAAMyD,mBAAmB,GAAGzD,MAAM,CAAsC,MAAM,CAAC;EAC/E,MAAM0D,KAAK,GAAGxD,QAAQ,CAACyD,EAAE,KAAK,KAAK;;EAEnC;EACA7D,SAAS,CAAC,MAAM;IACd,IAAI,CAACsD,QAAQ,EAAE;MACb,IAAIM,KAAK,EAAE;QACT;QACA;QACAhB,KAAK,CAAC,iEAAiE,CAAC;MAC1E;MACA;IACF;IACA,IAAIkB,SAAS,GAAG,KAAK;IAErB,CAAC,YAAY;MACX,IAAI;QACF,MAAMR,QAAQ,CAACS,KAAK,CAAC;UACnBC,GAAG,EAAE;YACHC,OAAO,EAAE,QAAQ;YACjBC,aAAa,EAAE,IAAI;YACnBC,iBAAiB,EAAE,GAAG;YACtBC,wBAAwB,EAAE,GAAG;YAC7B;YACA;YACAC,sBAAsB,EAAE;UAC1B,CAAC;UACDC,OAAO,EAAE;YACPC,UAAU,EAAE,sBAAsB;YAClCC,gBAAgB,EACd,6EAA6E;YAC/EC,YAAY,EAAE,QAAQ;YACtBC,QAAQ,EAAE,IAAI;YACdC,qBAAqB,EAAE,EAAE;YACzBC,iBAAiB,EAAE;cACjBC,SAAS,EAAE,uBAAuB;cAClCC,WAAW,EAAE,gBAAgB;cAC7BC,iBAAiB,EAAE;YACrB;UACF;QACF,CAAC,CAAC;QACF,IAAIjB,SAAS,EAAE;UAAC;QAAO;QACvBR,QAAQ,CAAC0B,YAAY,GAAG,IAAI,CAAC;QAC7BpC,KAAK,CAAC,OAAO,CAAC;QACdY,QAAQ,CAAC,IAAI,CAAC;MAChB,CAAC,CAAC,OAAOyB,KAAK,EAAE;QACdrC,KAAK,CAAC,cAAc,EAAEqC,KAAK,CAAC;QAC5B;QACA;QACAzB,QAAQ,CAAC,KAAK,CAAC;MACjB;IACF,CAAC,EAAE,CAAC;IAEJ,OAAO,MAAM;MACXM,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACR,QAAQ,EAAEM,KAAK,CAAC,CAAC;;EAErB;EACA5D,SAAS,CAAC,MAAM;IACd,IAAI,CAACsD,QAAQ,EAAE;MAAC;IAAO;IAEvB,MAAM4B,QAAQ,GAAGA,CAAA,KAAM;MACrBxB,WAAW,CAACyB,OAAO,GAAG,IAAI;MAC1B;MACA;MACA7B,QAAQ,CAAC8B,gBAAgB,GAAG,CAAC;MAC7B;MACA;MACA;MACA,MAAMD,OAAO,GAAG5E,KAAK,CAAC8E,QAAQ,CAAC,CAAC,CAAClC,IAAI;MACrC,IAAIgC,OAAO,CAACG,SAAS,KAAK,UAAU,IAAIH,OAAO,CAACI,KAAK,KAAK,kBAAkB,EAAE;QAC5ErC,QAAQ,CAAC1C,kBAAkB,CAAC,CAAC,CAAC;MAChC;IACF,CAAC;IAED,MAAMgF,KAAK,GAAGA,CAAA,KAAM;MAClB,MAAMC,QAAQ,GAAGlF,KAAK,CAAC8E,QAAQ,CAAC,CAAC,CAAClC,IAAI;MACtC,IAAIsC,QAAQ,CAACF,KAAK,KAAK,MAAM,EAAE;QAAC;MAAO;MACvC,IACEE,QAAQ,CAACH,SAAS,KAAK,UAAU,IACjCG,QAAQ,CAACF,KAAK,KAAK,kBAAkB,EACrC;QACA7E,mBAAmB,CAAC,UAAU,CAAC;QAC/BwC,QAAQ,CAACzC,mBAAmB,CAAC,CAAC,CAAC;QAC/B;MACF;MACA;MACA,IAAIgF,QAAQ,CAACF,KAAK,KAAK,OAAO,EAAE;QAAC;MAAO;MACxC5E,mBAAmB,CAAC8E,QAAQ,CAACF,KAAK,KAAK,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;IAC9E,CAAC;;IAED;IACA,MAAMG,OAAO,GAAGA,CAAC;MAAEC;IAA0B,CAAC,KAAK;MACjD,KAAK/E,iBAAiB,CAAC,CAAC+E,KAAK,CAAC;IAChC,CAAC;;IAED;IACA,MAAMC,MAAM,GAAGA,CAAC;MAAEC;IAAwB,CAAC,KAAK;MAC9C,IAAIA,IAAI,EAAE;QAAC,KAAKjF,iBAAiB,CAAC,KAAK,CAAC;MAAC;IAC3C,CAAC;;IAED;IACA;IACA,MAAMkF,gBAAgB,GAAGA,CAAA,KAAM;MAC7B,IAAI;QACFhF,WAAW,CAAC,CAAC,EAAEiF,eAAe,EAAEC,uBAAuB,GAAG,CAAC;MAC7D,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ,CAAC;IACD,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;MAC/B,IAAI;QACFnF,WAAW,CAAC,CAAC,EAAEiF,eAAe,EAAEG,yBAAyB,GAAG,CAAC;MAC/D,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ,CAAC;IAED5C,QAAQ,CAAC6C,gBAAgB,CAAC,YAAY,EAAEjB,QAAQ,CAAC;IACjD5B,QAAQ,CAAC6C,gBAAgB,CAAC,SAAS,EAAEX,KAAK,CAAC;IAC3ClC,QAAQ,CAAC6C,gBAAgB,CAAC,8BAA8B,EAAET,OAAO,CAAC;IAClEpC,QAAQ,CAAC6C,gBAAgB,CAAC,yBAAyB,EAAEP,MAAM,CAAC;IAC5DtC,QAAQ,CAAC6C,gBAAgB,CAAC,yBAAyB,EAAEL,gBAAgB,CAAC;IACtE;IACA;IACA,MAAMM,OAAO,GAAGA,CAAA,KAAM;MACpBxD,KAAK,CAAC,gBAAgB,CAAC;IACzB,CAAC;IACDU,QAAQ,CAAC6C,gBAAgB,CAAC,kBAAkB,EAAEC,OAAO,CAAC;IACtD;IACA;IACA,MAAMC,WAAW,GAAGA,CAAC;MAAEpB,KAAK;MAAEqB;IAAkD,CAAC,KAAK;MACpF1D,KAAK,CAAC,qBAAqB,EAAEqC,KAAK,GAAG,WAAWqB,SAAS,IAAI,EAAE,IAAIrB,KAAK,EAAE,GAAG,IAAI,CAAC;MAClF;MACA;MACA,IAAIA,KAAK,EAAE;QAAClE,oBAAoB,CAAC,KAAK,CAAC;MAAC;IAC1C,CAAC;IACDuC,QAAQ,CAAC6C,gBAAgB,CAAC,wBAAwB,EAAEE,WAAW,CAAC;IAChE/C,QAAQ,CAAC6C,gBAAgB,CAAC,2BAA2B,EAAEF,kBAAkB,CAAC;IAE1E,OAAO,MAAM;MACX3C,QAAQ,CAACiD,mBAAmB,CAAC,YAAY,CAAC;MAC1CjD,QAAQ,CAACiD,mBAAmB,CAAC,SAAS,CAAC;MACvCjD,QAAQ,CAACiD,mBAAmB,CAAC,8BAA8B,CAAC;MAC5DjD,QAAQ,CAACiD,mBAAmB,CAAC,yBAAyB,CAAC;MACvDjD,QAAQ,CAACiD,mBAAmB,CAAC,yBAAyB,CAAC;MACvDjD,QAAQ,CAACiD,mBAAmB,CAAC,2BAA2B,CAAC;MACzDjD,QAAQ,CAACiD,mBAAmB,CAAC,kBAAkB,CAAC;MAChDjD,QAAQ,CAACiD,mBAAmB,CAAC,wBAAwB,CAAC;IACxD,CAAC;EACH,CAAC,EAAE,CAACjD,QAAQ,EAAEJ,QAAQ,CAAC,CAAC;EAExB,MAAMsD,WAAW,GAAGrD,IAAI,CAACsD,QAAQ,IAAI,QAAQ;EAC7C,MAAMC,SAAS,GACbvD,IAAI,CAACmC,SAAS,KAAK,UAAU,IAAInC,IAAI,CAACoC,KAAK,KAAK,kBAAkB;EACpE,MAAMoB,MAAM,GAAGxD,IAAI,CAACoC,KAAK,KAAK,YAAY,IAAIpC,IAAI,CAACoC,KAAK,KAAK,SAAS;EACtE,MAAMqB,UAAU,GAAGzD,IAAI,CAACmC,SAAS,KAAK,UAAU;EAChD,MAAMuB,aAAa,GAAGxD,OAAO,CAACyD,QAAQ,KAAK,IAAI;;EAE/C;EACA9G,SAAS,CAAC,MAAM;IACd,IAAI,CAACsD,QAAQ,IAAI,CAACC,KAAK,EAAE;MAAC;IAAO;IAEjC,MAAMwD,OAAO,GAAGA,CAAA,KAAM;MACpB,IAAI,CAACtD,aAAa,CAAC0B,OAAO,EAAE;QAAC;MAAO;MACpC,IAAI;QACF7B,QAAQ,CAAC0D,OAAO,CAACvD,aAAa,CAAC0B,OAAO,CAAC;MACzC,CAAC,CAAC,MAAM;QACN;MAAA;MAEF1B,aAAa,CAAC0B,OAAO,GAAG,IAAI;MAC5BzB,WAAW,CAACyB,OAAO,GAAG,KAAK;MAC3BxB,mBAAmB,CAACwB,OAAO,GAAG,MAAM;IACtC,CAAC;IAED,IAAIhC,IAAI,CAACoC,KAAK,KAAK,MAAM,IAAIpC,IAAI,CAACoC,KAAK,KAAK,OAAO,EAAE;MACnDwB,OAAO,CAAC,CAAC;MACT;IACF;IAEA,IAAIL,SAAS,EAAE;MACb,IAAIjD,aAAa,CAAC0B,OAAO,EAAE;QAAC;MAAO;MACnC,MAAM8B,IAAI,GAAGzF,MAAM,CAAC2B,IAAI,CAAC+D,MAAM,IAAI/D,IAAI,CAACgE,OAAO,IAAIC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,CAAC;MACtE7D,aAAa,CAAC0B,OAAO,GAAG8B,IAAI;MAC5BvD,WAAW,CAACyB,OAAO,GAAG,KAAK;MAC3B;MACA;MACA,IAAIvB,KAAK,EAAE;QAAC7C,oBAAoB,CAAC,IAAI,CAAC;MAAC;MACvC,IAAI;QACFuC,QAAQ,CAACiE,mBAAmB,CAC1BN,IAAI,EACJT,WAAW,EACXA,WAAW,EACX,SAAS,EACTrD,IAAI,CAACqE,IAAI,KAAK,OAChB,CAAC;MACH,CAAC,CAAC,MAAM;QACN/D,aAAa,CAAC0B,OAAO,GAAG,IAAI;QAC5BpE,oBAAoB,CAAC,KAAK,CAAC;MAC7B;MACA;IACF;;IAEA;IACA;IACA,IAAI6C,KAAK,IAAIgD,UAAU,IAAI,CAACnD,aAAa,CAAC0B,OAAO,IAAI7B,QAAQ,CAACmE,SAAS,EAAE;MACvE;MACA;MACA,MAAMR,IAAI,GAAGzF,MAAM,CAAC,GAAG2B,IAAI,CAACgE,OAAO,IAAI,EAAE,IAAIhE,IAAI,CAACuE,SAAS,IAAIL,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC;MAC5E7D,aAAa,CAAC0B,OAAO,GAAG8B,IAAI;MAC5BtD,mBAAmB,CAACwB,OAAO,GAAG,MAAM;MACpCvC,KAAK,CAAC,WAAW,EAAEqE,IAAI,CAAC;MACxB,IAAI;QACF3D,QAAQ,CAACmE,SAAS,CAACR,IAAI,EAAET,WAAW,EAAEA,WAAW,EAAE,SAAS,EAAErD,IAAI,CAACqE,IAAI,KAAK,OAAO,CAAC;MACtF,CAAC,CAAC,MAAM;QACN/D,aAAa,CAAC0B,OAAO,GAAG,IAAI;MAC9B;MACA;IACF;IAEA,MAAM8B,IAAI,GAAGxD,aAAa,CAAC0B,OAAO;IAClC,IAAI,CAAC8B,IAAI,EAAE;MAAC;IAAO;IAEnB,IAAIrD,KAAK,IAAIgD,UAAU,EAAE;MACvB,IAAIC,aAAa,IAAIlD,mBAAmB,CAACwB,OAAO,KAAK,WAAW,EAAE;QAChExB,mBAAmB,CAACwB,OAAO,GAAG,WAAW;QACzC7B,QAAQ,CAACqE,mCAAmC,GAAGV,IAAI,CAAC;MACtD,CAAC,MAAM,IACLN,MAAM,IACN,CAACE,aAAa,IACdlD,mBAAmB,CAACwB,OAAO,KAAK,MAAM,EACtC;QACAxB,mBAAmB,CAACwB,OAAO,GAAG,YAAY;QAC1C7B,QAAQ,CAACsE,oCAAoC,GAAGX,IAAI,CAAC;MACvD;MACA;IACF;;IAEA;IACA;IACA,IAAIrD,KAAK,IAAI+C,MAAM,IAAI,CAACjD,WAAW,CAACyB,OAAO,EAAE;MAC3CzB,WAAW,CAACyB,OAAO,GAAG,IAAI;MAC1B,IAAI;QACF7B,QAAQ,CAACuE,kBAAkB,GAAGZ,IAAI,CAAC;MACrC,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF,CAAC,EAAE,CACD3D,QAAQ,EACRC,KAAK,EACLK,KAAK,EACL8C,SAAS,EACTC,MAAM,EACNC,UAAU,EACVC,aAAa,EACbL,WAAW,EACXrD,IAAI,CAACoC,KAAK,EACVpC,IAAI,CAAC+D,MAAM,EACX/D,IAAI,CAACgE,OAAO,EACZhE,IAAI,CAACuE,SAAS,EACdvE,IAAI,CAACqE,IAAI,CACV,CAAC;;EAEF;EACAxH,SAAS,CAAC,MAAM;IACd,MAAMiH,IAAI,GAAGxD,aAAa,CAAC0B,OAAO;IAClC,IAAI,CAAC7B,QAAQ,IAAI,CAACC,KAAK,IAAI,CAACK,KAAK,IAAI,CAACqD,IAAI,IAAI,CAACN,MAAM,EAAE;MAAC;IAAO;IAC/D,IAAI;MACFrD,QAAQ,CAACwE,YAAY,GAAGb,IAAI,EAAE,CAAC5D,OAAO,CAAC0E,KAAK,CAAC;IAC/C,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ,CAAC,EAAE,CAACzE,QAAQ,EAAEC,KAAK,EAAEK,KAAK,EAAE+C,MAAM,EAAEtD,OAAO,CAAC0E,KAAK,CAAC,CAAC;;EAEnD;EACA;EACA/H,SAAS,CACP,MAAM,MAAM;IACV,IAAIsD,QAAQ,IAAIG,aAAa,CAAC0B,OAAO,EAAE;MACrC,IAAI;QACF7B,QAAQ,CAAC0D,OAAO,CAACvD,aAAa,CAAC0B,OAAO,CAAC;MACzC,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF,CAAC,EACD,CAAC7B,QAAQ,CACX,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useRef } from 'react';
|
|
4
|
+
import { useSelector } from 'react-redux';
|
|
5
|
+
import { useT } from '../../i18n/useT';
|
|
6
|
+
import { terminateActiveCall } from './callActions';
|
|
7
|
+
import { toggleCallCamera, toggleCallMic, useCallSession } from './callSessionController';
|
|
8
|
+
import { setCallMinimized } from './callUiStore';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Drives the host's ongoing-call notification (`videoCalls.
|
|
12
|
+
* ongoingCallNotification`, an Android foreground-service notification in
|
|
13
|
+
* the Ethora app): shown while a call is connecting or connected, updated
|
|
14
|
+
* when the mic, camera or timer anchor change, and its buttons act on the
|
|
15
|
+
* call like the in-app ones.
|
|
16
|
+
*/
|
|
17
|
+
export const useOngoingCallNotification = adapter => {
|
|
18
|
+
const t = useT();
|
|
19
|
+
const call = useSelector(state => state.call);
|
|
20
|
+
const session = useCallSession();
|
|
21
|
+
const shownRef = useRef(false);
|
|
22
|
+
const live = !!call.token && (call.phase === 'connecting' || call.phase === 'in-call');
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (!adapter) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
return adapter.addActionListener(action => {
|
|
28
|
+
switch (action) {
|
|
29
|
+
case 'hangUp':
|
|
30
|
+
terminateActiveCall('ended');
|
|
31
|
+
break;
|
|
32
|
+
case 'toggleMic':
|
|
33
|
+
void toggleCallMic();
|
|
34
|
+
break;
|
|
35
|
+
case 'toggleCamera':
|
|
36
|
+
void toggleCallCamera();
|
|
37
|
+
break;
|
|
38
|
+
case 'open':
|
|
39
|
+
// Back from the notification: show the call, not the strip.
|
|
40
|
+
setCallMinimized(false);
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}, [adapter]);
|
|
45
|
+
const isVideo = call.kind === 'video';
|
|
46
|
+
const connectedAt = session.anchorAt;
|
|
47
|
+
const text = connectedAt !== null ? isVideo ? t('call.notification.ongoingVideo') : t('call.notification.ongoing') : !session.connected ? t('call.status.connecting') : t('call.status.waitingForPeer');
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
if (!adapter) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (!live) {
|
|
53
|
+
if (shownRef.current) {
|
|
54
|
+
shownRef.current = false;
|
|
55
|
+
adapter.hide();
|
|
56
|
+
}
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
shownRef.current = true;
|
|
60
|
+
adapter.show({
|
|
61
|
+
callId: call.callId || call.roomJid || 'call',
|
|
62
|
+
title: call.roomName || t('call.unknownCaller'),
|
|
63
|
+
text,
|
|
64
|
+
kind: call.kind,
|
|
65
|
+
connectedAt,
|
|
66
|
+
micOn: session.micOn,
|
|
67
|
+
cameraOn: isVideo && session.cameraOn,
|
|
68
|
+
labels: {
|
|
69
|
+
hangUp: t('call.action.hangUp'),
|
|
70
|
+
mute: t('call.notification.mute'),
|
|
71
|
+
unmute: t('call.notification.unmute'),
|
|
72
|
+
cameraOn: t('call.notification.cameraOn'),
|
|
73
|
+
cameraOff: t('call.notification.cameraOff')
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}, [adapter, live, t, text, connectedAt, isVideo, call.callId, call.roomJid, call.roomName, call.kind, session.micOn, session.cameraOn]);
|
|
77
|
+
useEffect(() => () => {
|
|
78
|
+
if (adapter && shownRef.current) {
|
|
79
|
+
shownRef.current = false;
|
|
80
|
+
adapter.hide();
|
|
81
|
+
}
|
|
82
|
+
}, [adapter]);
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=useOngoingCallNotification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useSelector","useT","terminateActiveCall","toggleCallCamera","toggleCallMic","useCallSession","setCallMinimized","useOngoingCallNotification","adapter","t","call","state","session","shownRef","live","token","phase","addActionListener","action","isVideo","kind","connectedAt","anchorAt","text","connected","current","hide","show","callId","roomJid","title","roomName","micOn","cameraOn","labels","hangUp","mute","unmute","cameraOff"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/useOngoingCallNotification.ts"],"mappings":"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","ignoreList":[]}
|