From e3f8a2579a533cbdde2a3949690eb742b0f340ba Mon Sep 17 00:00:00 2001 From: naturallaw77 Date: Wed, 9 Sep 2026 12:28:28 +0000 Subject: [PATCH] hub: don't claim the OS "keeps itself current" on the dashboard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The welcome dashboard's updates card showed "Sovran_SystemsOS keeps itself current" whenever no updates were pending. Nothing in the OS auto-updates: the Hub only *checks* for updates (on load and every 30 minutes while the Hub is open); applying an update is a manual "Update System" action followed by a reboot. The sub-line promised behavior that does not exist. Tie "up to date" to the last check instead ("Last check found no updates · Click to check again"), matching the actionable phrasing of the card's other states ("Click to review and update", "Click to retry the update"). Also add a "Checking for updates" state for the first paint, so the card never claims "up to date" before the first /api/updates/check has returned. --- app/sovran_systemsos_web/static/js/dashboard.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/sovran_systemsos_web/static/js/dashboard.js b/app/sovran_systemsos_web/static/js/dashboard.js index 56a5c66..831a762 100644 --- a/app/sovran_systemsos_web/static/js/dashboard.js +++ b/app/sovran_systemsos_web/static/js/dashboard.js @@ -285,8 +285,14 @@ updTitle = "Update in progress"; updSub = "Installing the new system generation"; updChip = "chip-amber"; } else if (upd && upd.available) { updTitle = "Updates available"; updSub = "Click to review and update"; updChip = "chip-amber"; + } else if (!upd) { + /* First check hasn't returned yet — never claim "up to date" before + a check has actually completed */ + updTitle = "Checking for updates"; updSub = "Comparing with the latest Sovran_SystemsOS release"; updChip = "chip-green"; } else { - updTitle = "System is up to date"; updSub = "Sovran_SystemsOS keeps itself current"; updChip = "chip-green"; + /* Updates are applied by the user, not automatically — the card must + not imply the OS updates itself */ + updTitle = "System is up to date"; updSub = "Last check found no updates · Click to check again"; updChip = "chip-green"; } more += '
' +