Files
orca/src/shared
Brennan Benson 097d77ac80 fix(terminal): recognize Claude drafts with labelled input boxes and the default hidden cursor (#37171)
* fix(terminal): recognize labelled Claude composer frames

* fix(terminal): recognize Claude's default simulated cursor in the composer

Claude Code's default caret hides the native cursor and parks it at a
painted caret cell, so its composer (labelled or bare) was never detected:
the draft leaked into screen reads and automatic mail was not held.

Accept a hidden cursor on the Claude prompt only inside a complete composer
frame with the cursor right of the glyph. On the normal buffer the parked
cursor suffices (Claude drops the inverse caret paint on focus-out); on an
alternate or unknown buffer the cursor cell must also be inverse. Both facts
are read per call from xterm, only while the cursor is hidden. The closing
rule now comes from the row where the continuation walk stopped, removing
the extra rows-below scan. Codex and boxed composers keep rejecting hidden
cursors.

* test(terminal): scrub worktree name from blurred Claude fixture
2026-11-01 19:11:56 -08:00
..
…
…