a73x

43b4f724

docs: record shared web clipboard semantics

a73x   2026-08-18 12:27

Commit message
docs: record shared web clipboard semantics

docs/decisions.md
Old New
@@ -3660,3 +3660,22 @@ socket and QUIC; replacing the old client with the new one failed both legs,
3660 naming the clipboard, title and bracketed-paste frames it rendered. Bells 3660 naming the clipboard, title and bracketed-paste frames it rendered. Bells
3661 coalesce to one replay per drain, so a binary full of BEL bytes cannot turn 3661 coalesce to one replay per drain, so a binary full of BEL bytes cannot turn
3662 into one host-terminal write per byte. 3662 into one host-terminal write per byte.
3663
3664 ## 2026-08-16 (shared client semantics and muxweb copy/paste)
3665
3666 **Protocol meaning has one platform-neutral boundary.** `client_core.zig`
3667 decodes sampled terminal state and one-shot host effects; both the CLI and
3668 WASM/browser adapters consume its validated `term_modes` and `term_event`
3669 results. Browser paste therefore follows the sampled DEC mode 2004 state
3670 rather than maintaining a web-only interpretation of the protocol.
3671
3672 **Browser clipboard authority belongs to the zoomed tile.** OSC 52 clipboard
3673 writes make a serialized, coalesced automatic Clipboard API attempt. If that
3674 fails, one latest-wins explicit Copy action is exposed; its accessible retry
3675 path restores terminal focus and IME handling after the attempt. Unzoomed
3676 tiles neither write the clipboard nor offer the retry.
3677
3678 **Selection remains a second slice.** Mouse-drag selection and scrollback
3679 copy will use the correlated Reply family and the shared selection
3680 architecture. They will not add a web-only protocol parser alongside the
3681 shared client semantics.
docs/roadmap.md
Old New
@@ -415,9 +415,15 @@ mechanisms.
415 415
416 What remains banked is intentionally narrower: mouse mirroring, whose 416 What remains banked is intentionally narrower: mouse mirroring, whose
417 terminal-side reporting would take away native drag selection until 417 terminal-side reporting would take away native drag selection until
418 copy-mode exists; OSC 10/11 colour queries; and browser clipboard support. 418 copy-mode exists; mouse-drag selection and scrollback copy (Slice 2); and
419 The cross-version gate now also proves, over socket and QUIC, that a real 419 OSC 10/11 colour queries. Browser copy/paste shipped 2026-08-16: the CLI and
420 v0.0.1-5 client ignores the new daemon-to-client frames and keeps parsing. 420 web/WASM consume one shared semantic decoder, browser paste follows the
421 sampled DEC mode 2004 state, and OSC 52 first tries the Clipboard API then
422 offers one latest-wins explicit Copy fallback. Only the zoomed tile may act
423 on either clipboard path. Automated coverage pins those semantics; interactive
424 Firefox clipboard acceptance remains manual. The cross-version gate now also
425 proves, over socket and QUIC, that a real v0.0.1-5 client ignores the new
426 daemon-to-client frames and keeps parsing.
421 427
422 ## M16 candidates — and still outranked by trial feedback 428 ## M16 candidates — and still outranked by trial feedback
423 429