Files
hermes-agent/tests/e2e
teknium1 6d57e9ead4 fix(cli): never aim the resize erase past chrome tmux clipped (#95375)
A two-step shrink while a reply streams lost a transcript row in tmux in ~5% of
runs: a chrome paint that reached tmux after it narrowed its grid was clipped
(prompt_toolkit writes rows with autowrap off), yet the aimed erase counted its
rows as re-wrapped and erased the transcript rows above. Traced: the lost runs'
chrome render started at the old width and the width had moved by its end.

Record, per chrome row, when it was painted and how wide. A row counts as
re-wrapped only from a paint that ended at least _RESIZE_PAINT_MARGIN (10 ms)
before the width change was first seen with the width unchanged under it;
otherwise it counts as one row. A stale chrome row left above the new paint is
benign; an erased transcript row is lost.

The tmux e2e cell now uses 146-column reply lines and tolerates a stale
streaming-preview row per mid-stream recovery while still requiring every
transcript line exactly once.
2026-09-24 00:17:13 -07:00
..