#715: managed-by-IdP is a verified claim - orphan folders say so #716
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat-715"
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 #715
Root cause:
mergeSpaceDirsmarked every backend/spacesdirectory with no app-owned record asManaged: true, and the UI rendered that as "Managed by the identity provider" — an assumption, never a lookup. Orphaned folders (pre-#690 synthesized dirs, IdP groups since deleted, hand-made dirs) carried a false, compliance-relevant attribution. Verified on the dogfood: id.c0rdyceps.ch has notest5/qa656/Fall *groups, yet all read as IdP-managed.Fix — three honest states:
Owned by X · group Y · app-managed(from #690, unchanged);DirList+KnownDirNamesvia newGroupsAPI.DirNamesFor) → "Managed by the identity provider";orphan: true, rendered as "Folder in storage — no managing group found" in the row AND the details dialog (i18n ×4).Fail-safe: only a successful live listing is authoritative. No directory client, or a listing error (IdP outage), keeps the old attribution — a customer never sees a mass orphan-flip because Keycloak blipped. Wiring in main.go is late-bound through the handler so Groups/Spaces construction order can't silently disable it.
Tests:
spaces_orphan_test.go(orphan split, unverified fallback,DirNamesForauthority states incl. listing failure), existing union tests updated to the new signature,qa715.test.jsUI pins.