matchEscape in composer-state.js handles CSI, SS3 and bare ESC. It has no case for DCS (ESC P … ESC \), so a device-control reply is not consumed as one sequence: its payload is treated as typed characters and lands in the composer's text.
Measured on this machine: zero DCS replies across 26,458 pty.input writes over roughly two hours, so nothing emits one here today. That is why it was left alone rather than papered over with a regex — closing it means changing what the parser recognises, not adding another exclusion.
Related: PR #170 excluded cursor position reports, which were arriving about twice a second and holding the quiet clock open permanently.
matchEscapein composer-state.js handles CSI, SS3 and bare ESC. It has no case for DCS (ESC P … ESC \), so a device-control reply is not consumed as one sequence: its payload is treated as typed characters and lands in the composer's text.Measured on this machine: zero DCS replies across 26,458 pty.input writes over roughly two hours, so nothing emits one here today. That is why it was left alone rather than papered over with a regex — closing it means changing what the parser recognises, not adding another exclusion.
Related: PR #170 excluded cursor position reports, which were arriving about twice a second and holding the quiet clock open permanently.