@ethora/chat-component-rn 26.10.9 → 26.10.11
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 +17 -0
- package/README.md +126 -1
- package/lib/commonjs/booking/index.js +44 -0
- package/lib/commonjs/booking/index.js.map +1 -0
- package/lib/commonjs/booking/pendingScheduledCall.js +275 -0
- package/lib/commonjs/booking/pendingScheduledCall.js.map +1 -0
- package/lib/commonjs/booking/scheduleForm.js +91 -0
- package/lib/commonjs/booking/scheduleForm.js.map +1 -0
- package/lib/commonjs/booking/scheduledCall.js +141 -0
- package/lib/commonjs/booking/scheduledCall.js.map +1 -0
- package/lib/commonjs/booking/scheduledCallActions.js +128 -0
- package/lib/commonjs/booking/scheduledCallActions.js.map +1 -0
- package/lib/commonjs/booking/scheduledCallLink.js +143 -0
- package/lib/commonjs/booking/scheduledCallLink.js.map +1 -0
- package/lib/commonjs/booking/scheduledCallStore.js +64 -0
- package/lib/commonjs/booking/scheduledCallStore.js.map +1 -0
- package/lib/commonjs/booking/startRoomCall.js +84 -0
- package/lib/commonjs/booking/startRoomCall.js.map +1 -0
- package/lib/commonjs/calls/callBusy.js +18 -0
- package/lib/commonjs/calls/callBusy.js.map +1 -0
- package/lib/commonjs/calls/callDisplay.js +73 -0
- package/lib/commonjs/calls/callDisplay.js.map +1 -0
- package/lib/commonjs/calls/callMode.js +175 -0
- package/lib/commonjs/calls/callMode.js.map +1 -0
- package/lib/commonjs/calls/declineReport.js +20 -0
- package/lib/commonjs/calls/declineReport.js.map +1 -0
- package/lib/commonjs/calls/p2p/P2PCallController.js +724 -0
- package/lib/commonjs/calls/p2p/P2PCallController.js.map +1 -0
- package/lib/commonjs/calls/p2p/icePolicy.js +107 -0
- package/lib/commonjs/calls/p2p/icePolicy.js.map +1 -0
- package/lib/commonjs/calls/p2p/negotiator.js +202 -0
- package/lib/commonjs/calls/p2p/negotiator.js.map +1 -0
- package/lib/commonjs/calls/p2p/p2pRuntime.js +147 -0
- package/lib/commonjs/calls/p2p/p2pRuntime.js.map +1 -0
- package/lib/commonjs/calls/p2p/signalInbox.js +98 -0
- package/lib/commonjs/calls/p2p/signalInbox.js.map +1 -0
- package/lib/commonjs/calls/p2p/signalStanza.js +141 -0
- package/lib/commonjs/calls/p2p/signalStanza.js.map +1 -0
- package/lib/commonjs/calls/p2p/webrtcRuntime.js +53 -0
- package/lib/commonjs/calls/p2p/webrtcRuntime.js.map +1 -0
- package/lib/commonjs/calls/senderTrust.js +43 -0
- package/lib/commonjs/calls/senderTrust.js.map +1 -0
- package/lib/commonjs/calls/startCall.js +51 -0
- package/lib/commonjs/calls/startCall.js.map +1 -0
- package/lib/commonjs/components/Booking/BookingIcons.js +55 -0
- package/lib/commonjs/components/Booking/BookingIcons.js.map +1 -0
- package/lib/commonjs/components/Booking/ScheduleCallButton.js +64 -0
- package/lib/commonjs/components/Booking/ScheduleCallButton.js.map +1 -0
- package/lib/commonjs/components/Booking/ScheduleCallSheet.js +351 -0
- package/lib/commonjs/components/Booking/ScheduleCallSheet.js.map +1 -0
- package/lib/commonjs/components/Booking/ScheduledCallCard.js +203 -0
- package/lib/commonjs/components/Booking/ScheduledCallCard.js.map +1 -0
- package/lib/commonjs/components/Booking/ScheduledCallHost.js +23 -0
- package/lib/commonjs/components/Booking/ScheduledCallHost.js.map +1 -0
- package/lib/commonjs/components/Booking/ScheduledCallMessage.js +55 -0
- package/lib/commonjs/components/Booking/ScheduledCallMessage.js.map +1 -0
- package/lib/commonjs/components/Booking/ScheduledCallPreJoin.js +235 -0
- package/lib/commonjs/components/Booking/ScheduledCallPreJoin.js.map +1 -0
- package/lib/commonjs/components/Booking/bookingShared.js +305 -0
- package/lib/commonjs/components/Booking/bookingShared.js.map +1 -0
- package/lib/commonjs/components/MainComponents/AlbumGrid.js +6 -2
- package/lib/commonjs/components/MainComponents/AlbumGrid.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +18 -12
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js +5 -2
- package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js.map +1 -1
- package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js +6 -3
- package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +13 -0
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +13 -0
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js +10 -0
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +7 -16
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/Message.js +27 -1
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatMediaGrid.js +159 -0
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatMediaGrid.js.map +1 -0
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +203 -134
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/LeaveChatModal.js +180 -0
- package/lib/commonjs/components/Modals/ChatProfileModal/LeaveChatModal.js.map +1 -0
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +19 -15
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +100 -162
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/MediaViewer.js +824 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/MediaViewer.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/useSaveFile.js +179 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/useSaveFile.js.map +1 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js +22 -5
- package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +15 -8
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserSettingsModal/LanguageCard.js +1 -1
- package/lib/commonjs/components/Modals/UserSettingsModal/LanguageCard.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/ActiveCallBar.js +3 -2
- package/lib/commonjs/components/VideoCalls/ActiveCallBar.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/CallButtons.js +19 -11
- package/lib/commonjs/components/VideoCalls/CallButtons.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/CallControlBar.js +119 -0
- package/lib/commonjs/components/VideoCalls/CallControlBar.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/CallVideo.js +49 -0
- package/lib/commonjs/components/VideoCalls/CallVideo.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/GroupCallView.js +281 -0
- package/lib/commonjs/components/VideoCalls/GroupCallView.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/P2PCallRunner.js +151 -0
- package/lib/commonjs/components/VideoCalls/P2PCallRunner.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +38 -14
- package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js +57 -128
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/callActions.js +3 -0
- package/lib/commonjs/components/VideoCalls/callActions.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/callElapsed.js +38 -0
- package/lib/commonjs/components/VideoCalls/callElapsed.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/callLive.js +15 -0
- package/lib/commonjs/components/VideoCalls/callLive.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/callSessionController.js +81 -24
- package/lib/commonjs/components/VideoCalls/callSessionController.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/callSessionTypes.js +41 -0
- package/lib/commonjs/components/VideoCalls/callSessionTypes.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/groupLayout.js +43 -0
- package/lib/commonjs/components/VideoCalls/groupLayout.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/p2pCallSession.js +272 -0
- package/lib/commonjs/components/VideoCalls/p2pCallSession.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/useCallKeep.js +7 -2
- package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js +2 -1
- package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +4 -1
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +5 -1
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/MediaSourceContext.js +18 -0
- package/lib/commonjs/context/MediaSourceContext.js.map +1 -0
- package/lib/commonjs/context/xmppProvider.js +2 -1
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/callPush.js +3 -1
- package/lib/commonjs/helpers/callPush.js.map +1 -1
- package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js +3 -1
- package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
- package/lib/commonjs/helpers/constants/MODAL_TYPES.js +2 -0
- package/lib/commonjs/helpers/constants/MODAL_TYPES.js.map +1 -1
- package/lib/commonjs/helpers/incomingCallFromPush.js +63 -7
- package/lib/commonjs/helpers/incomingCallFromPush.js.map +1 -1
- package/lib/commonjs/helpers/publicChatsEntry.js +8 -6
- package/lib/commonjs/helpers/publicChatsEntry.js.map +1 -1
- package/lib/commonjs/helpers/pushPayload.js +5 -0
- package/lib/commonjs/helpers/pushPayload.js.map +1 -1
- package/lib/commonjs/helpers/reportRoom.js +76 -0
- package/lib/commonjs/helpers/reportRoom.js.map +1 -0
- package/lib/commonjs/helpers/roomMedia.js +118 -0
- package/lib/commonjs/helpers/roomMedia.js.map +1 -0
- package/lib/commonjs/i18n/strings.js +480 -0
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/main.js +93 -0
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/api-requests/callState.api.js +75 -0
- package/lib/commonjs/networking/api-requests/callState.api.js.map +1 -0
- package/lib/commonjs/networking/api-requests/push.api.js +29 -6
- package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +17 -15
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/scheduledCalls.api.js +141 -0
- package/lib/commonjs/networking/api-requests/scheduledCalls.api.js.map +1 -0
- package/lib/commonjs/networking/callTokenStanza.js +210 -50
- package/lib/commonjs/networking/callTokenStanza.js.map +1 -1
- package/lib/commonjs/roomStore/callSlice.js +59 -4
- package/lib/commonjs/roomStore/callSlice.js.map +1 -1
- package/lib/commonjs/services/appBadge.js +80 -0
- package/lib/commonjs/services/appBadge.js.map +1 -0
- package/lib/commonjs/services/languageSettings.js +47 -15
- package/lib/commonjs/services/languageSettings.js.map +1 -1
- package/lib/commonjs/services/pushRegistration.js +21 -5
- package/lib/commonjs/services/pushRegistration.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/booking/index.js +5 -0
- package/lib/module/booking/index.js.map +1 -0
- package/lib/module/booking/pendingScheduledCall.js +261 -0
- package/lib/module/booking/pendingScheduledCall.js.map +1 -0
- package/lib/module/booking/scheduleForm.js +79 -0
- package/lib/module/booking/scheduleForm.js.map +1 -0
- package/lib/module/booking/scheduledCall.js +129 -0
- package/lib/module/booking/scheduledCall.js.map +1 -0
- package/lib/module/booking/scheduledCallActions.js +118 -0
- package/lib/module/booking/scheduledCallActions.js.map +1 -0
- package/lib/module/booking/scheduledCallLink.js +136 -0
- package/lib/module/booking/scheduledCallLink.js.map +1 -0
- package/lib/module/booking/scheduledCallStore.js +60 -0
- package/lib/module/booking/scheduledCallStore.js.map +1 -0
- package/lib/module/booking/startRoomCall.js +80 -0
- package/lib/module/booking/startRoomCall.js.map +1 -0
- package/lib/module/calls/callBusy.js +13 -0
- package/lib/module/calls/callBusy.js.map +1 -0
- package/lib/module/calls/callDisplay.js +65 -0
- package/lib/module/calls/callDisplay.js.map +1 -0
- package/lib/module/calls/callMode.js +168 -0
- package/lib/module/calls/callMode.js.map +1 -0
- package/lib/module/calls/declineReport.js +16 -0
- package/lib/module/calls/declineReport.js.map +1 -0
- package/lib/module/calls/p2p/P2PCallController.js +718 -0
- package/lib/module/calls/p2p/P2PCallController.js.map +1 -0
- package/lib/module/calls/p2p/icePolicy.js +102 -0
- package/lib/module/calls/p2p/icePolicy.js.map +1 -0
- package/lib/module/calls/p2p/negotiator.js +197 -0
- package/lib/module/calls/p2p/negotiator.js.map +1 -0
- package/lib/module/calls/p2p/p2pRuntime.js +137 -0
- package/lib/module/calls/p2p/p2pRuntime.js.map +1 -0
- package/lib/module/calls/p2p/signalInbox.js +93 -0
- package/lib/module/calls/p2p/signalInbox.js.map +1 -0
- package/lib/module/calls/p2p/signalStanza.js +135 -0
- package/lib/module/calls/p2p/signalStanza.js.map +1 -0
- package/lib/module/calls/p2p/webrtcRuntime.js +46 -0
- package/lib/module/calls/p2p/webrtcRuntime.js.map +1 -0
- package/lib/module/calls/senderTrust.js +38 -0
- package/lib/module/calls/senderTrust.js.map +1 -0
- package/lib/module/calls/startCall.js +47 -0
- package/lib/module/calls/startCall.js.map +1 -0
- package/lib/module/components/Booking/BookingIcons.js +48 -0
- package/lib/module/components/Booking/BookingIcons.js.map +1 -0
- package/lib/module/components/Booking/ScheduleCallButton.js +59 -0
- package/lib/module/components/Booking/ScheduleCallButton.js.map +1 -0
- package/lib/module/components/Booking/ScheduleCallSheet.js +345 -0
- package/lib/module/components/Booking/ScheduleCallSheet.js.map +1 -0
- package/lib/module/components/Booking/ScheduledCallCard.js +197 -0
- package/lib/module/components/Booking/ScheduledCallCard.js.map +1 -0
- package/lib/module/components/Booking/ScheduledCallHost.js +18 -0
- package/lib/module/components/Booking/ScheduledCallHost.js.map +1 -0
- package/lib/module/components/Booking/ScheduledCallMessage.js +48 -0
- package/lib/module/components/Booking/ScheduledCallMessage.js.map +1 -0
- package/lib/module/components/Booking/ScheduledCallPreJoin.js +229 -0
- package/lib/module/components/Booking/ScheduledCallPreJoin.js.map +1 -0
- package/lib/module/components/Booking/bookingShared.js +291 -0
- package/lib/module/components/Booking/bookingShared.js.map +1 -0
- package/lib/module/components/MainComponents/AlbumGrid.js +6 -2
- package/lib/module/components/MainComponents/AlbumGrid.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +20 -14
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/LanguageSelectorButton.js +5 -2
- package/lib/module/components/MainComponents/LanguageSelectorButton.js.map +1 -1
- package/lib/module/components/MainComponents/LanguageSelectorModal.js +7 -4
- package/lib/module/components/MainComponents/LanguageSelectorModal.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +13 -0
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +13 -0
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/ReduxWrapper.js +10 -0
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +7 -16
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/MessageBubble/Message.js +27 -1
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatMediaGrid.js +154 -0
- package/lib/module/components/Modals/ChatProfileModal/ChatMediaGrid.js.map +1 -0
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +204 -136
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/LeaveChatModal.js +175 -0
- package/lib/module/components/Modals/ChatProfileModal/LeaveChatModal.js.map +1 -0
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +21 -15
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +100 -163
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/MediaViewer.js +819 -0
- package/lib/module/components/Modals/FilePreviewModal/MediaViewer.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/useSaveFile.js +172 -0
- package/lib/module/components/Modals/FilePreviewModal/useSaveFile.js.map +1 -0
- package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js +20 -4
- package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +17 -10
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/Modals/UserSettingsModal/LanguageCard.js +1 -1
- package/lib/module/components/Modals/UserSettingsModal/LanguageCard.js.map +1 -1
- package/lib/module/components/VideoCalls/ActiveCallBar.js +3 -2
- package/lib/module/components/VideoCalls/ActiveCallBar.js.map +1 -1
- package/lib/module/components/VideoCalls/CallButtons.js +19 -11
- package/lib/module/components/VideoCalls/CallButtons.js.map +1 -1
- package/lib/module/components/VideoCalls/CallControlBar.js +113 -0
- package/lib/module/components/VideoCalls/CallControlBar.js.map +1 -0
- package/lib/module/components/VideoCalls/CallVideo.js +43 -0
- package/lib/module/components/VideoCalls/CallVideo.js.map +1 -0
- package/lib/module/components/VideoCalls/GroupCallView.js +275 -0
- package/lib/module/components/VideoCalls/GroupCallView.js.map +1 -0
- package/lib/module/components/VideoCalls/P2PCallRunner.js +147 -0
- package/lib/module/components/VideoCalls/P2PCallRunner.js.map +1 -0
- package/lib/module/components/VideoCalls/VideoCallOverlay.js +38 -14
- package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
- package/lib/module/components/VideoCalls/VideoCallSession.js +46 -127
- package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/module/components/VideoCalls/callActions.js +3 -0
- package/lib/module/components/VideoCalls/callActions.js.map +1 -1
- package/lib/module/components/VideoCalls/callElapsed.js +33 -0
- package/lib/module/components/VideoCalls/callElapsed.js.map +1 -0
- package/lib/module/components/VideoCalls/callLive.js +10 -0
- package/lib/module/components/VideoCalls/callLive.js.map +1 -0
- package/lib/module/components/VideoCalls/callSessionController.js +80 -24
- package/lib/module/components/VideoCalls/callSessionController.js.map +1 -1
- package/lib/module/components/VideoCalls/callSessionTypes.js +37 -0
- package/lib/module/components/VideoCalls/callSessionTypes.js.map +1 -0
- package/lib/module/components/VideoCalls/groupLayout.js +36 -0
- package/lib/module/components/VideoCalls/groupLayout.js.map +1 -0
- package/lib/module/components/VideoCalls/p2pCallSession.js +256 -0
- package/lib/module/components/VideoCalls/p2pCallSession.js.map +1 -0
- package/lib/module/components/VideoCalls/useCallKeep.js +8 -2
- package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -1
- package/lib/module/components/VideoCalls/useOngoingCallNotification.js +2 -1
- package/lib/module/components/VideoCalls/useOngoingCallNotification.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +4 -1
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +5 -1
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/MediaSourceContext.js +13 -0
- package/lib/module/context/MediaSourceContext.js.map +1 -0
- package/lib/module/context/xmppProvider.js +2 -1
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/callPush.js +3 -1
- package/lib/module/helpers/callPush.js.map +1 -1
- package/lib/module/helpers/constants/MODAL_COMPONENTS.js +2 -1
- package/lib/module/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
- package/lib/module/helpers/constants/MODAL_TYPES.js +2 -0
- package/lib/module/helpers/constants/MODAL_TYPES.js.map +1 -1
- package/lib/module/helpers/incomingCallFromPush.js +63 -7
- package/lib/module/helpers/incomingCallFromPush.js.map +1 -1
- package/lib/module/helpers/publicChatsEntry.js +8 -6
- package/lib/module/helpers/publicChatsEntry.js.map +1 -1
- package/lib/module/helpers/pushPayload.js +5 -0
- package/lib/module/helpers/pushPayload.js.map +1 -1
- package/lib/module/helpers/reportRoom.js +70 -0
- package/lib/module/helpers/reportRoom.js.map +1 -0
- package/lib/module/helpers/roomMedia.js +112 -0
- package/lib/module/helpers/roomMedia.js.map +1 -0
- package/lib/module/i18n/strings.js +480 -0
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/main.js +5 -0
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/api-requests/callState.api.js +66 -0
- package/lib/module/networking/api-requests/callState.api.js.map +1 -0
- package/lib/module/networking/api-requests/push.api.js +29 -6
- package/lib/module/networking/api-requests/push.api.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +17 -15
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/networking/api-requests/scheduledCalls.api.js +130 -0
- package/lib/module/networking/api-requests/scheduledCalls.api.js.map +1 -0
- package/lib/module/networking/callTokenStanza.js +210 -50
- package/lib/module/networking/callTokenStanza.js.map +1 -1
- package/lib/module/roomStore/callSlice.js +57 -3
- package/lib/module/roomStore/callSlice.js.map +1 -1
- package/lib/module/services/appBadge.js +74 -0
- package/lib/module/services/appBadge.js.map +1 -0
- package/lib/module/services/languageSettings.js +44 -13
- package/lib/module/services/languageSettings.js.map +1 -1
- package/lib/module/services/pushRegistration.js +21 -5
- package/lib/module/services/pushRegistration.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/booking/index.d.ts +3 -0
- package/lib/typescript/booking/index.d.ts.map +1 -0
- package/lib/typescript/booking/pendingScheduledCall.d.ts +80 -0
- package/lib/typescript/booking/pendingScheduledCall.d.ts.map +1 -0
- package/lib/typescript/booking/scheduleForm.d.ts +28 -0
- package/lib/typescript/booking/scheduleForm.d.ts.map +1 -0
- package/lib/typescript/booking/scheduledCall.d.ts +52 -0
- package/lib/typescript/booking/scheduledCall.d.ts.map +1 -0
- package/lib/typescript/booking/scheduledCallActions.d.ts +22 -0
- package/lib/typescript/booking/scheduledCallActions.d.ts.map +1 -0
- package/lib/typescript/booking/scheduledCallLink.d.ts +37 -0
- package/lib/typescript/booking/scheduledCallLink.d.ts.map +1 -0
- package/lib/typescript/booking/scheduledCallStore.d.ts +47 -0
- package/lib/typescript/booking/scheduledCallStore.d.ts.map +1 -0
- package/lib/typescript/booking/startRoomCall.d.ts +12 -0
- package/lib/typescript/booking/startRoomCall.d.ts.map +1 -0
- package/lib/typescript/calls/callBusy.d.ts +9 -0
- package/lib/typescript/calls/callBusy.d.ts.map +1 -0
- package/lib/typescript/calls/callDisplay.d.ts +23 -0
- package/lib/typescript/calls/callDisplay.d.ts.map +1 -0
- package/lib/typescript/calls/callMode.d.ts +106 -0
- package/lib/typescript/calls/callMode.d.ts.map +1 -0
- package/lib/typescript/calls/declineReport.d.ts +11 -0
- package/lib/typescript/calls/declineReport.d.ts.map +1 -0
- package/lib/typescript/calls/p2p/P2PCallController.d.ts +150 -0
- package/lib/typescript/calls/p2p/P2PCallController.d.ts.map +1 -0
- package/lib/typescript/calls/p2p/icePolicy.d.ts +37 -0
- package/lib/typescript/calls/p2p/icePolicy.d.ts.map +1 -0
- package/lib/typescript/calls/p2p/negotiator.d.ts +57 -0
- package/lib/typescript/calls/p2p/negotiator.d.ts.map +1 -0
- package/lib/typescript/calls/p2p/p2pRuntime.d.ts +41 -0
- package/lib/typescript/calls/p2p/p2pRuntime.d.ts.map +1 -0
- package/lib/typescript/calls/p2p/signalInbox.d.ts +35 -0
- package/lib/typescript/calls/p2p/signalInbox.d.ts.map +1 -0
- package/lib/typescript/calls/p2p/signalStanza.d.ts +52 -0
- package/lib/typescript/calls/p2p/signalStanza.d.ts.map +1 -0
- package/lib/typescript/calls/p2p/webrtcRuntime.d.ts +32 -0
- package/lib/typescript/calls/p2p/webrtcRuntime.d.ts.map +1 -0
- package/lib/typescript/calls/senderTrust.d.ts +8 -0
- package/lib/typescript/calls/senderTrust.d.ts.map +1 -0
- package/lib/typescript/calls/startCall.d.ts +17 -0
- package/lib/typescript/calls/startCall.d.ts.map +1 -0
- package/lib/typescript/components/Booking/BookingIcons.d.ts +9 -0
- package/lib/typescript/components/Booking/BookingIcons.d.ts.map +1 -0
- package/lib/typescript/components/Booking/ScheduleCallButton.d.ts +11 -0
- package/lib/typescript/components/Booking/ScheduleCallButton.d.ts.map +1 -0
- package/lib/typescript/components/Booking/ScheduleCallSheet.d.ts +4 -0
- package/lib/typescript/components/Booking/ScheduleCallSheet.d.ts.map +1 -0
- package/lib/typescript/components/Booking/ScheduledCallCard.d.ts +14 -0
- package/lib/typescript/components/Booking/ScheduledCallCard.d.ts.map +1 -0
- package/lib/typescript/components/Booking/ScheduledCallHost.d.ts +10 -0
- package/lib/typescript/components/Booking/ScheduledCallHost.d.ts.map +1 -0
- package/lib/typescript/components/Booking/ScheduledCallMessage.d.ts +20 -0
- package/lib/typescript/components/Booking/ScheduledCallMessage.d.ts.map +1 -0
- package/lib/typescript/components/Booking/ScheduledCallPreJoin.d.ts +8 -0
- package/lib/typescript/components/Booking/ScheduledCallPreJoin.d.ts.map +1 -0
- package/lib/typescript/components/Booking/bookingShared.d.ts +199 -0
- package/lib/typescript/components/Booking/bookingShared.d.ts.map +1 -0
- package/lib/typescript/components/MainComponents/AlbumGrid.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts +3 -1
- package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts +3 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatMediaGrid.d.ts +16 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ChatMediaGrid.d.ts.map +1 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/LeaveChatModal.d.ts +18 -0
- package/lib/typescript/components/Modals/ChatProfileModal/LeaveChatModal.d.ts.map +1 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +16 -0
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/MediaViewer.d.ts +27 -0
- package/lib/typescript/components/Modals/FilePreviewModal/MediaViewer.d.ts.map +1 -0
- package/lib/typescript/components/Modals/FilePreviewModal/useSaveFile.d.ts +9 -0
- package/lib/typescript/components/Modals/FilePreviewModal/useSaveFile.d.ts.map +1 -0
- package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts +8 -0
- package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserSettingsModal/LanguageCard.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/CallButtons.d.ts +2 -1
- package/lib/typescript/components/VideoCalls/CallButtons.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/CallControlBar.d.ts +17 -0
- package/lib/typescript/components/VideoCalls/CallControlBar.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/CallVideo.d.ts +23 -0
- package/lib/typescript/components/VideoCalls/CallVideo.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/GroupCallView.d.ts +22 -0
- package/lib/typescript/components/VideoCalls/GroupCallView.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/P2PCallRunner.d.ts +2 -0
- package/lib/typescript/components/VideoCalls/P2PCallRunner.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts +10 -12
- package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/callActions.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/callElapsed.d.ts +8 -0
- package/lib/typescript/components/VideoCalls/callElapsed.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/callLive.d.ts +9 -0
- package/lib/typescript/components/VideoCalls/callLive.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/callSessionController.d.ts +10 -31
- package/lib/typescript/components/VideoCalls/callSessionController.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/callSessionTypes.d.ts +60 -0
- package/lib/typescript/components/VideoCalls/callSessionTypes.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/groupLayout.d.ts +23 -0
- package/lib/typescript/components/VideoCalls/groupLayout.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/p2pCallSession.d.ts +31 -0
- package/lib/typescript/components/VideoCalls/p2pCallSession.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/useOngoingCallNotification.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/MediaSourceContext.d.ts +4 -0
- package/lib/typescript/context/MediaSourceContext.d.ts.map +1 -0
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/callPush.d.ts +11 -1
- package/lib/typescript/helpers/callPush.d.ts.map +1 -1
- package/lib/typescript/helpers/constants/MODAL_COMPONENTS.d.ts.map +1 -1
- package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts +2 -0
- package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts.map +1 -1
- package/lib/typescript/helpers/incomingCallFromPush.d.ts.map +1 -1
- package/lib/typescript/helpers/publicChatsEntry.d.ts +7 -5
- package/lib/typescript/helpers/publicChatsEntry.d.ts.map +1 -1
- package/lib/typescript/helpers/pushPayload.d.ts +1 -1
- package/lib/typescript/helpers/pushPayload.d.ts.map +1 -1
- package/lib/typescript/helpers/reportRoom.d.ts +19 -0
- package/lib/typescript/helpers/reportRoom.d.ts.map +1 -0
- package/lib/typescript/helpers/roomMedia.d.ts +26 -0
- package/lib/typescript/helpers/roomMedia.d.ts.map +1 -0
- package/lib/typescript/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/main.d.ts +6 -1
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/callState.api.d.ts +25 -0
- package/lib/typescript/networking/api-requests/callState.api.d.ts.map +1 -0
- package/lib/typescript/networking/api-requests/push.api.d.ts +9 -2
- package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts +8 -6
- package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/scheduledCalls.api.d.ts +86 -0
- package/lib/typescript/networking/api-requests/scheduledCalls.api.d.ts.map +1 -0
- package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -1
- package/lib/typescript/roomStore/callSlice.d.ts +23 -1
- package/lib/typescript/roomStore/callSlice.d.ts.map +1 -1
- package/lib/typescript/services/appBadge.d.ts +3 -0
- package/lib/typescript/services/appBadge.d.ts.map +1 -0
- package/lib/typescript/services/languageSettings.d.ts +7 -0
- package/lib/typescript/services/languageSettings.d.ts.map +1 -1
- package/lib/typescript/services/pushRegistration.d.ts.map +1 -1
- package/lib/typescript/types/models/modal.model.d.ts +18 -0
- package/lib/typescript/types/models/modal.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +85 -4
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/lib/typescript/version.d.ts.map +1 -1
- package/package.json +9 -2
- package/src/booking/index.ts +10 -0
- package/src/booking/pendingScheduledCall.ts +272 -0
- package/src/booking/scheduleForm.ts +84 -0
- package/src/booking/scheduledCall.ts +163 -0
- package/src/booking/scheduledCallActions.ts +141 -0
- package/src/booking/scheduledCallLink.ts +145 -0
- package/src/booking/scheduledCallStore.ts +69 -0
- package/src/booking/startRoomCall.ts +103 -0
- package/src/calls/callBusy.ts +10 -0
- package/src/calls/callDisplay.ts +74 -0
- package/src/calls/callMode.ts +286 -0
- package/src/calls/declineReport.ts +16 -0
- package/src/calls/p2p/P2PCallController.ts +813 -0
- package/src/calls/p2p/icePolicy.ts +99 -0
- package/src/calls/p2p/negotiator.ts +186 -0
- package/src/calls/p2p/p2pRuntime.ts +164 -0
- package/src/calls/p2p/signalInbox.ts +117 -0
- package/src/calls/p2p/signalStanza.ts +205 -0
- package/src/calls/p2p/webrtcRuntime.ts +60 -0
- package/src/calls/senderTrust.ts +40 -0
- package/src/calls/startCall.ts +56 -0
- package/src/components/Booking/BookingIcons.tsx +44 -0
- package/src/components/Booking/ScheduleCallButton.tsx +66 -0
- package/src/components/Booking/ScheduleCallSheet.tsx +380 -0
- package/src/components/Booking/ScheduledCallCard.tsx +216 -0
- package/src/components/Booking/ScheduledCallHost.tsx +18 -0
- package/src/components/Booking/ScheduledCallMessage.tsx +62 -0
- package/src/components/Booking/ScheduledCallPreJoin.tsx +230 -0
- package/src/components/Booking/bookingShared.tsx +295 -0
- package/src/components/MainComponents/AlbumGrid.tsx +5 -1
- package/src/components/MainComponents/ChatHeader.tsx +18 -11
- package/src/components/MainComponents/LanguageSelectorButton.tsx +9 -2
- package/src/components/MainComponents/LanguageSelectorModal.tsx +10 -6
- package/src/components/MainComponents/MediaMessage.tsx +13 -2
- package/src/components/MainComponents/MessageContainer.tsx +15 -0
- package/src/components/MainComponents/ReduxWrapper.tsx +10 -0
- package/src/components/MainComponents/RoomList.tsx +8 -19
- package/src/components/MessageBubble/Message.tsx +24 -1
- package/src/components/Modals/ChatProfileModal/ChatMediaGrid.tsx +174 -0
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +119 -48
- package/src/components/Modals/ChatProfileModal/LeaveChatModal.tsx +191 -0
- package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +22 -22
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +115 -185
- package/src/components/Modals/FilePreviewModal/MediaViewer.tsx +880 -0
- package/src/components/Modals/FilePreviewModal/useSaveFile.ts +207 -0
- package/src/components/Modals/MessageSearchModal/MessageSearchModal.tsx +56 -30
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +28 -9
- package/src/components/Modals/UserSettingsModal/LanguageCard.tsx +9 -7
- package/src/components/VideoCalls/ActiveCallBar.tsx +6 -5
- package/src/components/VideoCalls/CallButtons.tsx +23 -12
- package/src/components/VideoCalls/CallControlBar.tsx +131 -0
- package/src/components/VideoCalls/CallVideo.tsx +59 -0
- package/src/components/VideoCalls/GroupCallView.tsx +324 -0
- package/src/components/VideoCalls/P2PCallRunner.tsx +192 -0
- package/src/components/VideoCalls/VideoCallOverlay.tsx +62 -17
- package/src/components/VideoCalls/VideoCallSession.tsx +55 -133
- package/src/components/VideoCalls/callActions.ts +3 -0
- package/src/components/VideoCalls/callElapsed.ts +27 -0
- package/src/components/VideoCalls/callLive.ts +13 -0
- package/src/components/VideoCalls/callSessionController.ts +130 -55
- package/src/components/VideoCalls/callSessionTypes.ts +80 -0
- package/src/components/VideoCalls/groupLayout.ts +48 -0
- package/src/components/VideoCalls/p2pCallSession.ts +291 -0
- package/src/components/VideoCalls/useCallKeep.ts +9 -2
- package/src/components/VideoCalls/useOngoingCallNotification.ts +2 -2
- package/src/components/styled/MessageImage.tsx +3 -1
- package/src/components/styled/VideoMessage.tsx +5 -1
- package/src/context/MediaSourceContext.tsx +14 -0
- package/src/context/xmppProvider.tsx +3 -0
- package/src/helpers/callPush.ts +13 -1
- package/src/helpers/constants/MODAL_COMPONENTS.tsx +4 -1
- package/src/helpers/constants/MODAL_TYPES.ts +2 -0
- package/src/helpers/incomingCallFromPush.ts +65 -7
- package/src/helpers/publicChatsEntry.ts +8 -7
- package/src/helpers/pushPayload.ts +9 -1
- package/src/helpers/reportRoom.ts +93 -0
- package/src/helpers/roomMedia.ts +126 -0
- package/src/i18n/strings.ts +480 -0
- package/src/main.ts +33 -0
- package/src/networking/api-requests/callState.api.ts +83 -0
- package/src/networking/api-requests/push.api.ts +28 -3
- package/src/networking/api-requests/rooms.api.ts +25 -15
- package/src/networking/api-requests/scheduledCalls.api.ts +232 -0
- package/src/networking/callTokenStanza.ts +247 -50
- package/src/roomStore/callSlice.ts +86 -2
- package/src/services/appBadge.ts +85 -0
- package/src/services/languageSettings.ts +43 -8
- package/src/services/pushRegistration.ts +34 -3
- package/src/types/models/modal.model.ts +16 -0
- package/src/types/types.ts +86 -4
- package/src/version.ts +1 -1
|
@@ -8,6 +8,14 @@ var _client = require("@xmpp/client");
|
|
|
8
8
|
var _roomStore = require("../roomStore");
|
|
9
9
|
var _callSlice = require("../roomStore/callSlice");
|
|
10
10
|
var _clientRegistry = require("../utils/clientRegistry");
|
|
11
|
+
var _callMode = require("../calls/callMode");
|
|
12
|
+
var _callBusy = require("../calls/callBusy");
|
|
13
|
+
var _senderTrust = require("../calls/senderTrust");
|
|
14
|
+
var _callDisplay = require("../calls/callDisplay");
|
|
15
|
+
var _signalStanza = require("../calls/p2p/signalStanza");
|
|
16
|
+
var _p2pRuntime = require("../calls/p2p/p2pRuntime");
|
|
17
|
+
var _webrtcRuntime = require("../calls/p2p/webrtcRuntime");
|
|
18
|
+
var _callState = require("./api-requests/callState.api");
|
|
11
19
|
var _callLogMessage = require("../helpers/callLogMessage");
|
|
12
20
|
var _devLogger = require("../utils/devLogger");
|
|
13
21
|
// Backend currently doesn't propagate `kind` on the broadcast call-token
|
|
@@ -54,6 +62,30 @@ const consumeKindHint = keys => {
|
|
|
54
62
|
};
|
|
55
63
|
const MAX_CALL_TOKEN_AGE_MS = 5000;
|
|
56
64
|
|
|
65
|
+
// XMPP domain of this session (the client's own JID domain, else the host).
|
|
66
|
+
const sessionXmppDomain = () => {
|
|
67
|
+
const client = (0, _clientRegistry.getGlobalXmppClient)();
|
|
68
|
+
return String(client?.client?.jid?.getDomain?.() || client?.host || '');
|
|
69
|
+
};
|
|
70
|
+
const isTrueishAttr = value => {
|
|
71
|
+
const text = String(value ?? '').trim().toLowerCase();
|
|
72
|
+
return text === 'true' || text === '1';
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
// Display name of a user we only know by xmpp username (p2p tokens carry no
|
|
76
|
+
// JWT, so no caller name), from the enriched usersSet.
|
|
77
|
+
const lookupUserName = xmppUsername => {
|
|
78
|
+
if (!xmppUsername) {
|
|
79
|
+
return '';
|
|
80
|
+
}
|
|
81
|
+
const usersSet = _roomStore.store.getState().rooms.usersSet || {};
|
|
82
|
+
const user = usersSet[xmppUsername] || usersSet[xmppUsername.split('@')[0]];
|
|
83
|
+
if (!user) {
|
|
84
|
+
return '';
|
|
85
|
+
}
|
|
86
|
+
return `${user.firstName || ''} ${user.lastName || ''}`.trim() || String(user.name || '').trim();
|
|
87
|
+
};
|
|
88
|
+
|
|
57
89
|
// Dev-only trace of call signalling: which `<data type="call-*">` frames
|
|
58
90
|
// arrive and why a call-token was dropped. A dropped token is silent
|
|
59
91
|
// otherwise: the caller sits on "Calling..." and the callee never rings.
|
|
@@ -276,15 +308,16 @@ const handleCallStateData = (data, fallbackRoomAttr) => {
|
|
|
276
308
|
}
|
|
277
309
|
const roomMatches = !!stanzaRoomAttr && (currentCall.roomJid === stanzaRoomAttr || currentCall.roomName === stanzaRoomAttr || currentCall.roomBareName === stanzaRoomAttr || (currentCall.roomJid || '').split('@')[0] === stanzaRoomAttr);
|
|
278
310
|
const callIdMatches = !!stanzaCallId && !!currentCall.callId && currentCall.callId === stanzaCallId;
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
311
|
+
// A signal that names a DIFFERENT call than the one on screen (e.g. the
|
|
312
|
+
// server log of the previous call in the same room arriving late) must not
|
|
313
|
+
// tear down the current one just because the room matches.
|
|
314
|
+
const callIdConflicts = !!stanzaCallId && !!currentCall.callId && currentCall.callId !== stanzaCallId;
|
|
282
315
|
const isTerminalState = state === 'ended' || state === 'declined' || state === 'cancelled' || state === 'canceled' || state === 'timeout' || state === 'rejected';
|
|
283
316
|
|
|
284
317
|
// A server call-log (no explicit state, but with callId/duration) is
|
|
285
318
|
// itself a "session concluded" signal.
|
|
286
319
|
const isServerCallLog = !state && (0, _callLogMessage.callStateHasLogData)(data.attrs || {});
|
|
287
|
-
if ((
|
|
320
|
+
if ((callIdMatches || roomMatches && !callIdConflicts) && (isTerminalState || isServerCallLog)) {
|
|
288
321
|
_roomStore.store.dispatch((0, _callSlice.endCall)());
|
|
289
322
|
}
|
|
290
323
|
};
|
|
@@ -338,7 +371,13 @@ const onCallTokenMessage = stanza => {
|
|
|
338
371
|
// The server call-log doesn't put `room` on the <data>; derive it
|
|
339
372
|
// from the message's `from` MUC JID localpart instead.
|
|
340
373
|
const fromRoom = String(stanza.attrs?.from || '').split('/')[0].split('@')[0].trim();
|
|
341
|
-
|
|
374
|
+
const declinedInGroup = String(data.attrs?.state || '').toLowerCase() === 'declined' && isTrueishAttr(data.attrs?.group);
|
|
375
|
+
if (!declinedInGroup) {
|
|
376
|
+
// The state / callId / room live on the <data> element, not on the
|
|
377
|
+
// <message> wrapper. This used to be handed `inner`, which made every
|
|
378
|
+
// client call-state signal and server call-log a no-op here.
|
|
379
|
+
handleCallStateData(data, fromRoom);
|
|
380
|
+
}
|
|
342
381
|
|
|
343
382
|
// Server call-logs (carry callerXmppUsername / durationMs) should
|
|
344
383
|
// flow on to onRealtimeMessage / onMessageHistory where they become
|
|
@@ -350,15 +389,6 @@ const onCallTokenMessage = stanza => {
|
|
|
350
389
|
}
|
|
351
390
|
return true;
|
|
352
391
|
}
|
|
353
|
-
if (dataType === 'call-state-declined') {
|
|
354
|
-
handleCallStateData({
|
|
355
|
-
attrs: {
|
|
356
|
-
...data.attrs,
|
|
357
|
-
state: 'declined'
|
|
358
|
-
}
|
|
359
|
-
});
|
|
360
|
-
return true;
|
|
361
|
-
}
|
|
362
392
|
if (dataType === 'call-invite') {
|
|
363
393
|
const inviteKind = String(data.attrs?.kind || '').toLowerCase();
|
|
364
394
|
const normalized = inviteKind === 'audio' ? 'audio' : 'video';
|
|
@@ -376,6 +406,34 @@ const onCallTokenMessage = stanza => {
|
|
|
376
406
|
}
|
|
377
407
|
return true;
|
|
378
408
|
}
|
|
409
|
+
if (dataType === _signalStanza.P2P_SIGNAL_TYPE) {
|
|
410
|
+
// Peer to peer WebRTC signalling (offer / answer / candidate / end).
|
|
411
|
+
// Routed to the p2p runtime, never to the chat pipeline.
|
|
412
|
+
if (_roomStore.store.getState().chatSettingStore.config?.videoCalls?.enabled === true) {
|
|
413
|
+
(0, _p2pRuntime.handleP2PSignalStanza)(inner);
|
|
414
|
+
}
|
|
415
|
+
return true;
|
|
416
|
+
}
|
|
417
|
+
if (dataType === 'call-state-declined') {
|
|
418
|
+
// Server relay of a callee's decline. In a group call one member
|
|
419
|
+
// declining must not end the call for everybody, so it is ignored there.
|
|
420
|
+
// For 1:1 it is a terminal state, same as the client-sent `declined`.
|
|
421
|
+
if (isTrueishAttr(data.attrs?.group)) {
|
|
422
|
+
callTrace('group member declined', {
|
|
423
|
+
by: data.attrs?.by,
|
|
424
|
+
callId: data.attrs?.callId
|
|
425
|
+
});
|
|
426
|
+
return true;
|
|
427
|
+
}
|
|
428
|
+
const fromRoom = String(stanza.attrs?.from || '').split('/')[0].split('@')[0].trim();
|
|
429
|
+
handleCallStateData({
|
|
430
|
+
attrs: {
|
|
431
|
+
...(data.attrs || {}),
|
|
432
|
+
state: 'declined'
|
|
433
|
+
}
|
|
434
|
+
}, fromRoom);
|
|
435
|
+
return true;
|
|
436
|
+
}
|
|
379
437
|
if (dataType === 'call-token') {
|
|
380
438
|
const videoCallsConfig = _roomStore.store.getState().chatSettingStore.config?.videoCalls;
|
|
381
439
|
if (videoCallsConfig?.enabled !== true) {
|
|
@@ -386,56 +444,102 @@ const onCallTokenMessage = stanza => {
|
|
|
386
444
|
callTrace('drop call-token: not fresh');
|
|
387
445
|
return true;
|
|
388
446
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
const
|
|
447
|
+
|
|
448
|
+
// Old servers send neither `mode` nor `group`: parseCallTokenAttrs maps
|
|
449
|
+
// that to a plain LiveKit 1:1 call, exactly the legacy behaviour.
|
|
450
|
+
const attrs = (0, _callMode.parseCallTokenAttrs)(data.attrs);
|
|
451
|
+
// livekitUrl and ice decide where the media goes, and callerName /
|
|
452
|
+
// caller decide who the ring screen says is calling, so they are
|
|
453
|
+
// honoured only from the app's system account (see calls/senderTrust).
|
|
454
|
+
// Anything else keeps the stanza but loses those attributes: the callee
|
|
455
|
+
// then uses config.videoCalls.livekitUrl, GET /v1/calls/ice-servers and
|
|
456
|
+
// the name it can work out locally.
|
|
457
|
+
if ((attrs.livekitUrl || attrs.iceServers || attrs.callerName || attrs.caller) && !(0, _senderTrust.isSystemAccountSender)(inner.attrs?.from, sessionXmppDomain())) {
|
|
458
|
+
callTrace('ignoring livekitUrl/ice/callerName/caller on a call-token not sent by the system account', {
|
|
459
|
+
from: inner.attrs?.from
|
|
460
|
+
});
|
|
461
|
+
attrs.livekitUrl = null;
|
|
462
|
+
attrs.iceServers = null;
|
|
463
|
+
attrs.callerName = '';
|
|
464
|
+
attrs.caller = null;
|
|
465
|
+
}
|
|
466
|
+
const {
|
|
467
|
+
token,
|
|
468
|
+
mode,
|
|
469
|
+
group,
|
|
470
|
+
room: stanzaRoom
|
|
471
|
+
} = attrs;
|
|
472
|
+
const isP2P = mode === 'p2p';
|
|
473
|
+
const stanzaCallId = attrs.callId;
|
|
393
474
|
// Server doesn't propagate `kind` on the broadcast stanza, so first
|
|
394
475
|
// look for a client-side `call-invite` hint we stashed when the
|
|
395
476
|
// dialer signaled us directly. Falls back to whatever the server
|
|
396
477
|
// happens to attach, finally to video (legacy default).
|
|
397
478
|
const hintedKind = consumeKindHint([stanzaRoom, stanzaCallId]);
|
|
398
|
-
const kind = hintedKind || (
|
|
399
|
-
|
|
479
|
+
const kind = hintedKind || (attrs.kind === 'audio' ? 'audio' : 'video');
|
|
480
|
+
// A p2p token is intentionally empty (the media never touches LiveKit);
|
|
481
|
+
// it needs the callId instead, to correlate the signalling.
|
|
482
|
+
if (!stanzaRoom || (isP2P ? !stanzaCallId : !token)) {
|
|
400
483
|
callTrace('drop call-token: no token or room');
|
|
401
484
|
return true;
|
|
402
485
|
}
|
|
403
486
|
const resolvedRoom = resolveRoomByStanzaRoom(stanzaRoom);
|
|
404
|
-
const allowedRoomTypes = videoCallsConfig.allowedRoomTypes || ['private'];
|
|
405
487
|
const usersCnt = Number(resolvedRoom?.usersCnt || 0);
|
|
406
488
|
const isOneToOneLikeRoom = usersCnt > 0 && usersCnt <= 2;
|
|
407
|
-
const
|
|
408
|
-
if (
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
489
|
+
const allowedRoomTypes = videoCallsConfig.allowedRoomTypes;
|
|
490
|
+
if (group) {
|
|
491
|
+
// Group room call (always LiveKit). The host may opt out through
|
|
492
|
+
// allowedRoomTypes; a room we know to be private contradicts `group`.
|
|
493
|
+
if (!(0, _callMode.isCallRoomTypeAllowed)('group', allowedRoomTypes)) {
|
|
494
|
+
callTrace('drop call-token: group calls not allowed');
|
|
495
|
+
return true;
|
|
496
|
+
}
|
|
497
|
+
if (resolvedRoom?.type === 'private') {
|
|
498
|
+
callTrace('drop call-token: group flag on a private room');
|
|
499
|
+
return true;
|
|
500
|
+
}
|
|
501
|
+
} else {
|
|
502
|
+
const isPrivateAllowed = (0, _callMode.isCallRoomTypeAllowed)('private', allowedRoomTypes);
|
|
503
|
+
if (resolvedRoom?.type && resolvedRoom.type !== 'private' && !isOneToOneLikeRoom) {
|
|
504
|
+
callTrace('drop call-token: room type', {
|
|
505
|
+
type: resolvedRoom.type,
|
|
506
|
+
usersCnt
|
|
507
|
+
});
|
|
508
|
+
return true;
|
|
509
|
+
}
|
|
510
|
+
if (resolvedRoom?.type === 'private' && !isPrivateAllowed) {
|
|
511
|
+
callTrace('drop call-token: private not allowed');
|
|
512
|
+
return true;
|
|
513
|
+
}
|
|
514
|
+
if (!resolvedRoom?.type && !stanzaRoom.includes('@') && !isOneToOneLikeRoom) {
|
|
515
|
+
callTrace('drop call-token: room unknown', {
|
|
516
|
+
stanzaRoom
|
|
517
|
+
});
|
|
518
|
+
return true;
|
|
519
|
+
}
|
|
424
520
|
}
|
|
425
521
|
const roomJid = resolvedRoom?.jid || (stanzaRoom.includes('@') ? stanzaRoom : '');
|
|
426
522
|
// Prefer the JWT `sub` claim as the display name on the incoming
|
|
427
523
|
// ring screen, the server populates it with the caller's full name
|
|
428
524
|
// ("Roman Test") which is far more useful than the resolved room
|
|
429
525
|
// title (which for stale / deleted-peer chats reads "deleted").
|
|
430
|
-
|
|
431
|
-
const
|
|
526
|
+
// A p2p token has no JWT, and in a group the ring should name the room.
|
|
527
|
+
const jwtPayload = isP2P ? null : decodeJwtPayload(token);
|
|
528
|
+
const jwtName = group ? '' : (0, _callDisplay.safeCallName)(extractCallerDisplayName(jwtPayload)) || '';
|
|
432
529
|
// `title` is the display name; on new-arch private rooms `name` is the
|
|
433
530
|
// bare room id ("${appId}_<a>-${appId}_<b>"), never something to show.
|
|
434
531
|
const resolvedTitle = String(resolvedRoom?.title || resolvedRoom?.name || '').trim();
|
|
435
|
-
const titleLooksBad = !resolvedTitle || resolvedTitle === stanzaRoom || ['deleted', 'deleted user', 'unknown', 'null'].includes(resolvedTitle.toLowerCase());
|
|
436
|
-
|
|
437
|
-
//
|
|
438
|
-
const
|
|
532
|
+
const titleLooksBad = !resolvedTitle || resolvedTitle === stanzaRoom || ['deleted', 'deleted user', 'unknown', 'null'].includes(resolvedTitle.toLowerCase()) || (0, _callDisplay.looksLikeRawRoomName)(resolvedTitle);
|
|
533
|
+
const selfXmpp = _roomStore.store.getState().chatSettingStore.user?.xmppUsername || '';
|
|
534
|
+
// Group rooms have no single peer; a "<a>-<b>" name there is a coincidence.
|
|
535
|
+
const peerXmppUsername = group ? null : derivePeerXmppUsername(stanzaRoom, selfXmpp) || attrs.caller;
|
|
536
|
+
const peerName = titleLooksBad ? lookupUserName(peerXmppUsername) : '';
|
|
537
|
+
// What the call is called on screen. A person's name is preferred; a
|
|
538
|
+
// raw chat name (two joined JIDs) is never used, an empty result makes
|
|
539
|
+
// the UI show a neutral label. In a group the call is the ROOM, and the
|
|
540
|
+
// caller is carried separately (callerName) for the "X is calling in Y"
|
|
541
|
+
// line.
|
|
542
|
+
const incomingRoomName = group ? (titleLooksBad ? '' : resolvedTitle) || (0, _callDisplay.safeCallName)(stanzaRoom) || '' : attrs.callerName || jwtName || (titleLooksBad ? '' : resolvedTitle) || (0, _callDisplay.safeCallName)(peerName) || (0, _callDisplay.safeCallName)(stanzaRoom) || '';
|
|
439
543
|
if (!roomJid) {
|
|
440
544
|
callTrace('drop call-token: no room jid', {
|
|
441
545
|
stanzaRoom
|
|
@@ -443,20 +547,70 @@ const onCallTokenMessage = stanza => {
|
|
|
443
547
|
return true;
|
|
444
548
|
}
|
|
445
549
|
const callId = extractCallId(data, jwtPayload);
|
|
446
|
-
|
|
447
|
-
|
|
550
|
+
if (isP2P && !callId) {
|
|
551
|
+
return true;
|
|
552
|
+
}
|
|
448
553
|
const callState = _roomStore.store.getState().call;
|
|
449
|
-
|
|
554
|
+
if (isP2P || callState.mode === 'p2p') {
|
|
555
|
+
// Peer to peer (or an active p2p call): one call at a time, decided
|
|
556
|
+
// by callId. The legacy LiveKit-over-LiveKit path below is untouched.
|
|
557
|
+
if (isP2P && !(0, _webrtcRuntime.isP2PAvailable)()) {
|
|
558
|
+
// This device cannot take the call (the WebRTC package is not
|
|
559
|
+
// installed); tell the caller instead of leaving them ringing.
|
|
560
|
+
callTrace('decline p2p call-token: WebRTC unavailable', {
|
|
561
|
+
callId
|
|
562
|
+
});
|
|
563
|
+
(0, _callState.reportCallDeclined)(callId);
|
|
564
|
+
return true;
|
|
565
|
+
}
|
|
566
|
+
const decision = (0, _callMode.decideIncomingWhileBusy)((0, _callBusy.busySnapshot)(callState), {
|
|
567
|
+
mode,
|
|
568
|
+
callId,
|
|
569
|
+
roomBareName: stanzaRoom
|
|
570
|
+
});
|
|
571
|
+
if (decision === 'duplicate' || decision === 'glare-keep') {
|
|
572
|
+
callTrace(`drop call-token: ${decision}`, {
|
|
573
|
+
callId
|
|
574
|
+
});
|
|
575
|
+
return true;
|
|
576
|
+
}
|
|
577
|
+
if (decision === 'busy') {
|
|
578
|
+
callTrace('decline call-token: busy', {
|
|
579
|
+
callId
|
|
580
|
+
});
|
|
581
|
+
if (isP2P) {
|
|
582
|
+
(0, _callState.reportCallDeclined)(callId);
|
|
583
|
+
if (peerXmppUsername) {
|
|
584
|
+
sendCallStateSignal('declined', {
|
|
585
|
+
peerXmppUsername,
|
|
586
|
+
callId,
|
|
587
|
+
roomBareName: stanzaRoom
|
|
588
|
+
});
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
return true;
|
|
592
|
+
}
|
|
593
|
+
if (decision === 'glare-yield') {
|
|
594
|
+
// We both dialled at once and the other call has the smaller id:
|
|
595
|
+
// drop ours (the other side keeps theirs and ignores our token).
|
|
596
|
+
sendCallStateSignal('cancelled');
|
|
597
|
+
(0, _callState.reportCallEnded)(callState.callId);
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
const isOutgoingRoomMatch = !isP2P && callState.direction === 'outgoing' && (callState.roomJid === roomJid || callState.roomName === incomingRoomName || callState.roomBareName === stanzaRoom);
|
|
450
601
|
callTrace('accept call-token', {
|
|
451
602
|
outgoing: isOutgoingRoomMatch,
|
|
452
603
|
roomJid,
|
|
453
|
-
callId
|
|
604
|
+
callId,
|
|
605
|
+
mode,
|
|
606
|
+
group
|
|
454
607
|
});
|
|
455
608
|
if (isOutgoingRoomMatch) {
|
|
456
609
|
_roomStore.store.dispatch((0, _callSlice.setOutgoingCallToken)({
|
|
457
610
|
roomJid,
|
|
458
611
|
token,
|
|
459
|
-
callId: callId || null
|
|
612
|
+
callId: callId || null,
|
|
613
|
+
livekitUrl: attrs.livekitUrl
|
|
460
614
|
}));
|
|
461
615
|
return true;
|
|
462
616
|
}
|
|
@@ -473,7 +627,13 @@ const onCallTokenMessage = stanza => {
|
|
|
473
627
|
token,
|
|
474
628
|
kind,
|
|
475
629
|
callId: callId || null,
|
|
476
|
-
peerXmppUsername: peerXmppUsername || null
|
|
630
|
+
peerXmppUsername: peerXmppUsername || null,
|
|
631
|
+
mode,
|
|
632
|
+
isGroup: group,
|
|
633
|
+
iceServers: attrs.iceServers,
|
|
634
|
+
livekitUrl: attrs.livekitUrl,
|
|
635
|
+
callerName: attrs.callerName || null,
|
|
636
|
+
callerXmppUsername: attrs.caller
|
|
477
637
|
}));
|
|
478
638
|
return true;
|
|
479
639
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_client","require","_roomStore","_callSlice","_clientRegistry","_callLogMessage","_devLogger","KIND_HINT_TTL_MS","kindHints","Map","stashKindHint","key","kind","now","Date","k","v","expiresAt","delete","set","consumeKindHint","keys","hit","get","MAX_CALL_TOKEN_AGE_MS","callTrace","message","extra","__DEV__","console","log","JSON","stringify","B64_ALPHABET","decodeBase64","input","clean","replace","out","buffer","bits","i","length","idx","indexOf","String","fromCharCode","bytesToUtf8","binary","decodeURIComponent","split","map","c","charCodeAt","toString","slice","join","decodeJwtPayload","token","parts","b64","padded","repeat","parse","extractCallId","data","jwtPayload","fromAttr","attrs","callId","callid","trim","metadata","parsed","extractCallerDisplayName","sub","trimmed","looksLikeRawId","test","derivePeerXmppUsername","bareRoomName","selfXmppUsername","includes","selfLocal","peer","find","p","CALL_BODY_KEYWORDS","Set","extractNumericTimestamp","value","source","direct","Number","isFinite","match","isFreshCallToken","stanza","stanzaId","getChild","id","createdTs","Math","abs","resolveRoomByStanzaRoom","roomAttr","rooms","store","getState","roomEntries","Object","values","byJid","byLocalpart","room","jid","byName","name","unwrapMucsub","inner","findCallData","type","getBodyText","body","getText","handleCallStateData","fallbackRoomAttr","state","event","toLowerCase","stanzaRoomAttr","stanzaCallId","currentCall","call","phase","roomMatches","roomJid","roomName","roomBareName","callIdMatches","isTerminalState","isServerCallLog","callStateHasLogData","dispatch","endCall","onCallTokenMessage","dataType","traceStanzaId","traceTs","from","wrapped","hasToken","ageMs","pushLog","durationMs","callerXmppUsername","fromRoom","inviteKind","normalized","inviteRoom","inviteCallId","matchesActive","setCallKind","videoCallsConfig","chatSettingStore","config","videoCalls","enabled","stanzaRoom","stanzaKind","hintedKind","resolvedRoom","allowedRoomTypes","usersCnt","isOneToOneLikeRoom","isPrivateAllowed","callerName","resolvedTitle","title","titleLooksBad","incomingRoomName","selfXmpp","user","xmppUsername","peerXmppUsername","callState","isOutgoingRoomMatch","direction","outgoing","setOutgoingCallToken","setIncomingCallToken","bodyText","has","startsWith","stateFromBody","exports","sendCallStateSignal","options","xmppClient","getGlobalXmppClient","host","xml","to","client","send","sendCallInviteSignal"],"sourceRoot":"../../../src","sources":["networking/callTokenStanza.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_client","require","_roomStore","_callSlice","_clientRegistry","_callMode","_callBusy","_senderTrust","_callDisplay","_signalStanza","_p2pRuntime","_webrtcRuntime","_callState","_callLogMessage","_devLogger","KIND_HINT_TTL_MS","kindHints","Map","stashKindHint","key","kind","now","Date","k","v","expiresAt","delete","set","consumeKindHint","keys","hit","get","MAX_CALL_TOKEN_AGE_MS","sessionXmppDomain","client","getGlobalXmppClient","String","jid","getDomain","host","isTrueishAttr","value","text","trim","toLowerCase","lookupUserName","xmppUsername","usersSet","store","getState","rooms","user","split","firstName","lastName","name","callTrace","message","extra","__DEV__","console","log","JSON","stringify","B64_ALPHABET","decodeBase64","input","clean","replace","out","buffer","bits","i","length","idx","indexOf","fromCharCode","bytesToUtf8","binary","decodeURIComponent","map","c","charCodeAt","toString","slice","join","decodeJwtPayload","token","parts","b64","padded","repeat","parse","extractCallId","data","jwtPayload","fromAttr","attrs","callId","callid","metadata","parsed","extractCallerDisplayName","sub","trimmed","looksLikeRawId","test","derivePeerXmppUsername","bareRoomName","selfXmppUsername","includes","selfLocal","peer","find","p","CALL_BODY_KEYWORDS","Set","extractNumericTimestamp","source","direct","Number","isFinite","match","isFreshCallToken","stanza","stanzaId","getChild","id","createdTs","Math","abs","resolveRoomByStanzaRoom","roomAttr","roomEntries","Object","values","byJid","byLocalpart","room","byName","unwrapMucsub","inner","findCallData","type","getBodyText","body","getText","handleCallStateData","fallbackRoomAttr","state","event","stanzaRoomAttr","stanzaCallId","currentCall","call","phase","roomMatches","roomJid","roomName","roomBareName","callIdMatches","callIdConflicts","isTerminalState","isServerCallLog","callStateHasLogData","dispatch","endCall","onCallTokenMessage","dataType","traceStanzaId","traceTs","from","wrapped","hasToken","ageMs","pushLog","durationMs","callerXmppUsername","fromRoom","declinedInGroup","group","inviteKind","normalized","inviteRoom","inviteCallId","matchesActive","setCallKind","P2P_SIGNAL_TYPE","chatSettingStore","config","videoCalls","enabled","handleP2PSignalStanza","by","videoCallsConfig","parseCallTokenAttrs","livekitUrl","iceServers","callerName","caller","isSystemAccountSender","mode","stanzaRoom","isP2P","hintedKind","resolvedRoom","usersCnt","isOneToOneLikeRoom","allowedRoomTypes","isCallRoomTypeAllowed","isPrivateAllowed","jwtName","safeCallName","resolvedTitle","title","titleLooksBad","looksLikeRawRoomName","selfXmpp","peerXmppUsername","peerName","incomingRoomName","callState","isP2PAvailable","reportCallDeclined","decision","decideIncomingWhileBusy","busySnapshot","sendCallStateSignal","reportCallEnded","isOutgoingRoomMatch","direction","outgoing","setOutgoingCallToken","setIncomingCallToken","isGroup","bodyText","has","startsWith","stateFromBody","exports","options","xmppClient","xml","to","send","sendCallInviteSignal"],"sourceRoot":"../../../src","sources":["networking/callTokenStanza.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.startOutgoingCall = exports.setOutgoingCallToken = exports.setIncomingCallToken = exports.setCallPhase = exports.setCallKind = exports.setCallError = exports.resetCall = exports.endCall = exports.default = exports.declineIncomingCall = exports.acceptIncomingCall = void 0;
|
|
6
|
+
exports.startOutgoingCall = exports.setOutgoingCallToken = exports.setOutgoingCallRoute = exports.setIncomingCallToken = exports.setCallPhase = exports.setCallKind = exports.setCallError = exports.resetCall = exports.endCall = exports.default = exports.declineIncomingCall = exports.acceptIncomingCall = void 0;
|
|
7
7
|
var _toolkit = require("@reduxjs/toolkit");
|
|
8
|
+
var _callDisplay = require("../calls/callDisplay");
|
|
8
9
|
const initialState = {
|
|
9
10
|
phase: 'idle',
|
|
10
11
|
direction: null,
|
|
@@ -17,7 +18,13 @@ const initialState = {
|
|
|
17
18
|
token: null,
|
|
18
19
|
error: null,
|
|
19
20
|
startedAt: null,
|
|
20
|
-
connectedAt: null
|
|
21
|
+
connectedAt: null,
|
|
22
|
+
mode: 'livekit',
|
|
23
|
+
isGroup: false,
|
|
24
|
+
livekitUrl: null,
|
|
25
|
+
iceServers: null,
|
|
26
|
+
callerName: null,
|
|
27
|
+
callerXmppUsername: null
|
|
21
28
|
};
|
|
22
29
|
const resetState = () => ({
|
|
23
30
|
...initialState
|
|
@@ -31,7 +38,9 @@ const callSlice = (0, _toolkit.createSlice)({
|
|
|
31
38
|
state.direction = 'outgoing';
|
|
32
39
|
state.kind = action.payload.kind || 'video';
|
|
33
40
|
state.roomJid = action.payload.roomJid;
|
|
34
|
-
|
|
41
|
+
// A raw chat name is never a name: safeCallName drops it, the UI then
|
|
42
|
+
// shows a neutral label.
|
|
43
|
+
state.roomName = (0, _callDisplay.safeCallName)(action.payload.roomName);
|
|
35
44
|
state.roomBareName = action.payload.roomBareName || (action.payload.roomJid || '').split('@')[0] || null;
|
|
36
45
|
state.peerXmppUsername = action.payload.peerXmppUsername || null;
|
|
37
46
|
state.callId = null;
|
|
@@ -39,13 +48,47 @@ const callSlice = (0, _toolkit.createSlice)({
|
|
|
39
48
|
state.error = null;
|
|
40
49
|
state.startedAt = Date.now();
|
|
41
50
|
state.connectedAt = null;
|
|
51
|
+
state.mode = 'livekit';
|
|
52
|
+
state.isGroup = action.payload.isGroup === true;
|
|
53
|
+
state.livekitUrl = null;
|
|
54
|
+
state.iceServers = null;
|
|
55
|
+
state.callerName = null;
|
|
56
|
+
state.callerXmppUsername = null;
|
|
57
|
+
},
|
|
58
|
+
// The create response told the caller how the call is carried. Applied
|
|
59
|
+
// only to the very call that asked (startedAt must match), so a late
|
|
60
|
+
// response for a call the user already cancelled cannot leak into the next.
|
|
61
|
+
setOutgoingCallRoute(state, action) {
|
|
62
|
+
if (state.direction !== 'outgoing') {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (action.payload.startedAt !== state.startedAt) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// The LiveKit call-token can overtake the HTTP response, so a livekit
|
|
69
|
+
// route may still be applied once the phase has moved on to
|
|
70
|
+
// 'connecting'. A p2p route only makes sense while still dialling.
|
|
71
|
+
if (state.phase !== 'requesting') {
|
|
72
|
+
if (state.phase !== 'connecting' || action.payload.mode !== 'livekit') {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
state.mode = action.payload.mode;
|
|
77
|
+
if (action.payload.callId) {
|
|
78
|
+
state.callId = action.payload.callId;
|
|
79
|
+
}
|
|
80
|
+
if (typeof action.payload.group === 'boolean') {
|
|
81
|
+
state.isGroup = action.payload.group;
|
|
82
|
+
}
|
|
83
|
+
state.livekitUrl = action.payload.livekitUrl || null;
|
|
84
|
+
state.iceServers = action.payload.mode === 'p2p' ? action.payload.iceServers || [] : null;
|
|
42
85
|
},
|
|
43
86
|
setIncomingCallToken(state, action) {
|
|
44
87
|
state.phase = 'ringing-incoming';
|
|
45
88
|
state.direction = 'incoming';
|
|
46
89
|
state.kind = action.payload.kind || 'video';
|
|
47
90
|
state.roomJid = action.payload.roomJid;
|
|
48
|
-
state.roomName = action.payload.roomName
|
|
91
|
+
state.roomName = (0, _callDisplay.safeCallName)(action.payload.roomName);
|
|
49
92
|
state.roomBareName = action.payload.roomBareName || (action.payload.roomJid || '').split('@')[0] || null;
|
|
50
93
|
state.callId = action.payload.callId || null;
|
|
51
94
|
state.peerXmppUsername = action.payload.peerXmppUsername || null;
|
|
@@ -53,6 +96,12 @@ const callSlice = (0, _toolkit.createSlice)({
|
|
|
53
96
|
state.error = null;
|
|
54
97
|
state.startedAt = Date.now();
|
|
55
98
|
state.connectedAt = null;
|
|
99
|
+
state.mode = action.payload.mode || 'livekit';
|
|
100
|
+
state.isGroup = action.payload.isGroup === true;
|
|
101
|
+
state.livekitUrl = action.payload.livekitUrl || null;
|
|
102
|
+
state.iceServers = action.payload.iceServers || null;
|
|
103
|
+
state.callerName = (0, _callDisplay.safeCallName)(action.payload.callerName);
|
|
104
|
+
state.callerXmppUsername = action.payload.callerXmppUsername || null;
|
|
56
105
|
},
|
|
57
106
|
setOutgoingCallToken(state, action) {
|
|
58
107
|
if (state.direction !== 'outgoing') {
|
|
@@ -68,6 +117,10 @@ const callSlice = (0, _toolkit.createSlice)({
|
|
|
68
117
|
if (action.payload.callId) {
|
|
69
118
|
state.callId = action.payload.callId;
|
|
70
119
|
}
|
|
120
|
+
// The stanza's URL, when present, wins over the create response's.
|
|
121
|
+
if (action.payload.livekitUrl) {
|
|
122
|
+
state.livekitUrl = action.payload.livekitUrl;
|
|
123
|
+
}
|
|
71
124
|
state.error = null;
|
|
72
125
|
state.startedAt = state.startedAt || Date.now();
|
|
73
126
|
},
|
|
@@ -122,6 +175,7 @@ const {
|
|
|
122
175
|
startOutgoingCall,
|
|
123
176
|
setIncomingCallToken,
|
|
124
177
|
setOutgoingCallToken,
|
|
178
|
+
setOutgoingCallRoute,
|
|
125
179
|
acceptIncomingCall,
|
|
126
180
|
declineIncomingCall,
|
|
127
181
|
endCall,
|
|
@@ -137,6 +191,7 @@ exports.setCallError = setCallError;
|
|
|
137
191
|
exports.endCall = endCall;
|
|
138
192
|
exports.declineIncomingCall = declineIncomingCall;
|
|
139
193
|
exports.acceptIncomingCall = acceptIncomingCall;
|
|
194
|
+
exports.setOutgoingCallRoute = setOutgoingCallRoute;
|
|
140
195
|
exports.setOutgoingCallToken = setOutgoingCallToken;
|
|
141
196
|
exports.setIncomingCallToken = setIncomingCallToken;
|
|
142
197
|
exports.startOutgoingCall = startOutgoingCall;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_toolkit","require","initialState","phase","direction","kind","roomJid","roomName","roomBareName","callId","peerXmppUsername","token","error","startedAt","connectedAt","resetState","callSlice","createSlice","name","reducers","startOutgoingCall","state","action","payload","split","Date","now","setIncomingCallToken","setOutgoingCallToken","currentRoom","acceptIncomingCall","declineIncomingCall","endCall","setCallError","setCallPhase","setCallKind","resetCall","extraReducers","builder","addCase","actions","exports","_default","default","reducer"],"sourceRoot":"../../../src","sources":["roomStore/callSlice.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_toolkit","require","_callDisplay","initialState","phase","direction","kind","roomJid","roomName","roomBareName","callId","peerXmppUsername","token","error","startedAt","connectedAt","mode","isGroup","livekitUrl","iceServers","callerName","callerXmppUsername","resetState","callSlice","createSlice","name","reducers","startOutgoingCall","state","action","payload","safeCallName","split","Date","now","setOutgoingCallRoute","group","setIncomingCallToken","setOutgoingCallToken","currentRoom","acceptIncomingCall","declineIncomingCall","endCall","setCallError","setCallPhase","setCallKind","resetCall","extraReducers","builder","addCase","actions","exports","_default","default","reducer"],"sourceRoot":"../../../src","sources":["roomStore/callSlice.ts"],"mappings":"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","ignoreList":[]}
|