From 40205dec05bc663786dd943ff94acf5a8b9818f7 Mon Sep 17 00:00:00 2001 From: DorraJaouad Date: Tue, 17 Sep 2024 16:03:45 +0200 Subject: [PATCH] fix(Call): stop all media related streams (simulating end call) Signed-off-by: DorraJaouad --- src/components/CallView/CallFailedDialog.vue | 4 ++-- src/services/callsService.js | 6 +----- src/store/participantsStore.js | 12 ++++++++---- src/utils/webrtc/index.js | 1 + 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/components/CallView/CallFailedDialog.vue b/src/components/CallView/CallFailedDialog.vue index 238d8df25ed..86908f504a5 100644 --- a/src/components/CallView/CallFailedDialog.vue +++ b/src/components/CallView/CallFailedDialog.vue @@ -45,8 +45,8 @@ const message = computed(() => { return t('spreed', 'Please try to reload the page') } else { - return '' - } + return '' + } }) /** diff --git a/src/services/callsService.js b/src/services/callsService.js index a546a9ed7e0..9b035414e97 100644 --- a/src/services/callsService.js +++ b/src/services/callsService.js @@ -32,11 +32,7 @@ import { * @return {number} The actual flags based on the available media */ const joinCall = async function(token, flags, silent, recordingConsent) { - try { - return await signalingJoinCall(token, flags, silent, recordingConsent) - } catch (error) { - console.debug('Error while joining call: ', error) - } + return await signalingJoinCall(token, flags, silent, recordingConsent) } /** diff --git a/src/store/participantsStore.js b/src/store/participantsStore.js index 09c5c45f546..4a08d18f758 100644 --- a/src/store/participantsStore.js +++ b/src/store/participantsStore.js @@ -808,12 +808,16 @@ const actions = { commit('finishedConnecting', { token, sessionId: participantIdentifier.sessionId }) }) - const actualFlags = await joinCall(token, flags, silent, recordingConsent) + try { + const actualFlags = await joinCall(token, flags, silent, recordingConsent) + const updatedData = { + inCall: actualFlags, + } + commit('updateParticipant', { token, attendeeId: attendee.attendeeId, updatedData }) + } catch (e) { + console.error(e) - const updatedData = { - inCall: actualFlags, } - commit('updateParticipant', { token, attendeeId: attendee.attendeeId, updatedData }) }, async leaveCall({ commit, getters }, { token, participantIdentifier, all = false }) { diff --git a/src/utils/webrtc/index.js b/src/utils/webrtc/index.js index 05bb4f9a2a8..3853047d9f1 100644 --- a/src/utils/webrtc/index.js +++ b/src/utils/webrtc/index.js @@ -157,6 +157,7 @@ function startCall(signaling, configuration, silent, recordingConsent) { signaling.joinCall(pendingJoinCallToken, flags, silent, recordingConsent).then(() => { startedCall(flags) }).catch(error => { + signalingLeaveCall(pendingJoinCallToken) failedToStartCall(error) }) }