Skip to content

feat(studio): publish and unpublish one page without a release - #14

Merged
Madraka merged 1 commit into
mainfrom
feat/studio-page-status
Oct 20, 2026
Merged

Madraka merged 1 commit into
mainfrom
feat/studio-page-status

Conversation

@Madraka

@Madraka Madraka commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Summary

RFC-0035 (draft, in this PR): a page's own status can be changed directly, like an article's.

  • Page editor: a draft page's next step is Publish (same ApprovalDialog); "Send to review" moves into More actions (StatusActions directPublish). Articles keep draft → review → published.
  • Pages list: the row menu adds Publish (draft/review, through ApprovalDialog) and Unpublish (published → draft, no approval, as in the editor). Both are disabled with the reason when the role lacks pages.write.
  • Site Publish dialog: shows "N pages are not published" with a Review pages link. It only reads the pages while the dialog is open.
  • MCP: update_page takes an optional status. The store's checks still apply: a machine translation needing review or failing checks is refused, and pages held by a release stay locked. Changeset included.

Porting notes

  • Ported from unfinished work on the pre-public history. PagesPage now uses PageRow and the grouped translation list, so PageRow takes the pages.write gate and the row's status items. This also keeps PagesPage under the 150-line function limit.
  • The RFC was renumbered 0034 → 0035, since 0034 is multi-site on main.
  • Locale catalogs were regenerated with pnpm i18n:import. Only en.ts was edited by hand. params.ts comes from pnpm gen.

Test plan

  • biome, size:check, design:lint, turbo run typecheck
  • Every package's tests, run one at a time (--concurrency=1). Studio 1121 tests and mcp-server 140 included. New: apps/studio/test/page-status.test.tsx and the update_page status test in translation-tools.test.ts.

🤖 Generated with Claude Code

RFC-0035. A draft page's next step in the editor is Publish (through the
same ApprovalDialog); the Pages list's row menu adds Publish (approval)
and Unpublish, disabled with the reason for roles without pages.write;
the site Publish dialog says how many pages it leaves out, with a link
to them. MCP update_page takes an optional status, so an agent can
publish one finished translation; the store's review and release checks
still apply.

Ported from unfinished work on the pre-public history onto the grouped
translation list (PageRow now takes the pages.write gate and the row's
status items). Locale catalogs regenerated with pnpm i18n:import.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Madraka <asker_17@msn.com>
Copilot AI balanced review requested due to automatic review settings October 20, 2026 12:57

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@Madraka Madraka mentioned this pull request Oct 20, 2026
1 task done
@Madraka
Madraka merged commit d0e46a5 into main Oct 20, 2026
7 of 8 checks passed
@Madraka Madraka mentioned this pull request Oct 20, 2026
Madraka added a commit that referenced this pull request Oct 20, 2026
feat(studio): publish and unpublish one page without a release
Madraka added a commit that referenced this pull request Oct 20, 2026
A cold Chrome on a busy GitHub runner took over 10 s and failed the
render tests with "Chrome did not start" (seen on #14 and the
contributor-setup workflow) while warm starts stay under a second.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Madraka <8898640+Madraka@users.noreply.github.com>
Madraka added a commit that referenced this pull request Oct 20, 2026
Deploy from Cloudflare Workers Builds (#17), one-click page publish in
Studio (#14), computed values in surface conditions (#15), a 30 s Chrome
start (#16).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Madraka <8898640+Madraka@users.noreply.github.com>
@Madraka
Madraka deleted the feat/studio-page-status branch October 20, 2026 21:35
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.

2 participants