mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 08:02:24 +00:00
The OSC sniffer folded a whole chunk's 133 marks into a single shell state and `apply_signals` sent one `Prompt` frame for it. That loses information the client depends on: it counts `at_prompt` false -> true edges as prompt *cycles*, which is how it tells a fresh prompt from a same-prompt redraw (a prompt framework re-emitting the PS1-embedded `133;B` on reset-prompt bumps the report seq but must not count). A chunk carrying a whole command cycle (`C` ... `D`) therefore reported only the final at-prompt state, and the edge vanished. Over SSH that is routine rather than exotic: a fast command's `C`, its output and its `D` leave the remote together and arrive in one read. Report one state per crossing instead. Marks on the same side of the boundary still fold into their latest state, so the ordinary `D`/`A`/`B` prompt draw costs exactly one frame as before.