diff --git a/src/services/participantsService.js b/src/services/participantsService.js index 9385aaccdbb..aea7110c26f 100644 --- a/src/services/participantsService.js +++ b/src/services/participantsService.js @@ -66,16 +66,11 @@ async function rejoinConversation(token) { * @param {string} token The conversation token; */ async function leaveConversation(token) { - try { - // FIXME Signaling should not be synchronous - await signalingLeaveConversation(token) + // FIXME Signaling should not be synchronous + await signalingLeaveConversation(token) - const response = await axios.delete(generateOcsUrl('apps/spreed/api/v4/room/{token}/participants/active', { token })) - return response - } catch (error) { - console.debug(error) - // FIXME: should throw - } + const response = await axios.delete(generateOcsUrl('apps/spreed/api/v4/room/{token}/participants/active', { token })) + return response } /** diff --git a/src/store/participantsStore.js b/src/store/participantsStore.js index 4e2446c65ee..3a5d1424e9d 100644 --- a/src/store/participantsStore.js +++ b/src/store/participantsStore.js @@ -1101,10 +1101,6 @@ const actions = { * @param {string} data.token - conversation token. */ async leaveConversation(context, { token }) { - if (SessionStorage.getItem('joined_conversation') === token) { - // Drop token from SessionStorage to not consider a room joined anymore - SessionStorage.removeItem('joined_conversation') - } const actorStore = useActorStore() if (context.getters.isInCall(token)) { await context.dispatch('leaveCall', { @@ -1113,7 +1109,15 @@ const actions = { }) } - await leaveConversation(token) + try { + await leaveConversation(token) + if (SessionStorage.getItem('joined_conversation') === token) { + // Drop token from SessionStorage to not consider a room joined anymore + SessionStorage.removeItem('joined_conversation') + } + } catch (error) { + console.error('Error while leaving conversation:', error) + } }, /**