diff --git a/internal/types/message/messages.go b/internal/types/message/messages.go index d1a6356e..d40f9af4 100644 --- a/internal/types/message/messages.go +++ b/internal/types/message/messages.go @@ -21,13 +21,14 @@ type SystemWebRTC struct { } type SystemInit struct { - Event string `json:"event,omitempty"` - SessionId string `json:"session_id"` - ControlHost ControlHost `json:"control_host"` - ScreenSize ScreenSize `json:"screen_size"` - Sessions map[string]SessionData `json:"sessions"` - ImplicitHosting bool `json:"implicit_hosting"` - WebRTC SystemWebRTC `json:"webrtc"` + Event string `json:"event,omitempty"` + SessionId string `json:"session_id"` + ControlHost ControlHost `json:"control_host"` + ScreenSize ScreenSize `json:"screen_size"` + Sessions map[string]SessionData `json:"sessions"` + ImplicitHosting bool `json:"implicit_hosting"` + ScreencastEnabled bool `json:"screencast_enabled"` + WebRTC SystemWebRTC `json:"webrtc"` } type SystemAdmin struct { diff --git a/internal/websocket/handler/system.go b/internal/websocket/handler/system.go index 553a0776..59c2a63a 100644 --- a/internal/websocket/handler/system.go +++ b/internal/websocket/handler/system.go @@ -43,8 +43,9 @@ func (h *MessageHandlerCtx) systemInit(session types.Session) error { Height: size.Height, Rate: size.Rate, }, - Sessions: sessions, - ImplicitHosting: h.sessions.ImplicitHosting(), + Sessions: sessions, + ImplicitHosting: h.sessions.ImplicitHosting(), + ScreencastEnabled: h.capture.Screencast().Enabled(), WebRTC: message.SystemWebRTC{ Videos: h.capture.VideoIDs(), },