Creating an app-owned GROUP silently provisions a SPACE for its members — mislabelled "Managed by the identity provider", Members 0 #690
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#690
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?
Found by the #656 QA pass, §2 admin scouting (v0.6.247, files-bao).
Steps
qa656, memberssharer1. The dialog says app groups are "usable in peering allow-lists and as an admin group". It does not mention spaces.qa656 · Managed by the identity provider · Members 0 · Size — · Active. The total went from 10 to 11 spaces./spacesnow contains aqa656space next to "sharer1 folder share". The pre-existing app grouptest5(2 members) shows the same way: spacetest5 · Managed by the identity provider · 0.Expected: either groups don't create spaces (they're share/peering/admin principals), or the New group dialog says it will provision a space, and the Spaces admin row labels it as app-owned ("Owned by nikola-test · app-managed", like
app-owned-space) with its real member count.Seen: a member-visible space appears as a side effect, attributed to the IdP, with a member count of 0 (qa656 has 1 and test5 has 2).
Related copy bugs on the same page:
0for every IdP-managed space, where the Groups tab shows—for directory groups.0claims "nobody". It should say "—" or "IdP".Cleanup note: deleting app group
qa656at the end of #656 will show whether the space goes with it. I'll report that on #656.Screenshot:
656-admin-spaces-bao.jpgCleanup follow-up: deleting app group
qa656(after revoking its one grant, see #687) removed theqa656space from sharer1's/spaces. So the space's lifetime is tied to the group. But Administration → Spaces still listsqa656and still counts 11 spaces afterwards. The admin list is either cached (it already says "Sizes measured … ago ago") or keeps orphaned entries.v0.6.249 ships the honesty half of this issue: the "ago ago" doubling is fixed, managed space rows show "—" instead of a false member count of 0, and the New-group dialog now says that members also see a shared space with the group's name under /spaces.
Still open here — the structural question. Root cause confirmed: the storage scope layer synthesizes
/spaces/<group>fromauth.User.Groups, and app-owned group memberships are merged intou.Groups(they have to be, for share-grant resolution). So every app group becomes a functional member-visible space as a side effect, and the admin inventory labels it "Managed by the identity provider" because the union sees an ownerless directory.Two ways to close this out, and it's a product call:
Say which and I'll cut the slice. The QA cleanup (deleting
qa656) will also show whether the space disappears with the group.actually, i propose a new idea, which touches the UI of the app-owned groups creation dialog, we add a checkbox there "create a space for this group", giving also the possibility to name it if the box is checked, prefilling the textbox for the name with the groups name + space, e.g. "team A space". So the user can decide at the creation of a group, "do i want a space with it or not"
Decision heard: opt-in space at group creation — a checkbox in the New-group dialog, with a name field prefilled
<group name> spacewhen checked. Mockup delivered to Nikola (interactive HTML, canon-styled: two dialog states plus the Spaces-admin row preview).What the mockup encodes, for the eventual slice:
/spaces/<group>from app-group memberships (option 1 mechanics under the hood). An unchecked group is purely a sharing/peering/admin principal, matching the dialog's own lede.<group> space; the prefill tracks the group-name field until the space name is edited by hand, then detaches. The created space is a real provisioned app-owned space (decoupled from the group's name — synthesis by name can't support custom names anyway).team-a space · Owned by <creator> · group team-a · Members 2 · App-managed · Active— never "Managed by the identity provider", never a fake count.guSpaceOpt,guSpaceName,guSpaceHintOn,guSpaceHintOff.Two open questions flagged on the mockup before implementation:
test5) — migrate to provisioned app-owned spaces on upgrade, or drop them and let admins re-opt-in per group?Also still pending here from the earlier comment: the stale
qa656row in the Spaces admin inventory (orphaned entry or cache) — that cleanup rides the implementation slice.