Skip to content

Loosen share schemas and paint share peeks from alignment rows - #1470

Open
thesiti92 wants to merge 1 commit into
mainfrom
share-peek-rows
Open

thesiti92 wants to merge 1 commit into
mainfrom
share-peek-rows

Conversation

@thesiti92

@thesiti92 thesiti92 commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Released Desktops parse downloaded bundles with strict zod schemas, so
any field a newer sharer adds fails their share import. Readers now drop
unknown fields in the bundle, its snapshot and its presentation, so a
Desktop opens any later bundle.

A hosted share's peeks pair base and head excerpts with jsdiff, so a
selection on new code, which has no base excerpt, prints as plain code.
Most peeks on a PR board are new code.

  • The bundle gains an optional alignments field: one entry per run of
    the sharer's diff, with 1-based base and head line pairs and null for
    a line the other side lacks.
  • The viewer paints from those rows when a bundle carries them: a null
    side is added or removed, a pair with differing text is removed then
    added. Ranges no run reaches keep the jsdiff pairing.
  • Nothing writes the field yet. The exporter is parked on
    share-peek-rows-export until Desktops with the loose schema have
    rolled out, since a bundle with the field would fail import on every
    strict Desktop. It needs a rework to whole-file rows before it lands.
  • @dev.fast/review-share-protocol 0.4.1 and @dev.fast/canvas 0.3.4;
    cloudboard Bump shell-quote from 1.8.4 to 1.10.0 in /apps/review-desktop/code-oss/test/automation #53 pins them.

@thesiti92
thesiti92 added this pull request to stack #1479 November 1, 2026 22:02
@thesiti92 thesiti92 changed the title Carry the sharer's diff alignment into share peeks Loosen share schemas and paint share peeks from alignment rows Nov 2, 2026
Released Desktops parse downloaded bundles with strict schemas, so any
field a newer sharer adds fails their share import. Readers now drop
unknown fields in the bundle, its snapshot and its presentation, so a
Desktop opens any later bundle.

A hosted share's peeks pair base and head excerpts with jsdiff, so a
selection on new code, which has no base excerpt, prints as plain code.
The bundle gains an optional `alignments` field, one entry per run of
the sharer's diff with 1-based base and head line pairs, and the viewer
paints from it when present: a null side is added or removed, a
differing pair is removed then added. Ranges no run reaches keep the
jsdiff pairing. Nothing writes the field yet; the exporter waits on
`share-peek-rows-export` until loose-schema Desktops have rolled out.

`@dev.fast/review-share-protocol` 0.4.1, `@dev.fast/canvas` 0.3.4.

Agent-Session: 845c0993-e0a1-45e7-84a3-caa8eec4d49f
Agent-Session: 61c94475-694a-4e46-8971-e0d703d3b344
Agent-Session: e033b653-84f5-4ec8-8eeb-d3a3af5312c5
Agent-Session: f2f8f3d8-5a50-4c15-8ad8-9c9308d4a110
Agent-Session: 64182dea-534e-45f1-8e28-c1e27a5d6bab

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant