Files
Anand 61ee806af6 Add realtime polling defaults, Gotify/SMTP notifications, UI-configurable OIDC, and expanded admin settings
- Default all queries to a 20s poll + refetch-on-focus (main.tsx) instead of
  a per-page opt-in, so every page/widget stays live without manual tuning.
- New internal/notify package: Gotify and SMTP (stdlib net/smtp, STARTTLS
  and implicit-TLS-on-465) notifications, each independently optional. Fires
  from the alert evaluator on new alert triggers; admin-configurable from
  Settings with a send-test-notification action per channel.
- OIDC/SSO moved from config.yaml-only to a DB-backed, admin-editable
  Settings card — swaps the live client with no restart. config.yaml is
  used to seed the database once on first boot after upgrading.
- New Security settings: session TTL, login lockout policy, and a real
  "require 2FA for admins" enforcement (requireTOTPEnrolled middleware)
  that blocks non-enrolled admins from everything but /profile and logout.
- New org-wide default preferences (theme/accent/look/landing page) for
  brand-new accounts, plus a personal landing-page picker and an
  email-me-alerts opt-in on Profile.
- Storage page: separate Local vs Shared/External storage tables and
  capacity donuts, fixing shared-storage totals that were being summed once
  per node that mounts them (e.g. a 2TB NFS share on 4 nodes read as 8TB).
- RankedBarChart: stop the longest bar's value label wrapping onto two
  lines (recharts auto-wraps LabelList when space is tight).
2026-09-03 22:00:41 +05:30
..
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30
2026-09-03 08:36:04 +05:30