Skip to content

Commit dd9bb74

Browse files
committed
chore(changeset): name every request action's copy and the delegated-position user
Claude-Session: https://claude.ai/code/session_01FzQy26KznSa5j2gnf3AzsE Co-authored-by: Claude <noreply@anthropic.com>
1 parent 73046d2 commit dd9bb74

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

‎.changeset/23157-server-authored-ui-text-names-what-and-who.md‎

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,20 @@
33
"@objectstack/plugin-security": patch
44
---
55

6-
fix: the approvals drawer's Approve toast names the approved request, and Explain access names the principal as a person
6+
fix: the approval request actions' success toasts name the request, and Explain access names the principal as a person
77

88
Clause-②: no
99

10-
Two server-authored strings that the console renders verbatim now name what and who they are about.
10+
Server-authored strings that the console renders verbatim now name what and who they are about.
1111

12-
- `@objectstack/plugin-approvals`: the `approval_approve` action's `successMessage` was the bare verb `Approved.`. It is now `Approved "${result.request.record_title}"`, the wording of the inbox row's inline Approve. The decide route already answers the read-back request with its display enrichment, so `record_title` is the title the inbox shows (the target record's display field, else its payload snapshot). The zh-CN, ja-JP and es-ES values of the same key are updated to carry the same token. No key, route or response shape changes.
13-
- `@objectstack/plugin-security`: the explain engine's principal layer said `Principal USER_ID holds position(s) …`. It now names the person first and the id second, for example `Principal Ada Lovelace (ada@example.com; id usr_1) holds position(s) …`, and an on-behalf-of delegator is named the same way. The user row is read with the asker's own context, so row-level and field-level security apply. An asker whose read returns no row gets the bare id, as before, and a field its read masks is left out. As a result, two askers can now be shown different names for the same principal. The decision's `principal` object and every verdict are unchanged.
12+
- `@objectstack/plugin-approvals`: every action on `sys_approval_request` had a bare-verb `successMessage` (`Approved.`, `Rejected.`, `Reassigned.` and so on). Each now names the request through `${result.request.record_title}`. Each action's route answers `{ request, … }` with the read-back request and its display enrichment, so `record_title` is the title the inbox shows: the target record's display field, else its payload snapshot. The new copies:
13+
- Approve and Reject use the inbox row's inline wording: `Approved "TITLE"` and `Rejected "TITLE"`.
14+
- The others read `Reassigned "TITLE"`, `Sent "TITLE" back for revision`, `Information requested on "TITLE"`, `Reminder sent for "TITLE"`, `Recalled "TITLE"`, `Resubmitted "TITLE"` and `Reply posted on "TITLE"`.
15+
16+
The zh-CN, ja-JP and es-ES values of the same keys carry the same token. No key, route or response shape changes.
17+
- `@objectstack/plugin-security`: the explain engine's principal layer said `Principal USER_ID holds position(s) …`. It now names the person first and the id second, for example `Principal Ada Lovelace (ada@example.com; id usr_1) holds position(s) …`. Three other users in the same layer are named the same way:
18+
- an on-behalf-of delegator;
19+
- the user an ADR-0091 D3 delegated position came from, in the clause;
20+
- that same user in the position's contributor attribution (`delegation from …`).
21+
22+
Each user row is read with the asker's own context, so row-level and field-level security apply. An asker whose read returns no row gets the bare id, as before, and a field its read masks is left out. As a result, two askers can now be shown different names for the same user. The decision's `principal` object and every verdict are unchanged.

0 commit comments

Comments
 (0)