@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
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.startRoomCall = void 0;
|
|
7
|
+
var _roomStore = require("../roomStore");
|
|
8
|
+
var _callSlice = require("../roomStore/callSlice");
|
|
9
|
+
var _callTokenStanza = require("../networking/callTokenStanza");
|
|
10
|
+
var _startCall = require("../calls/startCall");
|
|
11
|
+
var _scheduledCall = require("./scheduledCall");
|
|
12
|
+
/**
|
|
13
|
+
* Joining a scheduled call is the ordinary call start for that room, taken
|
|
14
|
+
* on a user tap: a private room starts (or answers) its call, a group or
|
|
15
|
+
* public room starts or joins the room call. This file is the ONE place the
|
|
16
|
+
* booking flow reaches into the call path, so when the call transport
|
|
17
|
+
* changes only this function follows (it mirrors CallButtons.placeCall and
|
|
18
|
+
* hands the request to the shared requestOutgoingCall, so a private room
|
|
19
|
+
* gets the p2p call and a group room the LiveKit one, as the server decides).
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
const BAD_TITLES = ['deleted', 'deleted user', 'unknown', 'null'];
|
|
23
|
+
const startRoomCall = async (roomJid, kind) => {
|
|
24
|
+
const state = _roomStore.store.getState();
|
|
25
|
+
if (state.chatSettingStore.config?.videoCalls?.enabled !== true) {
|
|
26
|
+
return 'disabled';
|
|
27
|
+
}
|
|
28
|
+
const chatName = (0, _scheduledCall.chatNameOfRoom)(roomJid);
|
|
29
|
+
if (!chatName) {
|
|
30
|
+
return 'no-room';
|
|
31
|
+
}
|
|
32
|
+
const room = Object.values(state.rooms.rooms || {}).find(r => (0, _scheduledCall.chatNameOfRoom)(r?.jid || '') === chatName);
|
|
33
|
+
const fullJid = room?.jid || roomJid;
|
|
34
|
+
if (!fullJid.includes('@')) {
|
|
35
|
+
return 'no-room';
|
|
36
|
+
}
|
|
37
|
+
const call = state.call;
|
|
38
|
+
if (call.phase !== 'idle') {
|
|
39
|
+
// The same room is already ringing us: joining means answering it.
|
|
40
|
+
if (call.phase === 'ringing-incoming' && call.roomBareName === chatName) {
|
|
41
|
+
_roomStore.store.dispatch((0, _callSlice.acceptIncomingCall)());
|
|
42
|
+
return 'answered';
|
|
43
|
+
}
|
|
44
|
+
return 'busy';
|
|
45
|
+
}
|
|
46
|
+
const selfLocal = String(state.chatSettingStore.user?.xmppUsername || '').split('@')[0];
|
|
47
|
+
const isGroup = room?.type === 'group';
|
|
48
|
+
const peer = room?.type === 'private' ? (room?.members || []).find(member => {
|
|
49
|
+
const local = String(member?.xmppUsername || '').split('@')[0];
|
|
50
|
+
return local && local !== selfLocal;
|
|
51
|
+
}) : undefined;
|
|
52
|
+
const peerXmppUsername = peer?.xmppUsername || null;
|
|
53
|
+
const rawTitle = String(room?.title || room?.name || '').trim();
|
|
54
|
+
const peerDisplay = peer ? `${peer.firstName || ''} ${peer.lastName || ''}`.trim() || peer.name || '' : '';
|
|
55
|
+
const bad = !rawTitle || BAD_TITLES.includes(rawTitle.toLowerCase());
|
|
56
|
+
const dialName = (bad ? peerDisplay : rawTitle) || peerDisplay || chatName;
|
|
57
|
+
_roomStore.store.dispatch((0, _callSlice.startOutgoingCall)({
|
|
58
|
+
roomJid: fullJid,
|
|
59
|
+
roomName: dialName,
|
|
60
|
+
roomBareName: chatName,
|
|
61
|
+
kind,
|
|
62
|
+
peerXmppUsername,
|
|
63
|
+
isGroup
|
|
64
|
+
}));
|
|
65
|
+
if (peerXmppUsername) {
|
|
66
|
+
(0, _callTokenStanza.sendCallInviteSignal)(kind, {
|
|
67
|
+
peerXmppUsername,
|
|
68
|
+
roomBareName: chatName
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
await (0, _startCall.requestOutgoingCall)({
|
|
73
|
+
chatName,
|
|
74
|
+
kind,
|
|
75
|
+
peerXmppUsername
|
|
76
|
+
});
|
|
77
|
+
return 'started';
|
|
78
|
+
} catch (error) {
|
|
79
|
+
_roomStore.store.dispatch((0, _callSlice.setCallError)(error instanceof Error ? error.message : 'call failed'));
|
|
80
|
+
return 'failed';
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
exports.startRoomCall = startRoomCall;
|
|
84
|
+
//# sourceMappingURL=startRoomCall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_roomStore","require","_callSlice","_callTokenStanza","_startCall","_scheduledCall","BAD_TITLES","startRoomCall","roomJid","kind","state","store","getState","chatSettingStore","config","videoCalls","enabled","chatName","chatNameOfRoom","room","Object","values","rooms","find","r","jid","fullJid","includes","call","phase","roomBareName","dispatch","acceptIncomingCall","selfLocal","String","user","xmppUsername","split","isGroup","type","peer","members","member","local","undefined","peerXmppUsername","rawTitle","title","name","trim","peerDisplay","firstName","lastName","bad","toLowerCase","dialName","startOutgoingCall","roomName","sendCallInviteSignal","requestOutgoingCall","error","setCallError","Error","message","exports"],"sourceRoot":"../../../src","sources":["booking/startRoomCall.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.busySnapshot = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* The call slice as `decideIncomingWhileBusy` should see it. A call that
|
|
9
|
+
* failed (phase 'error') only has its error card left on screen, waiting to
|
|
10
|
+
* be dismissed; it must not make the phone refuse the next incoming call as
|
|
11
|
+
* busy.
|
|
12
|
+
*/
|
|
13
|
+
const busySnapshot = call => call.phase === 'error' ? {
|
|
14
|
+
...call,
|
|
15
|
+
phase: 'idle'
|
|
16
|
+
} : call;
|
|
17
|
+
exports.busySnapshot = busySnapshot;
|
|
18
|
+
//# sourceMappingURL=callBusy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["busySnapshot","call","phase","exports"],"sourceRoot":"../../../src","sources":["calls/callBusy.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,YAAY,GAAIC,IAAsB,IACjDA,IAAI,CAACC,KAAK,KAAK,OAAO,GAAG;EAAE,GAAGD,IAAI;EAAEC,KAAK,EAAE;AAAO,CAAC,GAAGD,IAAI;AAACE,OAAA,CAAAH,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.sanitizeXmppUsername = exports.sanitizeCallName = exports.safeCallName = exports.looksLikeRawRoomName = exports.NEUTRAL_INCOMING_CALL_LABEL = void 0;
|
|
7
|
+
// Display-name hygiene for the call UI. Names reach the ring screen from
|
|
8
|
+
// several places (a call-token attribute, a JWT claim, a room title, a push
|
|
9
|
+
// payload); this keeps raw identifiers and hostile text from ever being shown
|
|
10
|
+
// as a person's name.
|
|
11
|
+
|
|
12
|
+
/** Shown on the ring screen when no human-readable name is known. */
|
|
13
|
+
const NEUTRAL_INCOMING_CALL_LABEL = exports.NEUTRAL_INCOMING_CALL_LABEL = 'Incoming call';
|
|
14
|
+
const MAX_CALL_NAME_LENGTH = 80;
|
|
15
|
+
const HEX24 = '[0-9a-fA-F]{24}';
|
|
16
|
+
// A user JID local part: <appId>_<userId>, optionally with an @domain.
|
|
17
|
+
const USER_ID = `${HEX24}_${HEX24}(?:@[A-Za-z0-9.]+)?`;
|
|
18
|
+
|
|
19
|
+
// A 1:1 chat is named "<jidA>-<jidB>" (two user ids joined by a hyphen).
|
|
20
|
+
const ONE_TO_ONE_ROOM = new RegExp(`^${USER_ID}(?:-${USER_ID})*$`);
|
|
21
|
+
// A group chat is named "<appId>_<uuid>".
|
|
22
|
+
const GROUP_ROOM = new RegExp(`^${HEX24}_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`);
|
|
23
|
+
// Anything long that is nothing but hex, underscores and hyphens is an id.
|
|
24
|
+
const OPAQUE_ID = /^[0-9a-f_-]{16,}$/i;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* True for strings that are a chat's internal name or an id rather than
|
|
28
|
+
* something a person would be called: two user JIDs joined (the private chat
|
|
29
|
+
* name), a lone user id, an `<appId>_<uuid>` group name, or any long run of
|
|
30
|
+
* hex / underscore / hyphen.
|
|
31
|
+
*/
|
|
32
|
+
const looksLikeRawRoomName = value => {
|
|
33
|
+
const text = typeof value === 'string' ? value.trim() : '';
|
|
34
|
+
if (!text) return false;
|
|
35
|
+
return ONE_TO_ONE_ROOM.test(text) || GROUP_ROOM.test(text) || OPAQUE_ID.test(text);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
// C0/C1 controls, bidi overrides/isolates and zero-width characters: none of
|
|
39
|
+
// them belong in a name, and the bidi ones can make text read backwards.
|
|
40
|
+
// eslint-disable-next-line no-control-regex
|
|
41
|
+
exports.looksLikeRawRoomName = looksLikeRawRoomName;
|
|
42
|
+
const UNWANTED_CHARS = /[\u0000-\u001F\u007F-\u009F----]/g;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Plain-text, display-safe version of a name: control characters stripped,
|
|
46
|
+
* whitespace collapsed and trimmed, capped at about 80 characters. Returns ''
|
|
47
|
+
* when nothing usable is left or the value is a raw chat name / id.
|
|
48
|
+
*/
|
|
49
|
+
const sanitizeCallName = value => {
|
|
50
|
+
if (typeof value !== 'string') return '';
|
|
51
|
+
const cleaned = value.replace(UNWANTED_CHARS, ' ').replace(/\s+/g, ' ').trim();
|
|
52
|
+
if (!cleaned) return '';
|
|
53
|
+
// Cap by code point so a surrogate pair is never cut in half.
|
|
54
|
+
const capped = Array.from(cleaned).slice(0, MAX_CALL_NAME_LENGTH).join('').trim();
|
|
55
|
+
return looksLikeRawRoomName(capped) ? '' : capped;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/** sanitizeCallName with null instead of '' (state-friendly). */
|
|
59
|
+
exports.sanitizeCallName = sanitizeCallName;
|
|
60
|
+
const safeCallName = value => sanitizeCallName(value) || null;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* An xmppUsername from a stanza attribute, or null when it is not shaped like
|
|
64
|
+
* one (it is only ever used for lookups and routing, never shown).
|
|
65
|
+
*/
|
|
66
|
+
exports.safeCallName = safeCallName;
|
|
67
|
+
const sanitizeXmppUsername = value => {
|
|
68
|
+
const text = typeof value === 'string' ? value.trim() : '';
|
|
69
|
+
const local = text.split('/')[0];
|
|
70
|
+
return /^[A-Za-z0-9_-]{1,128}(?:@[A-Za-z0-9.-]+)?$/.test(local) ? local : null;
|
|
71
|
+
};
|
|
72
|
+
exports.sanitizeXmppUsername = sanitizeXmppUsername;
|
|
73
|
+
//# sourceMappingURL=callDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NEUTRAL_INCOMING_CALL_LABEL","exports","MAX_CALL_NAME_LENGTH","HEX24","USER_ID","ONE_TO_ONE_ROOM","RegExp","GROUP_ROOM","OPAQUE_ID","looksLikeRawRoomName","value","text","trim","test","UNWANTED_CHARS","sanitizeCallName","cleaned","replace","capped","Array","from","slice","join","safeCallName","sanitizeXmppUsername","local","split"],"sourceRoot":"../../../src","sources":["calls/callDisplay.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAEA;AACO,MAAMA,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,eAAe;AAE1D,MAAME,oBAAoB,GAAG,EAAE;AAE/B,MAAMC,KAAK,GAAG,iBAAiB;AAC/B;AACA,MAAMC,OAAO,GAAG,GAAGD,KAAK,IAAIA,KAAK,qBAAqB;;AAEtD;AACA,MAAME,eAAe,GAAG,IAAIC,MAAM,CAAC,IAAIF,OAAO,OAAOA,OAAO,KAAK,CAAC;AAClE;AACA,MAAMG,UAAU,GAAG,IAAID,MAAM,CAC3B,IAAIH,KAAK,+EACX,CAAC;AACD;AACA,MAAMK,SAAS,GAAG,oBAAoB;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,oBAAoB,GAAIC,KAAc,IAAc;EAC/D,MAAMC,IAAI,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACE,IAAI,CAAC,CAAC,GAAG,EAAE;EAC1D,IAAI,CAACD,IAAI,EAAE,OAAO,KAAK;EACvB,OACEN,eAAe,CAACQ,IAAI,CAACF,IAAI,CAAC,IAC1BJ,UAAU,CAACM,IAAI,CAACF,IAAI,CAAC,IACrBH,SAAS,CAACK,IAAI,CAACF,IAAI,CAAC;AAExB,CAAC;;AAED;AACA;AACA;AAAAV,OAAA,CAAAQ,oBAAA,GAAAA,oBAAA;AACA,MAAMK,cAAc,GAAG,4CAA4C;;AAEnE;AACA;AACA;AACA;AACA;AACO,MAAMC,gBAAgB,GAAIL,KAAc,IAAa;EAC1D,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,EAAE;EACxC,MAAMM,OAAO,GAAGN,KAAK,CAClBO,OAAO,CAACH,cAAc,EAAE,GAAG,CAAC,CAC5BG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACpBL,IAAI,CAAC,CAAC;EACT,IAAI,CAACI,OAAO,EAAE,OAAO,EAAE;EACvB;EACA,MAAME,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACJ,OAAO,CAAC,CAACK,KAAK,CAAC,CAAC,EAAEnB,oBAAoB,CAAC,CAACoB,IAAI,CAAC,EAAE,CAAC,CAACV,IAAI,CAAC,CAAC;EACjF,OAAOH,oBAAoB,CAACS,MAAM,CAAC,GAAG,EAAE,GAAGA,MAAM;AACnD,CAAC;;AAED;AAAAjB,OAAA,CAAAc,gBAAA,GAAAA,gBAAA;AACO,MAAMQ,YAAY,GAAIb,KAAc,IACzCK,gBAAgB,CAACL,KAAK,CAAC,IAAI,IAAI;;AAEjC;AACA;AACA;AACA;AAHAT,OAAA,CAAAsB,YAAA,GAAAA,YAAA;AAIO,MAAMC,oBAAoB,GAAId,KAAc,IAAoB;EACrE,MAAMC,IAAI,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACE,IAAI,CAAC,CAAC,GAAG,EAAE;EAC1D,MAAMa,KAAK,GAAGd,IAAI,CAACe,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EAChC,OAAO,4CAA4C,CAACb,IAAI,CAACY,KAAK,CAAC,GAAGA,KAAK,GAAG,IAAI;AAChF,CAAC;AAACxB,OAAA,CAAAuB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.parseCallTokenAttrs = exports.parseCallCreateResponse = exports.normalizeLivekitUrl = exports.normalizeIceServers = exports.isCallRoomTypeAllowed = exports.decideIncomingWhileBusy = exports.DEFAULT_CALL_ROOM_TYPES = void 0;
|
|
7
|
+
var _callDisplay = require("./callDisplay");
|
|
8
|
+
// Pure helpers that decide HOW a call is carried, shared by the dialer
|
|
9
|
+
// (ChatHeader), the stanza handler (callTokenStanza) and the overlay.
|
|
10
|
+
//
|
|
11
|
+
// Three kinds of call exist:
|
|
12
|
+
// - 1:1 over our own WebRTC peer connection ("p2p"): chosen by the server,
|
|
13
|
+
// only for private chats and only when the install has P2P enabled;
|
|
14
|
+
// - 1:1 over LiveKit: the fallback when the server answers `livekit`;
|
|
15
|
+
// - group over LiveKit: any non-private chat, always `livekit`.
|
|
16
|
+
// The client never picks the transport, it follows the server's `mode`.
|
|
17
|
+
|
|
18
|
+
/** Serializable subset of RTCIceServer (kept free of DOM types for redux). */
|
|
19
|
+
|
|
20
|
+
const ICE_URL_RE = /^(stun|stuns|turn|turns):/i;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Accepts an array, an `{ iceServers }` envelope or a JSON string of either
|
|
24
|
+
* (the call-token stanza carries the list as a JSON attribute) and returns
|
|
25
|
+
* only well formed stun/turn entries. Anything else is dropped, never thrown.
|
|
26
|
+
*/
|
|
27
|
+
const normalizeIceServers = raw => {
|
|
28
|
+
let value = raw;
|
|
29
|
+
if (typeof value === 'string') {
|
|
30
|
+
const text = value.trim();
|
|
31
|
+
if (!text) return [];
|
|
32
|
+
try {
|
|
33
|
+
value = JSON.parse(text);
|
|
34
|
+
} catch {
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (value && !Array.isArray(value) && typeof value === 'object' && Array.isArray(value.iceServers)) {
|
|
39
|
+
value = value.iceServers;
|
|
40
|
+
}
|
|
41
|
+
if (!Array.isArray(value)) return [];
|
|
42
|
+
const out = [];
|
|
43
|
+
for (const entry of value) {
|
|
44
|
+
if (!entry || typeof entry !== 'object') continue;
|
|
45
|
+
const e = entry;
|
|
46
|
+
const rawUrls = e.urls ?? e.url;
|
|
47
|
+
const candidates = Array.isArray(rawUrls) ? rawUrls : [rawUrls];
|
|
48
|
+
const list = candidates.filter(u => typeof u === 'string').map(u => u.trim()).filter(u => ICE_URL_RE.test(u));
|
|
49
|
+
if (list.length === 0) continue;
|
|
50
|
+
const server = {
|
|
51
|
+
urls: typeof rawUrls === 'string' ? list[0] : list
|
|
52
|
+
};
|
|
53
|
+
if (typeof e.username === 'string' && e.username) {
|
|
54
|
+
server.username = e.username;
|
|
55
|
+
}
|
|
56
|
+
if (typeof e.credential === 'string' && e.credential) {
|
|
57
|
+
server.credential = e.credential;
|
|
58
|
+
}
|
|
59
|
+
out.push(server);
|
|
60
|
+
}
|
|
61
|
+
return out;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* A LiveKit server URL as the backend publishes it. Only websocket / http(s)
|
|
66
|
+
* URLs are accepted: the value ends up as the connect target of the media
|
|
67
|
+
* session, so anything else (javascript:, data:, garbage) is treated as unset.
|
|
68
|
+
*/
|
|
69
|
+
exports.normalizeIceServers = normalizeIceServers;
|
|
70
|
+
const normalizeLivekitUrl = raw => {
|
|
71
|
+
const text = typeof raw === 'string' ? raw.trim() : '';
|
|
72
|
+
return /^(wss?|https?):\/\/[^\s]+$/i.test(text) ? text : null;
|
|
73
|
+
};
|
|
74
|
+
exports.normalizeLivekitUrl = normalizeLivekitUrl;
|
|
75
|
+
const isTrueish = value => {
|
|
76
|
+
const text = String(value ?? '').trim().toLowerCase();
|
|
77
|
+
return text === 'true' || text === '1';
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/** Attributes of a `<data type="call-token">` element, defensively read. */
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Tolerant reader for the call-token stanza. A server that sends neither
|
|
84
|
+
* `mode` nor `group` (every server before P2P / group calls) yields
|
|
85
|
+
* `mode: 'livekit'`, `group: false`, i.e. exactly the legacy behaviour.
|
|
86
|
+
*/
|
|
87
|
+
const parseCallTokenAttrs = attrs => {
|
|
88
|
+
const a = attrs || {};
|
|
89
|
+
const kindRaw = String(a.kind || '').trim().toLowerCase();
|
|
90
|
+
const mode = String(a.mode || '').trim().toLowerCase() === 'p2p' ? 'p2p' : 'livekit';
|
|
91
|
+
const iceList = mode === 'p2p' ? normalizeIceServers(a.ice) : [];
|
|
92
|
+
return {
|
|
93
|
+
token: String(a.token || '').trim(),
|
|
94
|
+
room: String(a.room || '').trim(),
|
|
95
|
+
callId: String(a.callId || a.callid || '').trim() || null,
|
|
96
|
+
kind: kindRaw === 'audio' || kindRaw === 'video' ? kindRaw : null,
|
|
97
|
+
mode,
|
|
98
|
+
// A p2p call is 1:1 by construction; never let a stray attribute flip it.
|
|
99
|
+
group: mode === 'livekit' && isTrueish(a.group),
|
|
100
|
+
iceServers: mode === 'p2p' && iceList.length > 0 ? iceList : null,
|
|
101
|
+
livekitUrl: mode === 'livekit' ? normalizeLivekitUrl(a.livekitUrl) : null,
|
|
102
|
+
callerName: (0, _callDisplay.sanitizeCallName)(a.callerName),
|
|
103
|
+
caller: (0, _callDisplay.sanitizeXmppUsername)(a.caller)
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
/** Normalised `POST /v1/chats/call/create/:chatName` response. */
|
|
108
|
+
exports.parseCallTokenAttrs = parseCallTokenAttrs;
|
|
109
|
+
/**
|
|
110
|
+
* Reads the create response. Old servers answer with no `mode`, which maps to
|
|
111
|
+
* `livekit` (the caller then waits for its own call-token as before). A p2p
|
|
112
|
+
* answer without a callId is unusable (no way to correlate signalling) and
|
|
113
|
+
* throws.
|
|
114
|
+
*/
|
|
115
|
+
const parseCallCreateResponse = (data, fallbackKind) => {
|
|
116
|
+
const root = data && typeof data === 'object' ? data : {};
|
|
117
|
+
const d = root.result && typeof root.result === 'object' && !root.mode ? root.result : root;
|
|
118
|
+
const mode = String(d.mode || '').trim().toLowerCase() === 'p2p' ? 'p2p' : 'livekit';
|
|
119
|
+
const kindRaw = String(d.kind || '').trim().toLowerCase();
|
|
120
|
+
const callId = String(d.callId || d.callid || '').trim() || null;
|
|
121
|
+
if (mode === 'p2p' && !callId) {
|
|
122
|
+
throw new Error('Call response is missing callId');
|
|
123
|
+
}
|
|
124
|
+
const ttl = Number(d.ttlSeconds);
|
|
125
|
+
const livekitUrl = normalizeLivekitUrl(d.livekitUrl);
|
|
126
|
+
return {
|
|
127
|
+
callId,
|
|
128
|
+
mode,
|
|
129
|
+
kind: kindRaw === 'audio' || kindRaw === 'video' ? kindRaw : fallbackKind,
|
|
130
|
+
group: typeof d.group === 'boolean' ? d.group : null,
|
|
131
|
+
livekitUrl,
|
|
132
|
+
iceServers: mode === 'p2p' ? normalizeIceServers(d.iceServers) : [],
|
|
133
|
+
ttlSeconds: Number.isFinite(ttl) && ttl > 0 ? ttl : null
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Which room types may start / receive calls. Hosts that never set
|
|
139
|
+
* `allowedRoomTypes` get 1:1 and group chats; an explicit list is respected
|
|
140
|
+
* as written (so `['private']` keeps a host on 1:1 only).
|
|
141
|
+
*/
|
|
142
|
+
exports.parseCallCreateResponse = parseCallCreateResponse;
|
|
143
|
+
const DEFAULT_CALL_ROOM_TYPES = exports.DEFAULT_CALL_ROOM_TYPES = ['private', 'group'];
|
|
144
|
+
const isCallRoomTypeAllowed = (roomType, allowedRoomTypes) => {
|
|
145
|
+
if (roomType !== 'private' && roomType !== 'group') return false;
|
|
146
|
+
const allowed = allowedRoomTypes || DEFAULT_CALL_ROOM_TYPES;
|
|
147
|
+
return allowed.includes(roomType);
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* What to do with an incoming call-token while another call may be active.
|
|
152
|
+
* - accept: nothing active, ring.
|
|
153
|
+
* - duplicate: same callId as the active call (server re-delivery), ignore.
|
|
154
|
+
* - replace: legacy LiveKit behaviour (a new token overwrites the old
|
|
155
|
+
* call), kept exactly for livekit-vs-livekit.
|
|
156
|
+
* - glare-yield: both sides dialled each other; the lexicographically smaller
|
|
157
|
+
* callId wins on BOTH ends, and this is the loser: drop our
|
|
158
|
+
* outgoing call and ring for theirs.
|
|
159
|
+
* - glare-keep: same race, we hold the winning callId, ignore theirs (the
|
|
160
|
+
* other side yields).
|
|
161
|
+
* - busy: a different call is in progress, decline the newcomer.
|
|
162
|
+
*/
|
|
163
|
+
exports.isCallRoomTypeAllowed = isCallRoomTypeAllowed;
|
|
164
|
+
const decideIncomingWhileBusy = (current, incoming) => {
|
|
165
|
+
if (current.phase === 'idle') return 'accept';
|
|
166
|
+
if (incoming.callId && current.callId === incoming.callId) return 'duplicate';
|
|
167
|
+
if (current.mode !== 'p2p' && incoming.mode !== 'p2p') return 'replace';
|
|
168
|
+
const sameRoom = !!incoming.roomBareName && current.roomBareName === incoming.roomBareName;
|
|
169
|
+
if (sameRoom && current.direction === 'outgoing' && current.phase === 'requesting' && incoming.mode === 'p2p' && current.mode === 'p2p' && current.callId && incoming.callId) {
|
|
170
|
+
return incoming.callId < current.callId ? 'glare-yield' : 'glare-keep';
|
|
171
|
+
}
|
|
172
|
+
return 'busy';
|
|
173
|
+
};
|
|
174
|
+
exports.decideIncomingWhileBusy = decideIncomingWhileBusy;
|
|
175
|
+
//# sourceMappingURL=callMode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_callDisplay","require","ICE_URL_RE","normalizeIceServers","raw","value","text","trim","JSON","parse","Array","isArray","iceServers","out","entry","e","rawUrls","urls","url","candidates","list","filter","u","map","test","length","server","username","credential","push","exports","normalizeLivekitUrl","isTrueish","String","toLowerCase","parseCallTokenAttrs","attrs","a","kindRaw","kind","mode","iceList","ice","token","room","callId","callid","group","livekitUrl","callerName","sanitizeCallName","caller","sanitizeXmppUsername","parseCallCreateResponse","data","fallbackKind","root","d","result","Error","ttl","Number","ttlSeconds","isFinite","DEFAULT_CALL_ROOM_TYPES","isCallRoomTypeAllowed","roomType","allowedRoomTypes","allowed","includes","decideIncomingWhileBusy","current","incoming","phase","sameRoom","roomBareName","direction"],"sourceRoot":"../../../src","sources":["calls/callMode.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.reportDeclineIfP2P = void 0;
|
|
7
|
+
var _callState = require("../networking/api-requests/callState.api");
|
|
8
|
+
/**
|
|
9
|
+
* A peer to peer call has no LiveKit webhook, so the server learns that the
|
|
10
|
+
* callee rejected it (and relays that to the caller) only from this report.
|
|
11
|
+
* Never sent for a LiveKit call, where a REST decline would act on the
|
|
12
|
+
* LiveKit room. REST needs no socket, so it can go out at once.
|
|
13
|
+
*/
|
|
14
|
+
const reportDeclineIfP2P = call => {
|
|
15
|
+
if (call.mode === 'p2p') {
|
|
16
|
+
(0, _callState.reportCallDeclined)(call.callId);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
exports.reportDeclineIfP2P = reportDeclineIfP2P;
|
|
20
|
+
//# sourceMappingURL=declineReport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_callState","require","reportDeclineIfP2P","call","mode","reportCallDeclined","callId","exports"],"sourceRoot":"../../../src","sources":["calls/declineReport.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,kBAAkB,GAAIC,IAGlC,IAAW;EACV,IAAIA,IAAI,CAACC,IAAI,KAAK,KAAK,EAAE;IACvB,IAAAC,6BAAkB,EAACF,IAAI,CAACG,MAAM,CAAC;EACjC;AACF,CAAC;AAACC,OAAA,CAAAL,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|