fix(suspend): prevent Kitty keyboard response from leaking as typed input after Ctrl+Z resume
After SIGCONT, NegotiateKittyKeyboard's 50ms query timeout could expire
before the terminal responded, leaving ESC[?1u on stdin. The reader then
parsed this as an Escape key event (triggering App.Stop() in ai-chat)
plus literal characters [?1u typed into the textarea.
Replace NegotiateKittyKeyboard with EnableKittyKeyboard on resume, which
pushes the mode without querying stdin. Also reset style tracking for
inline mode (stale lastStyle caused wrong colors), and fix a SIGCONT
handler race using CompareAndSwap to prevent double-resume.
grindlemire · Mar 14 · 54b4716 · parent 7a2d76b · 6 files +73 -0