You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(platform-objects): hide org/membership surfaces in single-org mode (#2348)
* fix(platform-objects): hide org/membership surfaces in single-org mode
Apply the platform's existing multi-org gating convention consistently
across the org/membership surface, which had only been wired in a handful
of spots:
- nav entries -> requiresService: 'org-scoping'
- object actions -> visible: 'features.multiOrgEnabled != false'
Nav (P1):
- account.app "My Organizations" (sys_member/mine): was gated on
requiresObject: 'sys_member', which never fires (system object always
registered) and left the always-empty view visible in single-org.
Re-gated on requiresService: 'org-scoping'.
- setup-nav "Teams" (sys_team): had no gate while sibling Organizations/
Invitations were service-gated. Added requiresService: 'org-scoping'.
Actions (P0) — gated on features.multiOrgEnabled != false:
- sys_user.invite_user (most exposed: Users list always reachable)
- sys_member add_member/update_member_role/remove_member + transfer_ownership
- sys_team create_team/update_team/remove_team
- sys_team_member add_team_member/remove_team_member
- sys_invitation invite_user/resend_invitation/cancel_invitation
Recipient-side invitation accept/reject stay record-gated (unreachable in
single-org anyway). No behavior change in multi-org. Metadata-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(platform-objects): tidy remaining single-org rough edges (P2)
- Gate the remaining sys_organization admin actions (update/delete/
set_active/leave/change_slug) on features.multiOrgEnabled != false, so
every org action matches the already-gated create_organization.
- Stop rendering a null organization in titleFormat:
- sys_member: '{user_id} in {organization_id}' -> '{user_id} ({role})'
- sys_invitation: 'Invitation to {organization_id}' -> 'Invitation for {email}'
organization_id is null in single-org mode, so the old formats read
"... null"; the new fields identify the record in both modes.
sys_team's by_org view was left as-is: the teams list is empty in single-org
(create is gated) so the grouping never degenerates in practice, and the nav
entry is hidden anyway.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments