2.4 KiB
2.4 KiB
Factory Overview dashboard preset (0.33.1)
src/admin/web/dashboard-defaults.json is the single factory configuration
for the Rust admin preference API and the authenticated JavaScript panel.
The preset contains:
dashboard_widgets: complete card identifier order, including hidden cards;dashboard_hidden_widgets: identifiers hidden in the factory Overview;dashboard_density:normal,compactorultra;overview_samples:60,120,300or600samples for first use in a browser.
Card IDs and labels are defined in src/admin/web/dashboard-widgets.json.
The preset may omit newly registered card IDs: the server/client will append
those cards and apply the registry's default_hidden flag. The preset must
not contain unknown or duplicate IDs, or hidden IDs absent from its order.
The bundled 0.33.1 preset reproduces the supplied operator layout: 78 ordered cards, 51 hidden, compact density and 600 initial samples. The packaged Web Server cards remain hidden by default.
Deploying an edited preset
- Edit
src/admin/web/dashboard-defaults.jsonin the source tree. - Validate the JSON and identifiers
- Rebuild RustProxy (
./dev.sh check/ the normal release build) and deploy the newly built binary. The preset is embedded; editing the installed source JSON alone does not update a running binary.
Existing installation and reset behavior
- Admin accounts with stored preferences in SQLite retain their chosen ordering, card visibility and density on upgrade. The preset never rewrites these saved records. Accounts without saved preferences receive the new factory defaults, even on upgraded installations.
- In Overview, Arrange cards visually → Restore defaults restores the factory card order/visibility after the user confirms; it does not reset unrelated appearance or sample-history settings.
- The history selector uses browser-local storage key
rustproxy.overview.liveChartSamples. An explicitly saved choice (including 60) wins over the factory sample count. A browser without a saved choice starts with 600. The sample limit does not change polling frequency. - While layout is unlocked, hide/show/reorder changes are temporary and stay effective during backend/Stream status refresh. Cancel changes restores the saved layout; Save and lock persists the current draft.
No SQLite schema migration or additional HTTP endpoint is required.