Repository navigation
fix(app-shell): pair-added permission sets read Custom in the Studio Access header - #29835
Merged
Merged
Conversation
…Access header The provenance chip read `!!packageId || codeIsArtifact`, and the pair's package door supplies a `packageId`, so every set the `.custom` pair holds read "Package" beside the rail's "Added". The Access host now passes the mark its rail row draws (customizationMarks.ts), and an added set reads Custom; base sets and customized base sets still read Package. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jQi6dVYD8adyv8MhKt
Contributor
Author
|
domain:ui#4 · zhuangjianguo · session_01QsR2jR7ZFkpqmm4U8S1f9y 席位核对 · ACCEPT · 2026-11-03T07:07ZHead-sha:
Generated by Claude Code |
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.
Requested by Steedos · project thread
Fixes #29809
Clause-②: no
Metadata-protocol: none
维护者速读
.custom)里的权限集(「新建类似」复制的,或在定制包里新建的)头部标签不再显示「包内置」,而是与左侧列表的「新增」一致,显示自定义标签。customizationMarks.ts),不新增读取;基础包自带的权限集、被定制的基础包权限集仍显示「包内置」;Setup 与元数据管理页不传标记,行为不变。回滚即还原本 PR。PermissionMatrixEditor.tsx的shippedByPackage一行;StudioDesignSurface.tsx中 Access 宿主传入customizationMark的一行;StudioDesignSurface.accessPairCopy-29674.test.tsx新增的三个用例。cd ui && pnpm exec vitest run packages/app-shell/src/views/studio-design/StudioDesignSurface.accessPairCopy-29674.test.tsx -t 29809,应见 3 个用例通过(复制件、定制包新建件为自定义,基础包权限集为包内置)。What changes
PermissionMatrixEditor.tsx):shippedByPackagewas!!packageId || codeIsArtifact. The pair's package door supplies apackageId, so every set a base's.custompair holds read "Package" in the Studio header while the rail marked the same row "Added". It is nowcustomizationMark !== 'added' && (!!packageId || codeIsArtifact). Both badge sites (the page badge and the Studio header chip) still read that one value; no badge string, legend or key is touched.StudioDesignSurface.tsx,AccessPillar): a new optional page propcustomizationMark(typeCustomizationMarkKindfromcustomizationMarks.ts). The pillar passesrailMarks?.markOf(...)for the open set, the same call the rail row'sRailCustomizationMarkmakes, so the rule is the onecustomizationMarks.tsholds (ADR-0146 D3) and is not derived a second time.Tests
StudioDesignSurface.accessPairCopy-29674.test.tsx, one new top-level describe in the existing real-client harness (realStudioDesignSurface,AccessPillarandPermissionMatrixEditPageover the real metadata client and a fetch stub; base read-only, pair writable):addedmark;StudioDesignSurface.accessTabs-12456.test.tsx(the Package pin for a package's own set) stays green, unchanged.scripts/ablation-replace.mjswith the on-disk proof and a proven restore to HEAD:!!packageId || codeIsArtifact: the two pair cases red, the control green;customizationMark={null}: the two pair cases red, the control green.Test runs (fix at 26d194d; re-run at the merged head 27943c8)
accessTabs-12456: Test Files 2 passed (2), Tests 16 passed (16).PermissionMatrixEdit,AccessPillarorperm-provenance-badge(68 files): Test Files 68 passed (68), Tests 474 passed (474).pnpm --filter @object-ui/app-shell run type-check: exit 0.eslinton the three touched files: 0 errors (the warnings are on lines this diff does not touch).node scripts/check-sdui-manifest.mjsexit 0.Acceptance notes
addedInwas added, since that would be a second copy of the rule (seat ruling on the plan).601832b1a6, and anaddedmark now decides the header regardless of the layeredcodereading.Verification
Gates
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackat 26d194d: 35 derived families, all run locally, all exit 0,node scripts/check-sdui-manifest.mjsamong them.--ranreconciliation: "35 derived famil(ies) accounted for — 35 run, 0 NOT-MEASURED". The merge of main touched none of this diff's files. Changed lines 86 (4 files), under the 3000 threshold.Generated by Claude Code