Repository navigation
feat(app-shell): Publish opens the pending-changes sheet to confirm, Changes opens it to review (objectui#12517) - #12595
Merged
Conversation
…Changes to review DraftChangesPanel takes a `posture` prop. `confirm` expands every row once the list arrives, puts a per-type summary line above it and moves focus to Publish all; `review` (the default) keeps rows collapsed and focus on the list. The Studio's Publish passes `confirm`, its Changes button `review`; every other host passes nothing and keeps reviewing. Claude-Session: https://claude.ai/code/session_01MxLBRTq32u4PebqJCjFXW7 Co-authored-by: Claude <noreply@anthropic.com>
The seed ran in a passive effect, so the commit that first rendered the list painted it collapsed for a frame; a loaded test run read that frame. Seed in layout effects, and pin that no collapsed row is ever observed. Claude-Session: https://claude.ai/code/session_01MxLBRTq32u4PebqJCjFXW7 Co-authored-by: Claude <noreply@anthropic.com>
The ru value was byte-identical to en, which the untranslated-identity pin reads as a value never translated. Claude-Session: https://claude.ai/code/session_01MxLBRTq32u4PebqJCjFXW7 Co-authored-by: Claude <noreply@anthropic.com>
Contributor
Author
席位核对 — ACCEPT · objectui#12517 · head
|
Contributor
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
Contributor
Author
Landing · head
|
This was referenced Oct 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #12517
Clause-②: no
What changed
Target 3 — one sheet, one component, one prop.
DraftChangesPaneltakesposture, eitherreview(the default) orconfirm. The Studio keeps onechangesPosturestate besidechangesOpen. Publish setsconfirmand Changes setsreview, each before opening, and the singleDraftChangesPanelmount passes it. The Home page,DraftPreviewBarandCommitTimelinepass nothing and keep the review behaviour. Publish is still review-then-confirm (objectui#2261): the header click only opens the sheet, and only the footer's Publish all publishes.Target 1 — Publish opens to confirm. When the list first arrives on each open, every row is expanded, a summary line above the list counts what the publish carries (for example
4 items · 2 object · 1 app · 1 page), and focus moves to Publish all. The line is built from the panel's existing per-type grouping, the one that draws theOBJECT · 2headings, so there is no second classification. A row the author collapses stays collapsed while the rows classify. The seed runs in a layout effect, so no frame shows the list collapsed first.Target 2 — Changes opens to review. Rows stay collapsed, focus lands on the list, and Publish all is in the footer, unfocused. There is no summary line.
Constraints kept. With nothing pending, Publish stays disabled and described by
publish-none-reason(objectui#12303); on a read-only package the reason still rides its wrapper.studio-changes-countand the other test ids are unchanged. The objectui#12510 pinDraftChangesPanel.accessibleNames-12510stays green.New language-pack keys under
preview.changes:summaryItems(with plural forms) andsummaryType, in all ten locales.Deviations
2 object), not a localized plural noun. The panel has no type-label table, and it sits on the console's eager graph, so it cannot import the metadata-admin one.Screenshots
These are on the never-merged evidence branch
claude/issue-12517-evidence, at a writable package with four drafts of three types, 1280 px wide.Read from the DOM at capture, in both themes: confirm showed
data-posture=confirm, fouraria-expanded=trueand active elementdraft-changes-publish; review showeddata-posture=review, fouraria-expanded=falseand active elementdraft-changes-list.Test evidence (head 737592f)
pnpm exec vitest run packages/app-shell/src/views/studio-design/StudioDesignSurface.: 82 files, 560 tests passed.pnpm exec vitest runover everyDraftChangesPanel*,DraftPreviewBar*andCommitTimeline*test, pluspackages/i18n/: 98 files passed, 1413 tests passed, 13 skipped.pnpm --filter @object-ui/app-shell test, once, on ad97f9d: 1427 files passed, 1 skipped; 13553 tests passed, 9 skipped; exit 0. One ru locale value and a merge of main came after this run. On 737592f only the two targeted batches above were re-run.type-checkfor@object-ui/app-shelland@object-ui/i18n, build,check:i18n-keys,check:i18n-drift,check:i18n-designer-parity,check:new-line-citationsandcheck-changeset-presenceall exit 0. eslint on the touched files: 0 errors.DraftChangesPanel.posture-12517.test.tsx(confirm, review, and a CONTROL for a host that passes no posture) andStudioDesignSurface.publishPosture-12517.test.tsx(which door passes which posture, and that nothing pending still leaves Publish disabled with its reason). Each was ablated once and went red: seeding moved back to a passive effect, the seed removed, and Publish set to review. Each was restored withgit diff HEADempty.Acceptance notes
_packageIdunder Also changed. That is a framework key shown as the author's edit, the same shape as the read-decoration keys stripped earlier. It is reported to the seat, not fixed here.Generated by Claude Code