feat: the web admin surface joins the matrix (#134) #150
No reviewers
Labels
No labels
adr
android
area/calendar
area/design-system
area/i18n
area/jobs
area/offline
area/server
area/testing
bug
ci
duplicate
enhancement
help wanted
invalid
notifications
question
reliability
security
severity/low
severity/medium
tracking
web
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
eagraiclainne/app!150
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/web-admin-matrix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #134. PR 12 of the #137 stack, based on #149. Two commits:
UserService/Update.other(Admin) — the user Update handler's admin-or-self check was the last hidden role half; the row now names it and the handler consults it (the ADR-0031 amendment's rule), so the Family sheet's fitting room can gate honestly.useAdminAccess()hook derives the five tab verbs (UserService/Create, SystemService/AuditLog, ApiKeyService/ListApiKeys, WebhookService/ListWebhooks, SystemService/UpdateSystemSettings); the Admin page, its tab strip and the MeMenu nav link all follow. The Family sheet's member management splits into AssignRoles (role picker), Update.other (fitting room), ClearPin, ReferenceUser (link a relation, end a partnership) and Delete (remove flow); the family tree's link affordances read ReferenceUser too. One deliberate visibility change rides this: the matrix has always allowed MEMBER to call ReferenceUser, so members now see the relation-linking affordances the client had been hiding — the client stops showing less than the server allows. The ADR-0020 PIN nudges and tour deck stay role-read by design (they mirror rules that are themselves role-based).Live-verified: admin sees all five tabs; a member gets the denial page, no Admin nav link, the relation-link affordance (honest), and no remove/role controls.
make checkgreen.🤖 Generated with Claude Code
Test report
Coverage: 28.0%
Updated by the check workflow · commit
9dc400110eAndroid test report
Coverage: 2.4% of lines
Updated by the android workflow · commit
9dc400110e