Description
We encountered an issue where a participant did not leave the meeting after the host ended the session. The host’s sessionID was VLCAdxOjToqqQ9s3CZ1bGQ==. After the host ended the session, one participant briefly experienced a camera freeze and then immediately resumed streaming video—seemingly rejoining into a different session with sessionID gxi9kXoITuysU5NWEWCjQw==.
We expect that once the host ends the session, all participants should be leave and not reconnect to any other session unless explicitly handled.
Web Video SDK version: 2.1.0
Video SDK Code Snippets
We are handling meeting termination with the following logic:
if (state.zmClient.getAllUser().length === 0) {
// End meeting logic
}
// OR when receiving connection-change event:
zmClient.on('connection-change', (payload) => {
if (payload.state === 'Closed' || payload.reason === 'ended by host') {
// End meeting logic
}
});
The user started reconnecting in the previous session around 2025-05-30T03:19:15 GMT, while the host ended the session at 2025-05-30T03:19:16 GMT. Since reconnecting takes some time (around 2–5 seconds), when the reconnecting user attempted to retrieve session info, the previous session with the same topic had already ended. As a result, a new session ID was returned, which explains why the user ended up joining a new session.
If you want to restrict non-host users from joining a new session, you’ll need to implement this logic on your end. For example, after joining, check whether the session ID differs from the previous one or if the session does not contain a host. If either condition is true, then leave the session.