aboutsummaryrefslogtreecommitdiff
path: root/src/server/headless/render.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/headless/render.rs')
-rw-r--r--src/server/headless/render.rs11
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;
}