After joining from prejoin page and getting back a rejection due to mod_muc_max_occupants limits, I’ve notices that audio and video is immediately muted.
What’s more troubling is that if user retries to join (without reloading page and just reclicking join) and succeeds, the user does not see video of other users and vice versa.
- if user unmutes video on prejoin page before rejoining, user can see own video but not others, and others cannot see the user’s video
- if user leaves video muted when rejoining, video cannot be unmuted (which makes no difference really since nobody else will see it)
We encountered this on latest stable (2.0.7001) and can repro the issue from a local build using latest lib-jitsi-meet (fa916d4) and jitsi-meet (a6ad592)
@damencho I’m afraid I cannot recall if I missed this when testing your fix for a related issue, or if this was broken after.
Error logs:
-
On init max_user failure (where audio/video gets muted), we see the expected error message:
[conference.js] <ConferenceConnector._onConferenceFailed>: CONFERENCE FAILED: conference.max_users
-
If rejoin succeeds, I don’t see anyone else’s video, and nobody sees mine but I do have a presence in the room. The follow errors are seen on join:
UnhandledError: Rejecting session-initiate from non-focus
[JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: Rejecting session-initiate from non-focus. Script: null Line: null Column: null StackTrace: Error: Rejecting session-initiate from non-focus. at jd._rejectIncomingCall (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:582123) at jd.onIncomingCall (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:580360) at r.emit (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:102447) at eo.onJingle (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:360795) at P.Handler.run (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:639338) at https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:647776 at Object.forEachChild (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:631006) at P.Connection._dataRecv (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:647625) at O.Websocket._onMessage (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:676855)
UnhandledError: attempt to initiate on session 2qcra0vud9f9a in state ended
[JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: attempt to initiate on session 2qcra0vud9f9a in state ended Script: null Line: null Column: null StackTrace: Error: attempt to initiate on session 2qcra0vud9f9a in state ended at Qr.initialize (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:325493) at jd._acceptJvbIncomingCall (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:580897) at jd.onIncomingCall (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:580445) at r.emit (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:102447) at eo.onJingle (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:360795) at P.Handler.run (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:639338) at https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:647776 at Object.forEachChild (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:631006) at P.Connection._dataRecv (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:647625) at O.Websocket._onMessage (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:676855)
-
If I try to unmute video or audio, if fails and I see the following error:
UnhandledError: The queue has been stopped
[JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: The queue has been stopped Script: null Line: null Column: null StackTrace: Error: The queue has been stopped at Vr.push (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:324616) at https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:351409 at new Promise (<anonymous>) at Qr.replaceTrack (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:351284) at jd._doReplaceTrack (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:570499) at jd.replaceTrack (https://meet.my.domain/libs/lib-jitsi-meet.min.js?v=5913:2:569840)
In the scenario where max_user failure received (and audio/video auto muted):
- If I unmute video on prejoin page, video appears to be enabled but the following error shows up
[JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: The play() request was interrupted by a new load request. https://goo.gl/LdLk22 Script: null Line: null Column: null StackTrace: undefined
- If rejoin succeeds, I see my video but not everyone elses’. And they don’t see mine. I see the same “Rejecting session-initiate from non-focus” and “attempt to initiate on session … in state ended” errors.
- If at this point I try to mute video, my local video is muted as expected but I get error:
[modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=agnus4kbd26lt] removeTrackMute failed
- If if I then enable video, local video works (others still don’t see me and vice verse) and now I get the error:
[modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=agnus4kbd26lt] addTrackUnmute failed