Repository navigation
fix(platform-objects): API key Revoke and Restore toasts name the key - #27757
Conversation
The two row actions' successMessage now carry a `{{ record.name }}` hole,
which the console runner fills from the dispatched row, in the source and in
the zh-CN / ja-JP / es-ES bundles (merge mode keeps a translated value, so the
old object-only sentence would otherwise keep serving).
Claude-Session: https://claude.ai/code/session_01Utp6CbBKXqV5ioVksATxTi
Co-authored-by: Claude <noreply@anthropic.com>
…undles Regenerates the en bundle from the source (check-i18n-bundles --write) and adds a patch changeset for @objectstack/platform-objects. Claude-Session: https://claude.ai/code/session_01Utp6CbBKXqV5ioVksATxTi Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift CheckThis PR changes 1 package(s): 3 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 2 release-owned page(s) also name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 2 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin c272682a032654517a322f7c74fb6ecf27bd8165 && git checkout c272682a032654517a322f7c74fb6ecf27bd8165
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 6d8372a8cd03f31a411a302c1cbb807ad6782d47 6a8ef24c3c01135e0028d6a30464c034cc406973 && git checkout -B drift-repro 6d8372a8cd03f31a411a302c1cbb807ad6782d47 && git merge --no-ff 6a8ef24c3c01135e0028d6a30464c034cc406973
node scripts/docs-audit/affected-docs.mjs --json 6d8372a8cd03f31a411a302c1cbb807ad6782d47
|
|
domain:ui#4 · os-bill · session_01Utp6CbDAucNyQ4UtzCJKyh 席位核对ACCEPT · head
Generated by Claude Code |
Requested by Bill · project thread
维护者速读
API key "QA key" revoked),中文、日文、西班牙文译文同步写出密钥名。{{ record.name }}填进提示;回滚即 revert 本 PR,无数据或协议变化。packages/platform-objects/src/identity/sys-api-key.object.ts(两行 successMessage)、packages/platform-objects/src/identity/sys-api-key-action-copy.test.ts、zh-CN.objects.generated.ts的两条译文。pnpm --filter @objectstack/platform-objects exec vitest run src/identity/sys-api-key-action-copy.test.ts,预期 15 个用例全绿。Fixes #27456
Clause-②: no
Metadata-protocol: none
What changes
sys_api_key'srevoke_api_keyandrestore_api_keyrow actions declaresuccessMessage: 'API key "{{ record.name }}" revoked'/'... restored'. Both arelist_itemactions; the console'sActionRunnerfills asuccessMessage{{ record.* }}hole from the row the dispatch carries (composeSuccessMessagereadsdispatchRecord(action)), already pinned in objectui'sActionRunner.copyTemplate-13367.test.ts, test "the row a dispatch carries isrecord".recordis one ofACTION_SUCCESS_TEMPLATE_ROOTS, so the action-copy publish judge accepts the hole.nameis a required field onsys_api_key, so the hole always has a value.check:i18nreads "in sync".en.objects.generated.tsregenerated from the source withnode scripts/check-i18n-bundles.mjs --write(exit 0; only those two leaves moved).@objectstack/platform-objects.Tests
packages/platform-objects/src/identity/sys-api-key-action-copy.test.ts(the shape ofinvite-user-action-copy.test.ts): the source copy carries{{ record.name }}; the en bundle equals the source; each translated bundle carries the token and is not the English source; the served object metadata (translateMetadataDocumentoverSetupAppTranslations) gives zh-CN its translated key-naming copy and en the declared copy.scripts/ablation-replace.mjs, restored and hash-verified): the revoke line back to'API key revoked'turns 3 of 15 cases red (declared copy, en bundle, en served); restored, 15/15 green.pnpm --filter @objectstack/platform-objects test: 98 files / 1384 tests passed.pnpm --filter @objectstack/platform-objects typecheck: exit 0.Acceptance notes
recordintosuccessMessageis the existing objectui test named above, so the pin here is the metadata plus that test.*.objects.generated.tsbundles.Verification
On head
6a8ef24c3c: the derived list (node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack, 59 families) plusnode scripts/check-sdui-manifest.mjs, each exit code recorded before any pipe;--ranreconciliation exit 0: 58 run with exit 0, 1 NOT MEASURED (pnpm check:dual-build-cjs-loads, exit 3, needs a whole-workspace build; left to CI).check-plugin-teardown-shape --self-testfirst exited 3 on the shallow clone, and 0 aftergit fetch --unshallow. The full readings are in the report comment on #27456.🤖 Generated with Claude Code
https://claude.ai/code/session_01Utp6CbBKXqV5ioVksATxTi
Generated by Claude Code