mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2025-12-30 11:22:31 +00:00
fix(go-live): Disconnect on page close.
Currently we don't close the socket for the participants in the queue when the page is closed.
This commit is contained in:
@@ -176,7 +176,11 @@ MiddlewareRegistry.register(({ dispatch, getState }) => next => action => {
|
||||
|
||||
// let's subscribe for visitor waiting queue
|
||||
const { room } = getState()['features/base/conference'];
|
||||
const { disableBeforeUnloadHandlers = false } = getState()['features/base/config'];
|
||||
const conferenceJid = `${room}@${hosts?.muc}`;
|
||||
const beforeUnloadHandler = () => {
|
||||
WebsocketClient.getInstance().disconnect();
|
||||
};
|
||||
|
||||
WebsocketClient.getInstance()
|
||||
.connect(`wss://${visitorsConfig?.queueService}/visitor/websocket`,
|
||||
@@ -185,8 +189,12 @@ MiddlewareRegistry.register(({ dispatch, getState }) => next => action => {
|
||||
if ('status' in msg && msg.status === 'live') {
|
||||
logger.info('The conference is now live!');
|
||||
|
||||
|
||||
WebsocketClient.getInstance().disconnect()
|
||||
.then(() => {
|
||||
window.removeEventListener(
|
||||
disableBeforeUnloadHandlers ? 'unload' : 'beforeunload',
|
||||
beforeUnloadHandler);
|
||||
let delay = 0;
|
||||
|
||||
// now let's connect to meeting
|
||||
@@ -213,6 +221,12 @@ MiddlewareRegistry.register(({ dispatch, getState }) => next => action => {
|
||||
dispatch(setInVisitorsQueue(true));
|
||||
});
|
||||
|
||||
/**
|
||||
* Disconnecting the WebSocket client when the user closes the page.
|
||||
*/
|
||||
window.addEventListener(disableBeforeUnloadHandlers ? 'unload' : 'beforeunload', beforeUnloadHandler);
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
case PARTICIPANT_UPDATED: {
|
||||
|
||||
Reference in New Issue
Block a user