diff --git a/src/messaging/rooms.js b/src/messaging/rooms.js index 03586ef6da..c78be73671 100644 --- a/src/messaging/rooms.js +++ b/src/messaging/rooms.js @@ -447,16 +447,16 @@ module.exports = function (Messaging) { user.isAdministrator(uid), user.isGlobalModerator(uid), ]); - if (!room) { - return null; - } - if (!canChat || + if (!room || (!room.public && !inRoom) || (room.public && ( Array.isArray(room.groups) && room.groups.length && !isAdmin && !(await groups.isMemberOfAny(uid, room.groups))) ) ) { + return null; + } + if (!canChat) { throw new Error('[[error:no-privileges]]'); }