Updates says "You're up to date" when the system update check failed #72

Closed
opened 2026-10-13 19:46:47 +08:00 by Breadway · 2 comments
Owner

How it was found: clicking through the 98be903 build in a headless BOS live VM on 2026-10-13. The live image has no synced pacman databases. The Updates page showed a green tick and "You're up to date - System and bread apps are current", and directly below that "Couldn't check system updates: warning: database file for 'core' does not exist...".

Confidence: high. Updates.svelte line ~110 picks the hero state only from total === 0. It ignores status.pacman_error (shown separately at line ~144). A failed check counts as zero updates.

Bug: when the pacman check fails (no network, mirror down, missing db, lock held), the hero tells the user they are current. That is false reassurance about security updates. The same applies if the bakery check fails.

Fix: when status.pacman_error (or a bakery error) is set, show a "Couldn't check for updates" hero with Check again, and the error text, instead of the up-to-date state.

Minor, same page: Firmware shows "Install firmware updates" as a primary button even when "No parts of this computer can update their firmware from here". Disable or hide it when there is nothing to install.

**How it was found:** clicking through the 98be903 build in a headless BOS live VM on 2026-10-13. The live image has no synced pacman databases. The Updates page showed a green tick and "You're up to date - System and bread apps are current", and directly below that "Couldn't check system updates: warning: database file for 'core' does not exist...". **Confidence:** high. Updates.svelte line ~110 picks the hero state only from `total === 0`. It ignores `status.pacman_error` (shown separately at line ~144). A failed check counts as zero updates. **Bug:** when the pacman check fails (no network, mirror down, missing db, lock held), the hero tells the user they are current. That is false reassurance about security updates. The same applies if the bakery check fails. **Fix:** when `status.pacman_error` (or a bakery error) is set, show a "Couldn't check for updates" hero with Check again, and the error text, instead of the up-to-date state. **Minor, same page:** Firmware shows "Install firmware updates" as a primary button even when "No parts of this computer can update their firmware from here". Disable or hide it when there is nothing to install.
Author
Owner

PR: #79

PR: https://git.breadway.dev/Breadway/bos-settings/pulls/79
Author
Owner

Reviewed and merged (PR #79, merge 44cf2f1). Verified: merge tree 269f778 is identical to the reviewed head a0ae30a, which was built on main d432319. Reviewer ran svelte-check 0/0, npm test incl. updateHero.test (failed check is never 'up to date'; pending still offered on partial failure), build, fmt, clippy, cargo test 179 on that exact tree, and CI check was green.

Reviewed and merged (PR #79, merge 44cf2f1). Verified: merge tree 269f778 is identical to the reviewed head a0ae30a, which was built on main d432319. Reviewer ran svelte-check 0/0, npm test incl. updateHero.test (failed check is never 'up to date'; pending still offered on partial failure), build, fmt, clippy, cargo test 179 on that exact tree, and CI check was green.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Breadway/bos-settings#72
No description provided.