diff --git a/conference.js b/conference.js index 4fd421b00..c586953f1 100644 --- a/conference.js +++ b/conference.js @@ -357,6 +357,14 @@ class ConferenceConnector { case ConferenceErrors.PASSWORD_REQUIRED: APP.UI.markRoomLocked(true); roomLocker.requirePassword().then(function () { + let pass = roomLocker.password; + // we received that password is required, but user is trying + // anyway to login without a password, mark room as not locked + // in case he succeeds (maybe someone removed the password + // meanwhile), if it is still locked another password required + // will be received and the room again will be marked as locked + if (!pass) + APP.UI.markRoomLocked(false); room.join(roomLocker.password); }); break; diff --git a/modules/UI/authentication/RoomLocker.js b/modules/UI/authentication/RoomLocker.js index 2e9c55715..de08a4b53 100644 --- a/modules/UI/authentication/RoomLocker.js +++ b/modules/UI/authentication/RoomLocker.js @@ -185,6 +185,10 @@ export default function createRoomLocker (room) { newPass => { password = newPass; } ).catch( reason => { + // user canceled, no pass was entered. + // clear, as if we use the same instance several times + // pass stays between attempts + password = null; if (reason !== APP.UI.messageHandler.CANCEL) console.error(reason); }