@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,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useEffect, useState } from 'react';
|
|
3
|
+
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
4
|
import { Pressable, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
5
5
|
import { useSelector } from 'react-redux';
|
|
6
6
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
@@ -10,10 +10,19 @@ import { useT } from '../../i18n/useT';
|
|
|
10
10
|
import { ExpandIcon, HangUpIcon, MicOffIcon, MicOnIcon } from './CallIcons';
|
|
11
11
|
import { toggleCallMic, useCallSession } from './callSessionController';
|
|
12
12
|
import { terminateActiveCall } from './callActions';
|
|
13
|
-
import { registerCallBarHost, setCallMinimized, useCallUi } from './callUiStore';
|
|
13
|
+
import { registerCallBarHost, setCallBarAnchor, setCallMinimized, useCallUi } from './callUiStore';
|
|
14
14
|
import { formatCallDuration, useSharedCallElapsed } from './VideoCallSession';
|
|
15
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
16
16
|
const DANGER = '#E53935';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* The strip's geometry: a floating bubble under the header. Exported so the
|
|
20
|
+
* collapse animation of the full-screen call lands exactly on it.
|
|
21
|
+
*/
|
|
22
|
+
export const CALL_BAR_HEIGHT = 52;
|
|
23
|
+
export const CALL_BAR_MARGIN_X = 8;
|
|
24
|
+
export const CALL_BAR_MARGIN_TOP = 6;
|
|
25
|
+
export const CALL_BAR_RADIUS = 18;
|
|
17
26
|
const ON_BAR = '#FFFFFF';
|
|
18
27
|
const CONTROL = 'rgba(255, 255, 255, 0.2)';
|
|
19
28
|
|
|
@@ -34,9 +43,7 @@ const useShowCallBar = () => {
|
|
|
34
43
|
* Tapping anywhere on it (outside the buttons) brings the call back
|
|
35
44
|
* full-screen, like Telegram's "return to call" bar.
|
|
36
45
|
*/
|
|
37
|
-
export const ActiveCallBar = ({
|
|
38
|
-
topInset = 0
|
|
39
|
-
}) => {
|
|
46
|
+
export const ActiveCallBar = () => {
|
|
40
47
|
const t = useT();
|
|
41
48
|
const theme = useTheme();
|
|
42
49
|
const {
|
|
@@ -56,8 +63,7 @@ export const ActiveCallBar = ({
|
|
|
56
63
|
accessibilityRole: "button",
|
|
57
64
|
accessibilityLabel: t('call.action.expand'),
|
|
58
65
|
style: [styles.bar, {
|
|
59
|
-
backgroundColor: theme.success
|
|
60
|
-
paddingTop: 8 + topInset
|
|
66
|
+
backgroundColor: theme.success
|
|
61
67
|
}],
|
|
62
68
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
63
69
|
style: styles.info,
|
|
@@ -124,13 +130,36 @@ export const HeaderCallBar = () => {
|
|
|
124
130
|
barHost
|
|
125
131
|
} = useCallUi();
|
|
126
132
|
const show = useShowCallBar();
|
|
133
|
+
const anchorRef = useRef(null);
|
|
134
|
+
const isHost = hostId !== null && barHost === hostId;
|
|
127
135
|
|
|
128
136
|
// Returns its own unregister, which is the effect's cleanup.
|
|
129
137
|
useEffect(() => registerCallBarHost(setHostId), []);
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
138
|
+
|
|
139
|
+
// Where the strip goes on screen, for the collapse animation to aim at.
|
|
140
|
+
const measure = useCallback(() => {
|
|
141
|
+
if (hostId === null) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
anchorRef.current?.measureInWindow((_x, y) => {
|
|
145
|
+
if (Number.isFinite(y)) {
|
|
146
|
+
setCallBarAnchor(hostId, y);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}, [hostId]);
|
|
150
|
+
useEffect(() => {
|
|
151
|
+
if (isHost) {
|
|
152
|
+
measure();
|
|
153
|
+
}
|
|
154
|
+
}, [isHost, measure]);
|
|
155
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
156
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
157
|
+
ref: anchorRef,
|
|
158
|
+
collapsable: false,
|
|
159
|
+
onLayout: measure,
|
|
160
|
+
style: styles.anchor
|
|
161
|
+
}), show && isHost ? /*#__PURE__*/_jsx(ActiveCallBar, {}) : null]
|
|
162
|
+
});
|
|
134
163
|
};
|
|
135
164
|
|
|
136
165
|
/**
|
|
@@ -147,11 +176,11 @@ export const DockedCallBar = () => {
|
|
|
147
176
|
return null;
|
|
148
177
|
}
|
|
149
178
|
return /*#__PURE__*/_jsx(View, {
|
|
150
|
-
style: styles.docked,
|
|
179
|
+
style: [styles.docked, {
|
|
180
|
+
paddingTop: insets.top
|
|
181
|
+
}],
|
|
151
182
|
pointerEvents: "box-none",
|
|
152
|
-
children: /*#__PURE__*/_jsx(ActiveCallBar, {
|
|
153
|
-
topInset: insets.top
|
|
154
|
-
})
|
|
183
|
+
children: /*#__PURE__*/_jsx(ActiveCallBar, {})
|
|
155
184
|
});
|
|
156
185
|
};
|
|
157
186
|
const styles = StyleSheet.create({
|
|
@@ -159,8 +188,24 @@ const styles = StyleSheet.create({
|
|
|
159
188
|
flexDirection: 'row',
|
|
160
189
|
alignItems: 'center',
|
|
161
190
|
gap: 10,
|
|
162
|
-
|
|
163
|
-
|
|
191
|
+
height: CALL_BAR_HEIGHT,
|
|
192
|
+
marginHorizontal: CALL_BAR_MARGIN_X,
|
|
193
|
+
marginTop: CALL_BAR_MARGIN_TOP,
|
|
194
|
+
marginBottom: 2,
|
|
195
|
+
paddingLeft: 16,
|
|
196
|
+
paddingRight: 9,
|
|
197
|
+
borderRadius: CALL_BAR_RADIUS,
|
|
198
|
+
shadowColor: '#000',
|
|
199
|
+
shadowOpacity: 0.12,
|
|
200
|
+
shadowRadius: 8,
|
|
201
|
+
shadowOffset: {
|
|
202
|
+
width: 0,
|
|
203
|
+
height: 2
|
|
204
|
+
},
|
|
205
|
+
elevation: 3
|
|
206
|
+
},
|
|
207
|
+
anchor: {
|
|
208
|
+
height: 0
|
|
164
209
|
},
|
|
165
210
|
info: {
|
|
166
211
|
flex: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","Pressable","StyleSheet","Text","TouchableOpacity","View","useSelector","useSafeAreaInsets","useChatSettingState","useTheme","useT","ExpandIcon","HangUpIcon","MicOffIcon","MicOnIcon","toggleCallMic","useCallSession","terminateActiveCall","registerCallBarHost","setCallMinimized","useCallUi","formatCallDuration","useSharedCallElapsed","jsx","_jsx","jsxs","_jsxs","DANGER","ON_BAR","CONTROL","useShowCallBar","minimized","active","state","call","token","phase","config","videoCalls","enabled","ActiveCallBar","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useRef","useState","Pressable","StyleSheet","Text","TouchableOpacity","View","useSelector","useSafeAreaInsets","useChatSettingState","useTheme","useT","ExpandIcon","HangUpIcon","MicOffIcon","MicOnIcon","toggleCallMic","useCallSession","terminateActiveCall","registerCallBarHost","setCallBarAnchor","setCallMinimized","useCallUi","formatCallDuration","useSharedCallElapsed","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DANGER","CALL_BAR_HEIGHT","CALL_BAR_MARGIN_X","CALL_BAR_MARGIN_TOP","CALL_BAR_RADIUS","ON_BAR","CONTROL","useShowCallBar","minimized","active","state","call","token","phase","config","videoCalls","enabled","ActiveCallBar","t","theme","icons","peerName","roomName","session","elapsed","anchorAt","name","remoteName","status","connected","remoteJoined","statusLine","remoteMicMuted","expand","onPress","accessibilityRole","accessibilityLabel","style","styles","bar","backgroundColor","success","children","info","numberOfLines","micOn","button","hitSlop","color","size","micOff","hangup","HeaderCallBar","hostId","setHostId","barHost","show","anchorRef","isHost","measure","current","measureInWindow","_x","y","Number","isFinite","ref","collapsable","onLayout","anchor","DockedCallBar","insets","docked","paddingTop","top","pointerEvents","create","flexDirection","alignItems","gap","height","marginHorizontal","marginTop","marginBottom","paddingLeft","paddingRight","borderRadius","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","elevation","flex","minWidth","fontSize","fontWeight","fontVariant","justifyContent","position","left","right","zIndex"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/ActiveCallBar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -192,6 +192,12 @@ export const VideoCallIcon = ({
|
|
|
192
192
|
fill: color
|
|
193
193
|
})]
|
|
194
194
|
});
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Front/back camera flip: a camera between two arrows turning around it
|
|
198
|
+
* (Material "cameraswitch", the glyph Telegram and the Android camera use),
|
|
199
|
+
* so it reads as "use the other camera", not as "reload".
|
|
200
|
+
*/
|
|
195
201
|
export const SwitchCameraIcon = ({
|
|
196
202
|
color = '#FFFFFF',
|
|
197
203
|
size = 24
|
|
@@ -199,25 +205,42 @@ export const SwitchCameraIcon = ({
|
|
|
199
205
|
width: size,
|
|
200
206
|
height: size,
|
|
201
207
|
viewBox: "0 0 24 24",
|
|
202
|
-
fill: "none",
|
|
203
208
|
children: [/*#__PURE__*/_jsx(Path, {
|
|
204
|
-
d: "
|
|
205
|
-
|
|
206
|
-
strokeWidth: 1.8,
|
|
207
|
-
fill: "none",
|
|
208
|
-
strokeLinejoin: "round"
|
|
209
|
-
}), /*#__PURE__*/_jsx(Path, {
|
|
210
|
-
d: "M9.5 12.5A2.5 2.5 0 0 1 14 11m.5 2.5A2.5 2.5 0 0 1 10 15",
|
|
211
|
-
stroke: color,
|
|
212
|
-
strokeWidth: 1.8,
|
|
213
|
-
strokeLinecap: "round",
|
|
214
|
-
fill: "none"
|
|
209
|
+
d: "M16 7h-1l-1-1h-4L9 7H8c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zm-4 7c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z",
|
|
210
|
+
fill: color
|
|
215
211
|
}), /*#__PURE__*/_jsx(Path, {
|
|
216
|
-
d: "
|
|
217
|
-
|
|
218
|
-
strokeWidth: 1.8
|
|
212
|
+
d: "M8.57.51l4.48 4.48V2.04c4.72.47 8.48 4.23 8.95 8.95h2C23.34 3.02 15.49-1.59 8.57.51zm2.38 21.45c-4.72-.47-8.48-4.23-8.95-8.95H0c.66 7.97 8.51 12.58 15.43 10.48l-4.48-4.48v2.95z",
|
|
213
|
+
fill: color
|
|
219
214
|
})]
|
|
220
215
|
});
|
|
216
|
+
|
|
217
|
+
/** Stretch the video to fill the screen (Material "fullscreen"). */
|
|
218
|
+
export const FillVideoIcon = ({
|
|
219
|
+
color = '#FFFFFF',
|
|
220
|
+
size = 24
|
|
221
|
+
}) => /*#__PURE__*/_jsx(Svg, {
|
|
222
|
+
width: size,
|
|
223
|
+
height: size,
|
|
224
|
+
viewBox: "0 0 24 24",
|
|
225
|
+
children: /*#__PURE__*/_jsx(Path, {
|
|
226
|
+
d: "M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z",
|
|
227
|
+
fill: color
|
|
228
|
+
})
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
/** Show the whole video, letterboxed (Material "fit_screen"). */
|
|
232
|
+
export const FitVideoIcon = ({
|
|
233
|
+
color = '#FFFFFF',
|
|
234
|
+
size = 24
|
|
235
|
+
}) => /*#__PURE__*/_jsx(Svg, {
|
|
236
|
+
width: size,
|
|
237
|
+
height: size,
|
|
238
|
+
viewBox: "0 0 24 24",
|
|
239
|
+
children: /*#__PURE__*/_jsx(Path, {
|
|
240
|
+
d: "M17 4h3c1.1 0 2 .9 2 2v2h-2V6h-3V4zM4 8V6h3V4H4c-1.1 0-2 .9-2 2v2h2zm16 8v2h-3v2h3c1.1 0 2-.9 2-2v-2h-2zM7 18H4v-2H2v2c0 1.1.9 2 2 2h3v-2zM18 8H6v8h12V8z",
|
|
241
|
+
fill: color
|
|
242
|
+
})
|
|
243
|
+
});
|
|
221
244
|
export const SpeakerIcon = ({
|
|
222
245
|
color = '#FFFFFF',
|
|
223
246
|
size = 24
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Svg","Path","Rect","Line","Circle","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DANGER","Slash","color","cutColor","children","x1","y1","x2","y2","stroke","strokeWidth","strokeLinecap","MicOnIcon","size","width","height","viewBox","fill","x","y","rx","d","MicOffIcon","CameraOnIcon","CameraOffIcon","HangUpIcon","AudioCallIcon","VideoCallIcon","SwitchCameraIcon","
|
|
1
|
+
{"version":3,"names":["React","Svg","Path","Rect","Line","Circle","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DANGER","Slash","color","cutColor","children","x1","y1","x2","y2","stroke","strokeWidth","strokeLinecap","MicOnIcon","size","width","height","viewBox","fill","x","y","rx","d","MicOffIcon","CameraOnIcon","CameraOffIcon","HangUpIcon","AudioCallIcon","VideoCallIcon","SwitchCameraIcon","FillVideoIcon","FitVideoIcon","SpeakerIcon","SpeakerOffIcon","MinimizeIcon","strokeLinejoin","ExpandIcon","PersonIcon","cx","cy","r"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/CallIcons.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { Component, useCallback, useEffect, useMemo, useRef } from 'react';
|
|
4
|
-
import { Animated, BackHandler, Easing, Modal, Platform, StyleSheet, Text, TouchableOpacity, Vibration, View } from 'react-native';
|
|
4
|
+
import { Animated, BackHandler, Easing, Modal, PanResponder, Platform, StyleSheet, Text, TouchableOpacity, useWindowDimensions, Vibration, View } from 'react-native';
|
|
5
5
|
import { useDispatch, useSelector } from 'react-redux';
|
|
6
|
+
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
6
7
|
import { acceptIncomingCall, resetCall, setCallError } from '../../roomStore/callSlice';
|
|
7
8
|
import { useChatSettingState } from '../../hooks/useChatSettingState';
|
|
8
9
|
import { sendCallStateSignal } from '../../networking/callTokenStanza';
|
|
@@ -10,12 +11,13 @@ import { useTheme } from '../../hooks/useTheme';
|
|
|
10
11
|
import { VideoCallSession } from './VideoCallSession';
|
|
11
12
|
import { startCallSession } from './callSessionController';
|
|
12
13
|
import { declineActiveCall, terminateActiveCall } from './callActions';
|
|
13
|
-
import { DockedCallBar } from './ActiveCallBar';
|
|
14
|
+
import { CALL_BAR_HEIGHT, CALL_BAR_MARGIN_TOP, CALL_BAR_MARGIN_X, CALL_BAR_RADIUS, DockedCallBar } from './ActiveCallBar';
|
|
14
15
|
import { setCallMinimized, useCallUi } from './callUiStore';
|
|
15
16
|
import { ProfileImagePlaceholder } from '../MainComponents/ProfileImagePlaceholder';
|
|
16
17
|
import { AudioCallIcon, HangUpIcon, VideoCallIcon } from './CallIcons';
|
|
17
18
|
import { useT } from '../../i18n/useT';
|
|
18
19
|
import { useCallKeep } from './useCallKeep';
|
|
20
|
+
import { useOngoingCallNotification } from './useOngoingCallNotification';
|
|
19
21
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
22
|
const DEFAULT_PRIMARY = '#0052CD';
|
|
21
23
|
const DANGER = '#E53935';
|
|
@@ -207,6 +209,148 @@ const RingingCard = ({
|
|
|
207
209
|
});
|
|
208
210
|
};
|
|
209
211
|
|
|
212
|
+
/**
|
|
213
|
+
* The full-screen call, collapsible into the header strip, Telegram-style:
|
|
214
|
+
* pulling it up morphs the whole screen into the green bubble under the
|
|
215
|
+
* header (position, width, height and corner radius all travel together,
|
|
216
|
+
* and the bubble's colour fades in on the way), so it visibly *becomes* the
|
|
217
|
+
* strip rather than leaving and the strip popping in. Let go past a quarter
|
|
218
|
+
* of the way, or flick, and it finishes; released early it springs back.
|
|
219
|
+
* The minimize button runs the same morph; expanding from the strip runs it
|
|
220
|
+
* backwards.
|
|
221
|
+
*
|
|
222
|
+
* Buttons and the draggable video tile handle their own touches; a drag
|
|
223
|
+
* anywhere else on the screen is ours, and only its upward part counts.
|
|
224
|
+
*/
|
|
225
|
+
const CollapsibleCallSurface = ({
|
|
226
|
+
enterFromTop,
|
|
227
|
+
barColor,
|
|
228
|
+
onCollapsed,
|
|
229
|
+
children
|
|
230
|
+
}) => {
|
|
231
|
+
const {
|
|
232
|
+
width,
|
|
233
|
+
height
|
|
234
|
+
} = useWindowDimensions();
|
|
235
|
+
const insets = useSafeAreaInsets();
|
|
236
|
+
const {
|
|
237
|
+
barAnchorY
|
|
238
|
+
} = useCallUi();
|
|
239
|
+
// Where the bubble sits: under the hosting header, or under the status
|
|
240
|
+
// bar when no header is on screen (the docked fallback).
|
|
241
|
+
const target = {
|
|
242
|
+
top: (barAnchorY ?? insets.top) + CALL_BAR_MARGIN_TOP,
|
|
243
|
+
side: CALL_BAR_MARGIN_X,
|
|
244
|
+
height: CALL_BAR_HEIGHT
|
|
245
|
+
};
|
|
246
|
+
// 0 = full screen, 1 = the bubble.
|
|
247
|
+
const progress = useRef(new Animated.Value(enterFromTop ? 1 : 0)).current;
|
|
248
|
+
const collapsingRef = useRef(false);
|
|
249
|
+
const onCollapsedRef = useRef(onCollapsed);
|
|
250
|
+
onCollapsedRef.current = onCollapsed;
|
|
251
|
+
const heightRef = useRef(height);
|
|
252
|
+
heightRef.current = height;
|
|
253
|
+
useEffect(() => {
|
|
254
|
+
if (!enterFromTop) {
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
Animated.timing(progress, {
|
|
258
|
+
toValue: 0,
|
|
259
|
+
duration: 300,
|
|
260
|
+
easing: Easing.out(Easing.cubic),
|
|
261
|
+
useNativeDriver: false
|
|
262
|
+
}).start();
|
|
263
|
+
// Mount-only: the entrance plays once.
|
|
264
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
265
|
+
}, []);
|
|
266
|
+
const collapse = useCallback(() => {
|
|
267
|
+
if (collapsingRef.current) {
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
collapsingRef.current = true;
|
|
271
|
+
Animated.timing(progress, {
|
|
272
|
+
toValue: 1,
|
|
273
|
+
duration: 280,
|
|
274
|
+
easing: Easing.out(Easing.cubic),
|
|
275
|
+
useNativeDriver: false
|
|
276
|
+
}).start(() => onCollapsedRef.current());
|
|
277
|
+
}, [progress]);
|
|
278
|
+
const panHandlers = useMemo(() => {
|
|
279
|
+
const springBack = () => Animated.spring(progress, {
|
|
280
|
+
toValue: 0,
|
|
281
|
+
useNativeDriver: false,
|
|
282
|
+
damping: 22,
|
|
283
|
+
stiffness: 260
|
|
284
|
+
}).start();
|
|
285
|
+
// How far the finger travels for the full morph.
|
|
286
|
+
const travel = () => heightRef.current * 0.6;
|
|
287
|
+
return PanResponder.create({
|
|
288
|
+
// Claim the touch as soon as it starts on the call screen itself
|
|
289
|
+
// (buttons and the video tile are deeper and win their own touches).
|
|
290
|
+
// Waiting for a move does not work here: the Modal's content sits
|
|
291
|
+
// under the host's screens in the React tree, and an ancestor there
|
|
292
|
+
// (a Pressable / keyboard-dismiss wrapper) takes the touch on start,
|
|
293
|
+
// after which no descendant is ever asked again.
|
|
294
|
+
onStartShouldSetPanResponder: () => !collapsingRef.current,
|
|
295
|
+
onMoveShouldSetPanResponder: () => !collapsingRef.current,
|
|
296
|
+
onPanResponderTerminationRequest: () => false,
|
|
297
|
+
onPanResponderMove: (_event, gesture) => {
|
|
298
|
+
progress.setValue(Math.min(1, Math.max(0, -gesture.dy / travel())));
|
|
299
|
+
},
|
|
300
|
+
onPanResponderRelease: (_event, gesture) => {
|
|
301
|
+
if (-gesture.dy / travel() > 0.25 || gesture.vy < -0.8) {
|
|
302
|
+
collapse();
|
|
303
|
+
} else {
|
|
304
|
+
springBack();
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
onPanResponderTerminate: springBack
|
|
308
|
+
}).panHandlers;
|
|
309
|
+
}, [progress, collapse]);
|
|
310
|
+
const at = (from, to) => progress.interpolate({
|
|
311
|
+
inputRange: [0, 1],
|
|
312
|
+
outputRange: [from, to]
|
|
313
|
+
});
|
|
314
|
+
return /*#__PURE__*/_jsxs(Animated.View, {
|
|
315
|
+
...panHandlers,
|
|
316
|
+
style: [styles.collapsible, {
|
|
317
|
+
top: at(0, target.top),
|
|
318
|
+
left: at(0, target.side),
|
|
319
|
+
width: at(width, width - target.side * 2),
|
|
320
|
+
height: at(height, target.height),
|
|
321
|
+
// Rounded as soon as it starts moving (a card, like the screen's
|
|
322
|
+
// own corners), then tightening to the bubble's radius.
|
|
323
|
+
borderRadius: progress.interpolate({
|
|
324
|
+
inputRange: [0, 0.08, 0.7, 1],
|
|
325
|
+
outputRange: [0, 36, 28, CALL_BAR_RADIUS],
|
|
326
|
+
extrapolate: 'clamp'
|
|
327
|
+
})
|
|
328
|
+
}],
|
|
329
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
330
|
+
style: [styles.sessionFixed, {
|
|
331
|
+
width,
|
|
332
|
+
height,
|
|
333
|
+
opacity: progress.interpolate({
|
|
334
|
+
inputRange: [0, 0.55, 0.85],
|
|
335
|
+
outputRange: [1, 0.85, 0],
|
|
336
|
+
extrapolate: 'clamp'
|
|
337
|
+
})
|
|
338
|
+
}],
|
|
339
|
+
children: children(collapse)
|
|
340
|
+
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
341
|
+
pointerEvents: "none",
|
|
342
|
+
style: [StyleSheet.absoluteFill, {
|
|
343
|
+
backgroundColor: barColor,
|
|
344
|
+
opacity: progress.interpolate({
|
|
345
|
+
inputRange: [0, 0.35, 0.9],
|
|
346
|
+
outputRange: [0, 0, 1],
|
|
347
|
+
extrapolate: 'clamp'
|
|
348
|
+
})
|
|
349
|
+
}]
|
|
350
|
+
})]
|
|
351
|
+
});
|
|
352
|
+
};
|
|
353
|
+
|
|
210
354
|
/**
|
|
211
355
|
* A crash in the call UI must not take the chat down with it (web wraps
|
|
212
356
|
* the overlay in a silent ChatErrorBoundary). Renders nothing on error and
|
|
@@ -264,13 +408,24 @@ const VideoCallOverlayInner = () => {
|
|
|
264
408
|
// callkeep. No-op otherwise, the in-app ring screen below is the
|
|
265
409
|
// fallback and always renders.
|
|
266
410
|
useCallKeep();
|
|
411
|
+
// Host-provided system notification (Android) with hang up / mute /
|
|
412
|
+
// camera buttons while the call runs.
|
|
413
|
+
useOngoingCallNotification(enabled ? videoCallsConfig?.ongoingCallNotification : undefined);
|
|
267
414
|
|
|
268
415
|
// Shared with the header strip (ActiveCallBar), which expands it again.
|
|
269
416
|
const {
|
|
270
|
-
minimized
|
|
417
|
+
minimized,
|
|
418
|
+
systemRinging
|
|
271
419
|
} = useCallUi();
|
|
272
420
|
const canRenderSession = !!call.token && (call.phase === 'connecting' || call.phase === 'in-call') && !!livekitUrl;
|
|
273
421
|
const isMinimized = minimized && canRenderSession;
|
|
422
|
+
// Expanding from the header strip slides the call down from the top
|
|
423
|
+
// instead of fading it in.
|
|
424
|
+
const wasMinimizedRef = useRef(false);
|
|
425
|
+
const enterFromTop = wasMinimizedRef.current && !isMinimized;
|
|
426
|
+
useEffect(() => {
|
|
427
|
+
wasMinimizedRef.current = isMinimized;
|
|
428
|
+
}, [isMinimized]);
|
|
274
429
|
|
|
275
430
|
// Join the LiveKit room once the call has a token. Idempotent, and the
|
|
276
431
|
// controller tears itself down when the call slice leaves these phases.
|
|
@@ -307,12 +462,13 @@ const VideoCallOverlayInner = () => {
|
|
|
307
462
|
// foreground; a backgrounded/killed app is handled by the call push.
|
|
308
463
|
useEffect(() => {
|
|
309
464
|
const isRinging = call.direction === 'incoming' && call.phase === 'ringing-incoming';
|
|
310
|
-
|
|
465
|
+
// CallKit rings (and vibrates) on its own.
|
|
466
|
+
if (!isRinging || systemRinging) {
|
|
311
467
|
return;
|
|
312
468
|
}
|
|
313
469
|
Vibration.vibrate(RING_VIBRATION_PATTERN, true);
|
|
314
470
|
return () => Vibration.cancel();
|
|
315
|
-
}, [call.direction, call.phase]);
|
|
471
|
+
}, [call.direction, call.phase, systemRinging]);
|
|
316
472
|
const hangupCurrent = useCallback(() => {
|
|
317
473
|
if (call.direction === 'incoming' && call.phase === 'ringing-incoming') {
|
|
318
474
|
declineActiveCall();
|
|
@@ -367,12 +523,18 @@ const VideoCallOverlayInner = () => {
|
|
|
367
523
|
return null;
|
|
368
524
|
}
|
|
369
525
|
const showIncomingDecision = call.direction === 'incoming' && call.phase === 'ringing-incoming';
|
|
370
|
-
|
|
526
|
+
|
|
527
|
+
// The system's incoming-call banner is up (iOS CallKit); answering or
|
|
528
|
+
// declining it drives the call from there.
|
|
529
|
+
if (showIncomingDecision && systemRinging) {
|
|
530
|
+
return null;
|
|
531
|
+
}
|
|
532
|
+
const renderSession = collapse => /*#__PURE__*/_jsx(VideoCallSession, {
|
|
371
533
|
kind: call.kind,
|
|
372
534
|
peerName: call.roomName,
|
|
373
535
|
primaryColor: primaryColor,
|
|
374
536
|
icons: videoCallsConfig?.icons,
|
|
375
|
-
onToggleMinimize:
|
|
537
|
+
onToggleMinimize: collapse,
|
|
376
538
|
onHangup: () => terminateActiveCall('ended')
|
|
377
539
|
});
|
|
378
540
|
|
|
@@ -385,7 +547,7 @@ const VideoCallOverlayInner = () => {
|
|
|
385
547
|
return /*#__PURE__*/_jsx(Modal, {
|
|
386
548
|
visible: true,
|
|
387
549
|
transparent: true,
|
|
388
|
-
animationType:
|
|
550
|
+
animationType: enterFromTop ? 'none' : 'fade',
|
|
389
551
|
statusBarTranslucent: true,
|
|
390
552
|
supportedOrientations: ['portrait', 'landscape'],
|
|
391
553
|
onRequestClose: hangupCurrent,
|
|
@@ -393,9 +555,11 @@ const VideoCallOverlayInner = () => {
|
|
|
393
555
|
/*#__PURE__*/
|
|
394
556
|
// Full-bleed: on a phone the call owns the screen, like the native
|
|
395
557
|
// dialer. The audio call keeps the same dark canvas as video.
|
|
396
|
-
_jsx(
|
|
397
|
-
|
|
398
|
-
|
|
558
|
+
_jsx(CollapsibleCallSurface, {
|
|
559
|
+
enterFromTop: enterFromTop,
|
|
560
|
+
barColor: theme.success,
|
|
561
|
+
onCollapsed: () => setCallMinimized(true),
|
|
562
|
+
children: renderSession
|
|
399
563
|
}) : /*#__PURE__*/_jsx(View, {
|
|
400
564
|
style: [styles.backdrop, {
|
|
401
565
|
backgroundColor: theme.overlay
|
|
@@ -453,6 +617,16 @@ const styles = StyleSheet.create({
|
|
|
453
617
|
flex: 1,
|
|
454
618
|
backgroundColor: '#0B1220'
|
|
455
619
|
},
|
|
620
|
+
// No flex here: `flex: 1` would override the fixed height and re-lay the
|
|
621
|
+
// call out on every frame of the morph.
|
|
622
|
+
sessionFixed: {
|
|
623
|
+
backgroundColor: '#0B1220'
|
|
624
|
+
},
|
|
625
|
+
collapsible: {
|
|
626
|
+
position: 'absolute',
|
|
627
|
+
overflow: 'hidden',
|
|
628
|
+
backgroundColor: '#0B1220'
|
|
629
|
+
},
|
|
456
630
|
ringingCard: {
|
|
457
631
|
width: '100%',
|
|
458
632
|
maxWidth: 420,
|