User can't access Lobby with PreJoin page disabled

I’ve configured my docker deployment to use JWT authorization, to allow the lobby feature and to not allow guest users.

The Lobby feature does work fine as long as the user first hits the prejoin page. However if the prejoin page is disabled or if the user himself has disabled the page earlier, then the user is immediately kicked out from the lobby. That is to say, I’m using the iframe API and I can see the lobby page load and then the API triggers the event “participantLeft”.

Any suggestion where to start troubleshooting?

And just to be sure. My goals for the Jitsi installation is this:

  • All users must have a valid JWT, no guests are allowed.
  • If the moderator opts for it all other meeting users must go through the knock/invite procedure.

Check for errors in the js console.

Actually I see JS errors even when the lobby works…

Now with the prejoin page available the lobby works (as does joining a meeting) but I receive this in the JS console:

Logger.js:154 2021-09-08T18:44:48.277Z [conference.js] <ne._onConferenceFailed>:  CONFERENCE FAILED: conference.connectionError.membersOnly j6ale6xdt5vt@lobby.meet.jitsi
o @ Logger.js:154
_onConferenceFailed @ conference.js:297
a.emit @ events.js:152
a.emit @ events.js:157
onPresenceError @ ChatRoom.js:1170
onPresenceError @ strophe.emuc.js:140
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onMessage @ strophe.umd.js:5836
Logger.js:154 2021-09-08T18:44:48.294Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>:  UnhandledError: conference.connectionError.membersOnly Script: null Line: null Column: null StackTrace:  n/a
o @ Logger.js:154
getGlobalOnErrorHandler @ JitsiMeetJS.js:545
window.onunhandledrejection @ middleware.js:127
j6ale6xdt5vt:1 Uncaught (in promise) conference.connectionError.membersOnly

More

If I try to bypass the prejoin page the participant loads the lobby page and then leaves. I get a very similar error:

Logger.js:154 2021-09-08T19:12:21.747Z [conference.js] <ne._onConferenceFailed>:  CONFERENCE FAILED: conference.connectionError.membersOnly j6ale6xdt5vt@lobby.meet.jitsi
o @ Logger.js:154
_onConferenceFailed @ conference.js:297
a.emit @ events.js:152
a.emit @ events.js:157
onPresenceError @ ChatRoom.js:1170
onPresenceError @ strophe.emuc.js:140
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onMessage @ strophe.umd.js:5836
Logger.js:154 2021-09-08T19:12:21.748Z [features/base/connection] conference.connectionError.membersOnly
o @ Logger.js:154
(anonymous) @ actions.web.js:35
Promise.catch (async)
(anonymous) @ actions.web.js:33

I’ve seen some previous threads on JWT and the lobby feature which suggested making updates to some lua scripts.