Repository navigation
fix(app-shell): permission-set editor header shows the served (translated) label - #27019
Conversation
…ated) label Claude-Session: https://claude.ai/code/session_01JQwxbZMgz2QbrsLJv3RD41 Co-Authored-By: Claude <noreply@anthropic.com>
…tton Claude-Session: https://claude.ai/code/session_01JQwxbZMgz2QbrsLJv3RD41 Co-Authored-By: Claude <noreply@anthropic.com>
维护者速读
席位核对ACCEPT ·
|
⛔ merge queue 构建失败 — 先分诊,再决定要不要重排队列构建 40654188630 红了。队列跑的是全量套件(PR 侧 CI 只跑 affected 子集), 分类: 失败的 job(日志抽取,best effort):
跨 PR 相同签名(24h,按失败测试文件聚合):
历史信号:
分诊清单:
Generated by Claude Code · merge-queue-triage workflow (#4859) |
Claude-Session: https://claude.ai/code/session_01JQwxbZMgz2QbrsLJv3RD41 Co-Authored-By: Claude <noreply@anthropic.com>
席位核对ACCEPT · 席位意见:队列里红是因为本 PR 新加的测试用的假客户端缺了 main 新增的
|
Requested by Warren · project thread
Fixes #26884
Clause-②: no
Metadata-protocol: none
维护者速读
PermissionMatrixEditor.tsx的headerLabel与加载末尾读取 served 行那段;新测试PermissionMatrixEditor.servedLabel-26884.test.tsx。pnpm --dir ui exec vitest run packages/app-shell/src/views/metadata-admin/PermissionMatrixEditor.servedLabel-26884.test.tsx,预期 4 个用例全绿。What changes
PermissionMatrixEditPagekeeps the label of the rowGET /meta/permissionserves for this set (that read is localized at the REST boundary by the server's permission-set translator, and the editor already makes it for the published-set check). The header shows it while the draft's label equals the published authored label; otherwise it shows the draft's label, as before.StudioItemHeadertitle.draft, so a save sends the authored label unchanged. A set the published list does not hold (never published) keeps its draft label.@object-ui/app-shellpatch.Tests
New
PermissionMatrixEditor.servedLabel-26884.test.tsx(4 cases): zh-CN served 销售代表 over layered "Sales Representative", and the autosave sends "Sales Representative" unchanged; ja-JP served label; a set the list does not hold keeps its draft label; an edit to the label shows the edit.Ablation (one-off,
scripts/ablation-replace.mjs, restored blob equals HEAD): puttingdraft.labelback in the Setup header turns 3 of the 4 cases red (the never-published case stays green, as expected); restored, 4/4 green.Acceptance notes
Verification
Local gates on 53382fa
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack: 34 families derived, 34 run, every one exit 0;--ranreconciliation: 34 run, 0 NOT-MEASURED, 0 UNRUN.node scripts/check-sdui-manifest.mjsis among them (exit 0).pnpm --dir ui exec vitest run packages/app-shell/src/views/metadata-admin/: Test Files 624 passed, Tests 6809 passed, 1 skipped (exit 0).pnpm --filter @object-ui/app-shell type-check: exit 0.pnpm --workspace-concurrency=2 --filter '@object-ui/app-shell^...' build: exit 0.Human Minimum
packages/specholds no runtime logic. (not touched)pnpm lintpasses. (CI)main, one pull request.packages/spectouched: n/a.content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.🤖 Generated with Claude Code
https://claude.ai/code/session_01JQwxbZMgz2QbrsLJv3RD41
Generated by Claude Code