API + frontend: capability feature-detect for spaces; controls reflect availability; surface real errors #216
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Cordy/Cairn#216
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Parent: #211. Resolves the UI half of #209 and #210.
API: expose what's available so the UI stops showing dead controls — a capabilities signal (extend
GET /api/v1/meor a small/api/v1/capabilities) reporting e.g.spaces: { create, manageMembers }(true when app-owned spaces are on and/or the IdP power mode is configured).Frontend:
api()raw-Responsemust be parsed on the error branch so failures show the server message, not emptyCreate failed:/ silent add-member (#136 class). Sweep the space create + member calls (and any sibling that has the same swallow).Acceptance: on an instance with app-owned spaces enabled, create-space + members controls appear and work; on one with nothing configured they're hidden; every failing call shows a real message.
API half merged (PR #223).
SpacesAPInow dispatches to the app-ownedspacestorewhen the IdP power mode is off, so create-space + member management work with no IdP client —apiH.Spacesis non-nil on every instance now, which removes the silent-404 backend cause of #209/#210.GET /mereportsspaces: {create, manageMembers}for feature-detect. httptest coverage green.Remaining for this issue: the frontend — read the capability from
/meand hide/disable the create-space ("New folder" on the Spaces root) + Members controls when it's false, and parse theapi()response on the error branch so failures show the real message instead of an empty toast. That's the next PR.