diff options
Diffstat (limited to 'src/server/headless/render.rs')
| -rw-r--r-- | src/server/headless/render.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/server/headless/render.rs b/src/server/headless/render.rs index cab79de2..19581abc 100644 --- a/src/server/headless/render.rs +++ b/src/server/headless/render.rs @@ -387,11 +387,18 @@ impl HeadlessServer { client.shell_projection_revision = client.shell_projection_revision.saturating_add(1); candidate.revision = client.shell_projection_revision; - let message = ServerMessage::ClientShellSnapshot(Box::new(candidate.clone())); + let message = match crate::protocol::endpoint::snapshot_message(&candidate) { + Ok(message) => message, + Err(err) => { + warn!(client_id, err = %err, "failed to encode endpoint snapshot"); + broken_clients.push(client_id); + continue; + } + }; let framed = match Self::frame_server_message(&message) { Ok(framed) => framed, Err(err) => { - warn!(client_id, err = %err, "failed to frame client shell replacement"); + warn!(client_id, err = %err, "failed to frame endpoint snapshot"); broken_clients.push(client_id); continue; } |
