Commit graph hyperhive/hive-c0re/src/host_stats.rs
Author SHA1 Message Date
damocles
1ee48989f2 style(#1591): wrap over-long assert line to satisfy rustfmt 2026-06-10 13:19:32 +02:00
damocles
aa86af845a fix(#1591): singular grammar for one pending-login agent 2026-06-10 13:19:32 +02:00
damocles
2157c3ae01 feat(#1591): surface pending-login + crashing-agent banner warnings 2026-06-10 13:19:32 +02:00
iris
5d0f3d060b feat(dashboard): generic server-warnings banner on every page (#1518)
Per operator request: instead of a disk-specific alert, surface a generic
server-warnings banner at the very top of every page, so new system
warnings can be added backend-side with no frontend change.

- hive-c0re `host_stats`: `server_warnings() -> Vec<ServerWarning>`
  (`{ kind, level, message }`). The threshold logic lives server-side; the
  host disk-pressure check (a `statvfs` probe of `/nix`: ≥85% used → warn,
  ≥95% → crit) is the first and only producer today. No new deps (libc).
- `/api/state` carries `server_warnings` (replaces the disk-specific
  field). Empty when all clear.
- frontend: `renderServerWarnings` / `initServerWarnings` in `common.js`
  inject a sticky top-of-<body> banner and render the list, coloured by
  `level`. Wired on every page — dashboard (live, via refreshState),
  FL0W, L0GS, H0M3. No per-warning frontend code; adding a warning kind
  is a pure backend change.

cargo check/clippy/fmt + npm run build green. Closes #1518.
2026-06-08 20:55:15 +02:00