add session to host change.

This commit is contained in:
Miroslav Šedivý
2024-05-06 23:47:13 +02:00
parent b562c797b3
commit 416faa3df4
9 changed files with 46 additions and 46 deletions

View File

@ -26,7 +26,7 @@ func (h *MessageHandlerCtx) controlRelease(session types.Session) error {
}
h.desktop.ResetKeys()
h.sessions.ClearHost()
session.ClearHost()
return nil
}
@ -58,7 +58,7 @@ func (h *MessageHandlerCtx) controlRequest(session types.Session) error {
}
}
h.sessions.SetHost(session)
session.SetAsHost()
return nil
}

View File

@ -56,7 +56,7 @@ func (h *MessageHandlerCtx) SessionDisconnected(session types.Session) error {
// clear host if exists
if session.IsHost() {
h.desktop.ResetKeys()
h.sessions.ClearHost()
session.ClearHost()
}
if session.Profile().IsAdmin {

View File

@ -110,18 +110,20 @@ func (manager *WebSocketManagerCtx) Start() {
Msg("session state changed")
})
manager.sessions.OnHostChanged(func(session types.Session) {
manager.sessions.OnHostChanged(func(session, host types.Session) {
payload := message.ControlHost{
HasHost: session != nil,
ID: session.ID(),
HasHost: host != nil,
}
if payload.HasHost {
payload.HostID = session.ID()
payload.HostID = host.ID()
}
manager.sessions.Broadcast(event.CONTROL_HOST, payload)
manager.logger.Info().
Str("session_id", session.ID()).
Bool("has_host", payload.HasHost).
Str("host_id", payload.HostID).
Msg("session host changed")