You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deferred from the #16 / capability-proxy follow-up review (fable). Non-blocking refinements:
Kitty keyboard is stateful, answered as static. The proxy always answers CSI ? u with ?0u, but CSI > flags u (push) / CSI < u (pop) / CSI = flags ; mode u (set) pass through and change the client emulators key encoding. An app that pushes then queries is told the push failed. The proxy sees the push/pop/set go by and could track the flag stack, or the behaviour should be documented.
Static-query coverage gaps (pass through today, so the client answers and — when the filter is on — TermFilter strips the reply, i.e. a dead-end): OSC 12 (cursor colour), OSC 4 (palette), tertiary DA (CSI = c), DSR ?-family (?25n/?26n/…), multi-param OSC 10;?;? (SwiftTerm answers fg+bg), and zero-padded params (CSI 00c/05n — SwiftTerm parses numerically, the proxy compares bytes).
OSC terminator: proxy mirrors the query terminator (BEL→BEL); SwiftTerm always sends ST. Harmless, arguably better (xterm-like), but not byte-exact as the module doc claims — normalise or adjust the doc.
CPR still enters the ring buffer (not consumed at source), so a ?since= replay can re-deliver a CPR query; the client must answer only live CPR. Endgame is answering CPR at the source via an embedded VT state machine (libghostty-vt), which also removes it from replay. See Terminal capability proxy: the runtime should answer static queries itself #15.
Deferred from the #16 / capability-proxy follow-up review (fable). Non-blocking refinements:
CSI ? uwith?0u, butCSI > flags u(push) /CSI < u(pop) /CSI = flags ; mode u(set) pass through and change the client emulators key encoding. An app that pushes then queries is told the push failed. The proxy sees the push/pop/set go by and could track the flag stack, or the behaviour should be documented.CSI = c), DSR ?-family (?25n/?26n/…), multi-param OSC10;?;?(SwiftTerm answers fg+bg), and zero-padded params (CSI 00c/05n— SwiftTerm parses numerically, the proxy compares bytes).?since=replay can re-deliver a CPR query; the client must answer only live CPR. Endgame is answering CPR at the source via an embedded VT state machine (libghostty-vt), which also removes it from replay. See Terminal capability proxy: the runtime should answer static queries itself #15.