From 0bd445020ea19e0cea13f42a28212db7b2df196d Mon Sep 17 00:00:00 2001 From: Can Celik Date: Tue, 18 Aug 2026 19:30:57 +0300 Subject: fix: preserve macOS IME commits in report-all mode (#2947) --- src/app/mod.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/app') diff --git a/src/app/mod.rs b/src/app/mod.rs index 501f39f6..75568990 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -5536,6 +5536,29 @@ last_pane = "prefix+tab" assert!(app.input_leases.is_empty()); } + #[tokio::test] + async fn kitty_associated_ime_text_bypasses_report_all_key_encoding() { + let mut app = test_app(); + let mut workspace = Workspace::test_new("test"); + let focused = workspace.focused_pane_id().unwrap(); + let (runtime, mut rx) = + TerminalRuntime::test_with_channel_and_scrollback_bytes(80, 24, 0, b"\x1b[>15u", 2); + workspace.tabs[0].runtimes.insert(focused, runtime); + app.state.workspaces = vec![workspace]; + app.state.active = Some(0); + app.state.selected = 0; + app.state.mode = Mode::Terminal; + + app.route_client_input(b"\x1b[32;;20320:22909u".to_vec()); + + assert_eq!( + rx.recv().await.unwrap(), + bytes::Bytes::from_static("你好".as_bytes()) + ); + assert!(rx.try_recv().is_err()); + assert!(app.input_leases.is_empty()); + } + #[tokio::test] async fn committed_ascii_uppercase_bypasses_report_all_key_encoding() { let mut app = test_app(); -- cgit v1.2.3