fix(tui): drain stdin on exit to avoid Kitty release leak

Drain stdin for up to 1s after disabling Kitty protocol so in-flight key
release events are consumed before the shell regains control.

Fixes #1204
This commit is contained in:
Mario Zechner 2026-02-03 00:07:35 +01:00
parent 9a4d043b28
commit 8c38de0495
5 changed files with 42 additions and 22 deletions

View file

@ -36,8 +36,8 @@ export class VirtualTerminal implements Terminal {
this.xterm.write("\x1b[?2004h");
}
async prepareForExit(_drainMs?: number): Promise<void> {
// No-op for virtual terminal - no Kitty protocol to drain
async drainInput(_maxMs?: number, _idleMs?: number): Promise<void> {
// No-op for virtual terminal - no stdin to drain
}
stop(): void {