aboutsummaryrefslogtreecommitdiff
path: root/src/server/headless
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-14 22:36:04 +0300
committerGitHub <noreply@github.com>2026-09-14 22:36:04 +0300
commitd8b36691d10c6055293ad45324b22af8b8f570e5 (patch)
tree42f6ff4b7ba20a59884a994b38368edd02b16ae2 /src/server/headless
parent4c3b613c8470885df44f0844b8eaecca744c84fb (diff)
fix: avoid resending terminal cells for metadata updates (#4137)
Diffstat (limited to 'src/server/headless')
-rw-r--r--src/server/headless/tests/mod.rs9
-rw-r--r--src/server/headless/tests/surface_interest.rs5
2 files changed, 14 insertions, 0 deletions
diff --git a/src/server/headless/tests/mod.rs b/src/server/headless/tests/mod.rs
index 4850203f..8e731211 100644
--- a/src/server/headless/tests/mod.rs
+++ b/src/server/headless/tests/mod.rs
@@ -687,6 +687,7 @@ async fn client_shell_attach_seeds_workspace() {
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id: 6,
surface_cols: 80,
surface_rows: 23,
@@ -717,6 +718,7 @@ async fn client_shell_endpoint_request_uses_the_selected_connection() {
let client_id = 41;
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id,
surface_cols: 80,
surface_rows: 23,
@@ -833,6 +835,7 @@ async fn client_shell_pairs_agent_view_set_replacement_and_clear_with_snapshots(
let (writer, control_rx, _render_rx) = test_client_writer();
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id: 77,
surface_cols: 80,
surface_rows: 23,
@@ -941,6 +944,7 @@ async fn client_shell_receives_metadata_then_shell_free_pane_surface() {
let (writer, control_rx, render_rx) = test_client_writer();
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id: 7,
surface_cols: 80,
surface_rows: 23,
@@ -1108,6 +1112,7 @@ fn connect_test_shell(
let (writer, control, render) = test_client_writer();
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id,
surface_cols,
surface_rows,
@@ -1569,6 +1574,7 @@ async fn client_shell_config_diagnostics_follow_keybinding_ownership() {
let (local_writer, local_control, _local_render) = test_client_writer();
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id: 13,
surface_cols: 80,
surface_rows: 23,
@@ -1593,6 +1599,7 @@ async fn client_shell_config_diagnostics_follow_keybinding_ownership() {
let (endpoint_writer, endpoint_control, _endpoint_render) = test_client_writer();
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id: 14,
surface_cols: 80,
surface_rows: 23,
@@ -2495,6 +2502,7 @@ async fn public_api_focus_replaces_every_client_shell_projection() {
let (writer, control_rx, render_rx) = test_client_writer();
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id: 9,
surface_cols: 80,
surface_rows: 23,
@@ -2745,6 +2753,7 @@ async fn client_shell_streams_and_targets_popup_terminal_content() {
let (writer, control_rx, render_rx) = test_client_writer();
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id: 12,
surface_cols: 80,
surface_rows: 23,
diff --git a/src/server/headless/tests/surface_interest.rs b/src/server/headless/tests/surface_interest.rs
index df06dc03..554b216e 100644
--- a/src/server/headless/tests/surface_interest.rs
+++ b/src/server/headless/tests/surface_interest.rs
@@ -64,6 +64,7 @@ async fn metadata_only_shell_is_isolated_until_surface_activation() {
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id,
surface_cols: 101,
surface_rows: 37,
@@ -280,6 +281,7 @@ async fn background_surface_activation_preserves_focused_viewer_geometry() {
let (writer, background_control, _) = test_client_writer();
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id: 8,
surface_cols: 100,
surface_rows: 35,
@@ -391,6 +393,7 @@ async fn presentation_sync_epoch_replays_modes_and_title() {
let client_id = 63;
assert!(
server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id,
surface_cols: 80,
surface_rows: 24,
@@ -505,6 +508,7 @@ async fn two_headless_servers_drive_atomic_endpoint_handoff() {
let source_client_id = 78;
assert!(
source_server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id: source_client_id,
surface_cols: 80,
surface_rows: 24,
@@ -530,6 +534,7 @@ async fn two_headless_servers_drive_atomic_endpoint_handoff() {
let target_client_id = 79;
assert!(
target_server.handle_server_event(ServerEvent::ClientShellConnected {
+ surface_reuse: false,
client_id: target_client_id,
surface_cols: 80,
surface_rows: 24,