diff --git a/src/main/kotlin/org/jitsi/jicofo/xmpp/muc/ChatRoomRoleManager.kt b/src/main/kotlin/org/jitsi/jicofo/xmpp/muc/ChatRoomRoleManager.kt index 29af8438fe..f067c71682 100644 --- a/src/main/kotlin/org/jitsi/jicofo/xmpp/muc/ChatRoomRoleManager.kt +++ b/src/main/kotlin/org/jitsi/jicofo/xmpp/muc/ChatRoomRoleManager.kt @@ -134,5 +134,14 @@ class AuthenticationRoleManager( grantOwnerToAuthenticatedUsers() } + /** + * Handles cases where moderators(already authenticated users) reload and join again. + */ + override fun memberJoined(member: ChatRoomMember) { + if (member.role != MemberRole.OWNER && authenticationAuthority.getSessionForJid(member.jid) != null) { + grantOwner(member) + } + } + override fun stop() = authenticationAuthority.removeAuthenticationListener(authenticationListener) }