aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-10 21:51:57 +0300
committerGitHub <noreply@github.com>2026-09-10 21:51:57 +0300
commit425c86179791cd32e2d4ce0ae7f269940b4b0663 (patch)
treee52c4383a6d69216cbe2a32638bf90841d7e2189 /src/server
parent90e947a6e26e02f10ec7f1694c4eb5b78a86406b (diff)
chore: upgrade libghostty and preserve terminal behavior (#3906)
Diffstat (limited to 'src/server')
-rw-r--r--src/server/headless/tests/pane_graphics.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/server/headless/tests/pane_graphics.rs b/src/server/headless/tests/pane_graphics.rs
index f8637e8f..0414b6b3 100644
--- a/src/server/headless/tests/pane_graphics.rs
+++ b/src/server/headless/tests/pane_graphics.rs
@@ -221,13 +221,26 @@ async fn retained_unicode_image_arrives_after_fragmented_upload_without_reupload
};
assert_eq!(surface.graphics.placements.len(), 1);
assert_eq!(surface.graphics.assets[0].data, [255, 0, 0, 255]);
- // Replacing pixels under the same image ID must invalidate the delivered asset.
+ // Retransmission removes placements; recreating the virtual placement must
+ // invalidate the delivered asset without needing another text update.
write_shared_test_pane(
&mut server,
pane_id,
b"\x1b_Ga=t,f=32,t=d,i=1193046,s=1,v=1,q=2;AP8A/w==\x1b\\",
);
assert!(server.render_retained_pane_surface_and_stream(&sources));
+ let ServerMessage::PaneSurface(removed) =
+ read_server_message(receive_render(&client_rx, Duration::from_millis(100)))
+ else {
+ panic!("retransmission must remove the virtual placement");
+ };
+ assert!(removed.graphics.placements.is_empty());
+ write_shared_test_pane(
+ &mut server,
+ pane_id,
+ b"\x1b_Ga=p,U=1,i=1193046,c=1,r=1,q=2\x1b\\",
+ );
+ assert!(server.render_retained_pane_surface_and_stream(&sources));
let ServerMessage::PaneSurface(replaced) =
read_server_message(receive_render(&client_rx, Duration::from_millis(100)))
else {