[VS-NfD] Mode "hidden": hide profile-violating options and mark the hiding #245
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#245
Loading…
Reference in New Issue
Block a user
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?
Plan reference: M32, option b)
ADR: the one from #243
Effort: M (1-2 AT)
Depends on: #243, #244
Context
Option b): options that would violate the profile disappear from the UI, and the deployment says so - the hiding itself is marked, never silent. An operator reading the settings page must be able to tell policy from missing features.
Acceptance criteria
hidden, catalog-listed controls whose only purpose is enabling a violation are not rendered; controls with compliant and non-compliant values (e.g.upload.svgPolicy) keep only their compliant choices.marked- an existing violation is never silently hidden.Out of scope
Server-side enforcement.
Done via PR #294 (merged, CI run 635 green — including the hidden half of the vs-nfd e2e pack against a second api with VS_NFD_MODE=hidden, and an axe WCAG A/AA scan of the hidden state).
All acceptance criteria met: compliant enable-a-violation controls are not rendered (master switches, Nextcloud backup block); value-listed selects keep only compliant choices; one accessible policy note per affected section (i18n de+en); an already-violating value is surfaced like in
marked, never silently hidden (pinned in e2e: the violating feeds row keeps its marking); API unchanged. First CI run caught a seed difference (api.enabled=true in the CI fixtures) — the row assertion now derives its expectation from the actual instance settings.