secubox-openwrt/package/secubox/luci-app-crowdsec-dashboard/root/usr
CyberMind-FR b99dabaca9 feat(ui): Add progressive freshness indicators to dashboards
Add visible "Updated Xs ago" timestamps and freshness indicators to
make cached stats look more alive and help users know data currency.

Backend changes:
- luci.metrics: Add _freshness metadata (age, fresh, timestamp_epoch)
  to overview, waf_stats, and connections responses
- luci.crowdsec-dashboard: Add _freshness metadata to get_overview
  response using sed injection into cached JSON

Frontend changes:
- metrics/dashboard.js: Display freshness indicator (green/yellow/red)
  in header, animate value changes with flash effect
- crowdsec-dashboard/overview.js: Display freshness indicator next to
  running badge, update on poll

Shared utilities (kiss-theme.js):
- formatAge(seconds): Format "Xs ago", "Xm ago", "Xh ago"
- getFreshnessClass(age): Return fresh/recent/stale based on age
- getFreshnessColor(class): Return #00c853/#ff9800/#f44336
- freshnessIndicator(age, id): Create indicator DOM element
- updateFreshness(age, id): Update existing indicator

Freshness thresholds:
- Fresh (green): < 15s for metrics, < 30s for CrowdSec
- Recent (yellow): < 45s for metrics, < 90s for CrowdSec
- Stale (red): > threshold

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-20 11:05:01 +01:00
..
libexec/rpcd feat(ui): Add progressive freshness indicators to dashboards 2026-03-20 11:05:01 +01:00
sbin feat(security): Implement SysWarden Evolution #1-3 security enhancements 2026-02-20 20:11:24 +01:00
share feat(security): Implement SysWarden Evolution #1-3 security enhancements 2026-02-20 20:11:24 +01:00