mirror of
https://github.com/storytold/figcraft.git
synced 2026-11-15 23:02:36 +00:00
* 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>