inactive cursors access control.

This commit is contained in:
Miroslav Šedivý
2021-11-03 21:59:38 +01:00
parent 6b417131f2
commit 437eb44003
8 changed files with 62 additions and 36 deletions

View File

@ -254,6 +254,22 @@ func (manager *SessionManagerCtx) AdminBroadcast(event string, payload interface
}
}
func (manager *SessionManagerCtx) InactiveCursorsBroadcast(event string, payload interface{}, exclude interface{}) {
for _, session := range manager.List() {
if !session.State().IsConnected || !session.Profile().CanSeeInactiveCursors {
continue
}
if exclude != nil {
if in, _ := utils.ArrayIn(session.ID(), exclude); in {
continue
}
}
session.Send(event, payload)
}
}
// ---
// events
// ---

View File

@ -54,7 +54,7 @@ func (session *SessionCtx) IsHost() bool {
}
func (session *SessionCtx) SetCursor(cursor types.Cursor) {
if session.manager.InactiveCursors() {
if session.manager.InactiveCursors() && session.profile.SendsInactiveCursor {
session.manager.SetCursor(cursor, session)
}
}