fix: correct LegacyIsHost boolean logic (#675)

* fix: broken LegacyIsHost method.

* fix: improve LegacyIsHost logic for better access control.
This commit is contained in:
Miroslav Šedivý
2026-08-05 16:28:51 +02:00
committed by GitHub
parent bce6c57b6a
commit 395ca1a6f6
+8 -2
View File
@@ -75,8 +75,14 @@ func (session *SessionCtx) IsHost() bool {
// only needed for legacy webrtc handler
func (session *SessionCtx) LegacyIsHost() bool {
implicitHosting := session.manager.Settings().ImplicitHosting
return !(!implicitHosting && !session.manager.isHost(session)) || (implicitHosting && !session.profile.CanHost)
settings := session.manager.Settings()
if !session.profile.CanHost || session.PrivateModeEnabled() {
return false
}
if settings.LockedControls && !session.profile.IsAdmin {
return false
}
return settings.ImplicitHosting || session.manager.isHost(session)
}
func (session *SessionCtx) SetAsHost() {