- Shipped
- 25 Agosti 2026, 00:05 UTC
- Author
- kamo
- Commit
- a459636
Children now sit under their parent in the Apps & Features list, each with its own switch. Nesting is expressed by ORDER plus an indent rather than a nested container, so the existing card, motion and gating code is untouched — and a child whose parent is filtered out of the current tab still renders at top level rather than vanishing. Two behaviours the cascade made necessary: Toggling now applies the server's whole feature list instead of flipping the clicked row. Enabling a child switches its parent on and disabling a parent switches every child off, so a local single-row update would leave the UI disagreeing with the server about everything else the cascade touched. Both endpoints already returned the full list; nothing new was needed server-side. The old single-row path stays as a fallback for a SecurityService that sends no list. Switching a parent off asks first, naming the children it will take with it. That is a bigger action than the toggle looks. The tree comes from the features endpoint rather than a TypeScript mirror of ServiceType — those have drifted from Java twice already, and the server is the only place that knows the operator catalog. 203 test files / 2921 tests green, build clean.