Fimeg
bcd67e04bf
feat: upstream tracking UI + Attention panel + semver classifier
UpstreamTracking page (/settings/upstream):
- Full CRUD: add form, common-stack one-click chips (postgres,
nginx, node, python, redis, docker, go, kubernetes, ubuntu, debian),
table with sync-now / source-link / remove per row
- Drift highlighting: past-EOL rows red, behind-upstream rows amber
- Surfaces last_error and last_synced_at per row
- Wired into App.tsx routes + Settings.tsx quick-action card
AttentionPanel on Dashboard:
- Aggregates offline agents, failed updates, past-EOL software,
recent drift events into one feed
- Severity-ranked (eol > failed > major > offline > minor > patch)
- Renders nothing when state is clean — calm dashboards stay calm
Semver-aware classifier:
- services/upstream/version.go: ParseVersion + CompareVersions +
ClassifyDrift; handles messy versions (15.4, v1.27.3,
1.0.0-rc1+meta, 20231130-1.fc40)
- SemVer convention: release > prerelease (empty suffix wins)
- Replaces lexicographic compare in syncer
Settings page cleanup:
- Drop "System Configuration — coming soon" dead card
- Drop "Implementation Status" yellow-box fluff
- Fix broken Tailwind autoRefresh toggle (dynamic class wouldn't JIT)
|
2026-05-23 15:18:47 -04:00 |