Files
figcraft/docs
Trevor BrownandClaude Sonnet 5.5 3bbd1d3ce5 Pages: Set as opening page, so a shared file opens on the page the team chooses (#1817) (#1972)
* M9: page.setOpening sets the page a shared file opens on, for everyone who joins (#1817)

A file on a figcraft-server opened on the page current at publish time, with no way to change it:
`DocProp::CurrentPage` was synced but nothing wrote it (`page.select` is each viewer's own page,
only a local save stamps the document). `page.setOpening {id?}` writes `doc.current_page` as a
document edit: one undo step, a synced change in a live session, so every later join opens on it;
the current page when none is named; a divider or a layer refused; nobody's own page moves. The
pages list's context menu gets "Set as opening page". Docs: mcp.md, collaboration-parity.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* M9: the pages menu's new string is in the English catalog (#1817)

The gate's i18n test wants every tr() key in locales/en.toml.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Opening page: the parity doc states the default when no opening page is set (#1972 issue)

With none set, a file opens on its saved current page, not the first page, and a link cannot name a page, so the row is partial.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Opening page: one sharing row, and the spotlight exception on the opening-page row (#1972 issue)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Opening page: the parity row states where the joiner's page comes from (#1972 issue)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Opening page: a no-op set adds no step, deleting the opening page falls back, and the tests cover junk ids, refusals, undo and the menu item (#1817)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* M5: the chosen opening page is saved with the file and opens it for everyone (#1817)

The opening-page flag now lives on the page node (NodeKind::Page opening), so it syncs
through the existing node kind. Saving writes the flagged page as current_page instead of
the page the saver was viewing. A duplicated page does not copy the flag, and deleting the
page removes it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Model-Effort: Opus 5.5 drove; Opus 5.5 briefed; Sonnet 5.5 wrote at medium

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-15 00:05:48 -06:00
..
2026-11-12 10:27:59 +07:00
2026-11-13 22:41:10 +07:00
2026-11-07 11:23:09 +07:00
2026-11-13 23:39:40 +07:00
2026-11-13 23:39:24 +07:00
2026-11-12 10:10:45 +07:00
2026-11-12 10:10:45 +07:00