Summary
The Setup ("System Settings") app contributes navigation items pointing at client-side routes like /apps/setup/system/settings, /apps/setup/system/settings/branding, /apps/setup/system/settings/auth, etc. The console SPA has no route for these paths, so every settings page renders blank.
This is a missing-feature in the console, not a translation or backend bug:
Reproduction
- Run a dev stack with the Setup app +
service-settings.
- Navigate to
/_console/apps/setup/system/settings (or .../settings/branding, .../settings/auth, .../settings/storage, …).
- The page
<main> is empty; no /api/settings request fires.
By contrast, /_console/apps/setup/system (the system hub, SystemHubPage) renders fine.
Root cause
In apps/console/src/AppContent.tsx, systemRoutes defines:
system → SystemHubPage
system/apps → AppManagementPage
system/profile → ProfilePage
system/objects → ObjectRedirect
system/metadata/:metadataType → MetadataManagerPage
system/metadata/:metadataType/:itemName → MetadataDetailPage
There is no system/settings or system/settings/:namespace route, and no manifest-driven settings form component anywhere in the repo (the only "SettingsPage" is packages/app-shell/src/console/organizations/manage/SettingsPage.tsx, which is organization settings — unrelated to platform settings).
Proposed work
- Add routes under
systemRoutes:
system/settings → a settings hub listing all manifests from GET /api/settings.
system/settings/:namespace → a manifest-driven form for a single namespace.
- Build a manifest-driven settings form component that:
- fetches
GET /api/settings/:namespace,
- renders fields from the manifest (respecting types, groups, ordering),
- saves via
PUT /api/settings/:namespace,
- invokes actions via
POST /api/settings/:namespace/:actionId.
- Use the already-translated manifest labels/groups/keys returned by the API.
Backend reference
service-settings registers REST routes at basePath /api/settings (note: no /v1):
GET /api/settings → manifests
GET /api/settings/:namespace → namespace manifest + values
PUT /api/settings/:namespace → save values
POST /api/settings/:namespace/:actionId → run a manifest action
Related
Summary
The Setup ("System Settings") app contributes navigation items pointing at client-side routes like
/apps/setup/system/settings,/apps/setup/system/settings/branding,/apps/setup/system/settings/auth, etc. The console SPA has no route for these paths, so every settings page renders blank.This is a missing-feature in the console, not a translation or backend bug:
GET /api/settingsreturns the manifest list (200), andGET /api/settings/:namespacereturns each namespace's manifest.Reproduction
service-settings./_console/apps/setup/system/settings(or.../settings/branding,.../settings/auth,.../settings/storage, …).<main>is empty; no/api/settingsrequest fires.By contrast,
/_console/apps/setup/system(the system hub,SystemHubPage) renders fine.Root cause
In
apps/console/src/AppContent.tsx,systemRoutesdefines:There is no
system/settingsorsystem/settings/:namespaceroute, and no manifest-driven settings form component anywhere in the repo (the only "SettingsPage" ispackages/app-shell/src/console/organizations/manage/SettingsPage.tsx, which is organization settings — unrelated to platform settings).Proposed work
systemRoutes:system/settings→ a settings hub listing all manifests fromGET /api/settings.system/settings/:namespace→ a manifest-driven form for a single namespace.GET /api/settings/:namespace,PUT /api/settings/:namespace,POST /api/settings/:namespace/:actionId.Backend reference
service-settingsregisters REST routes at basePath/api/settings(note: no/v1):GET /api/settings→ manifestsGET /api/settings/:namespace→ namespace manifest + valuesPUT /api/settings/:namespace→ save valuesPOST /api/settings/:namespace/:actionId→ run a manifest actionRelated