Open Fuzzyma opened 3 years ago
When rapidly (or not so rapidly) switching between conferences, it can happen, that a room gets unusable because "The timeout for the confirmation about leaving the room expired.".
Why is this expired?
Don't ask me. The error is coming from jitsi. Maybe, you are overwriting the old room with the new one and the event is handled by the new room instead of the old one? I am not deep enough in the code in order to have a good guess
Description
When rapidly (or not so rapidly) switching between conferences, it can happen, that a room gets unusable because "The timeout for the confirmation about leaving the room expired.". After this has happened, you can neither leave the room (because
this.room
is null which leads to "you already left the room") nor can you join it (becausethis.room
is null) and reinitializing the room also doesn't work because the server reports "you are already in this room". That means that this room basically gets soft-lockedCurrent behavior
Leave-Timeout expires, room is soft-locked after that
Expected Behavior
The user shouldn't see any of this and should still be able to leave/joins the room
Possible Solution
Multiple:
this.room
to null on success. That way, we can call "this.leave()" again because the server thinks we are still in that room and this time it might succeed https://github.com/jitsi/lib-jitsi-meet/blob/60349386a50bcb85d6dbcc288c2c5332e5931a68/JitsiConference.js#L657Steps to reproduce
Initialize two jitsi conferences over the same connection
Environment details
Win10 Chrome 94