Files
oh-my-pi/packages/tui/test
roboomp d1e681cdc0 fix(tui): reassembled split private CSI probe responses so DA1 reply does not leak as keystrokes
When the StdinBuffer's 10ms flush timeout elapses mid-response (e.g. on slow
PTYs), the DA1 reply '\x1b[?62;...c' arrived in fragments: '\x1b[?62' as one
sequence and then ';6;7;...;52c' as individual character events. The DA1
pattern only matched the whole sequence, so the prefix landed in the input
handler (silently dropped) and every continuation byte was forwarded as if
the user had typed it, leading to '";6;7;14;21;22;23;24;28;32;42;52c"'
appearing in the prompt every 2s during idle (OSC 11 polling interval).

ProcessTerminal now accumulates '\x1b[?<digits/semicolons>' partials while a
DA1 sentinel is outstanding and rejoins them with the trailing terminator
before the pattern checks run. The existing DA1, kitty keyboard, and Mode
2031 handlers consume the reassembled response unchanged; an interrupting
escape sequence (or 256+ bytes of garbage) abandons reassembly.

Fixes #1238
2026-05-20 23:57:41 +00:00
..