Files
orca/tests
Merge Sim fd0ea14101 feat(native-chat): advertise structured reader support on paired connections
A paired desktop advertised no structured capability, so a host withheld every
structured session-tab row from it and refused the whole agentSession.* surface. A user
with two machines could see a chat on one of them only.

This advertises the reader: structured, claude-structured, the turn item and the status
feed. Deliberately not hold, reveal or resume-history — an adjunct says the renderer can
answer for it, and those three are the surfaces that write. Mobile already drives
desktop-hosted structured sessions over this same surface, so the host's admission,
projection and multi-subscriber paths are production-exercised; what is new is this
client's list and the desktop's consumption of the rows it now receives.

Advertising is not dormant. Against a capable host it restores and publishes sessions
that already existed, and a pane over one of those would take a hold — which opens the
durable record on the other machine and hands its session a provider child back. The
host does not stop it: the hold is gated on the reader string, not on the hold string
this client withholds. So the pane refuses itself. An environment-owned session renders
through the owner-bound pane with every mutation off and no hold call made at all, under
its own notice rather than one of the hold states, because nothing here was refused and
nothing is missing on the host.

The retreat is a client setting, structuredChatRemoteRead, distinct from the host's own
structured-chat admission switch. Off, this desktop stops advertising the reader and a
host withholds the rows again, from each pairing's next connection. Every call site that
opens a paired connection now reads the list through one place, and a test fails if a new
one reads the constant instead.

Wire: new client capability advertisement and changed published content with no codec
change. Cross-version journeys run both directions against a real release — this
desktop's own advertised list, read from the shipped constant, against an old host and a
new one, and a desktop derived without the advertisement against both, on the same host
and the same socket.
2026-09-11 09:33:11 -07:00
..