From cc69fa7bfc3cdfb8c000718ff08e7637bd6042e4 Mon Sep 17 00:00:00 2001 From: kunsanglee <85242378+kunsanglee@users.noreply.github.com> Date: Sun, 2 Aug 2026 14:25:57 +0900 Subject: [PATCH] test(terminal): pin a Japanese conversion-segment key against the Enter predicate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Shift+Left/Right resizing the conversion segment is a standard Japanese IME operation, and on Windows it arrives mid-composition as Process/229 with Shift held — the same shape as a shifted jamo, and the same rewrite into Enter. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01HL8CxXZYghUKJEQpYhKeGg --- .../terminal-pane/terminal-ime-deferred-newline.test.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/components/terminal-pane/terminal-ime-deferred-newline.test.ts b/src/renderer/src/components/terminal-pane/terminal-ime-deferred-newline.test.ts index ff5098bc210..4b338509c11 100644 --- a/src/renderer/src/components/terminal-pane/terminal-ime-deferred-newline.test.ts +++ b/src/renderer/src/components/terminal-pane/terminal-ime-deferred-newline.test.ts @@ -355,7 +355,9 @@ describe('isTerminalImeProcessEnter', () => { { altKey: true }, // Windows hands every IME-consumed keydown the same Process/229 shape, so a shifted // jamo (ㅃ on KeyQ) differs from the committing Enter only by `code`. - { code: 'KeyQ' } + { code: 'KeyQ' }, + // Same shape from a Japanese IME: Shift+Left/Right resizes the conversion segment. + { code: 'ArrowLeft' } ])('rejects a non-IME or ambiguous Process key', (override) => { expect(isTerminalImeProcessEnter(event(override))).toBe(false) })