mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-09 08:21:50 +00:00
The raw-mode teardown path (rawModeEnabledCount -> 0) disabled modifyOtherKeys, kitty keyboard, focus reporting, and bracketed paste, then dropped raw mode and detached the readable listener -- but left DEC mouse tracking (1000/1002/1003/1006) asserted. With raw mode off and no reader attached, the terminal falls back to cooked-mode echo, so every mouse move emits a hover report (DEC 1003) that prints as literal text: a flood of '35;col;row M' shards over the prompt in a long session. handleSuspend() already guards against exactly this (it writes DISABLE_MOUSE_TRACKING before SIGSTOP); the ordinary teardown path missed the same guard. Add DISABLE_MOUSE_TRACKING to the teardown, and re-assert tracking on raw-mode re-entry (via the Ink instance's reassertTerminalModes, which is gated on altScreenActive and idempotent) so a transient drop->re-add round-trips cleanly instead of silently leaving the mouse dead. Adds a regression test driving a real Ink mount: the last raw-mode consumer detaching must emit DISABLE_MOUSE_TRACKING. Reported via a community bug report. |
||
|---|---|---|
| .. | ||
| hermes-ink | ||