Repository navigation
feat(update): robust auto-update and package-manager installs (#144) - #150
Merged
Merged
Conversation
- Network: an unreadable release feed or an unknown publish state is an error, never a silent fallback to Stable or an older build; retries and connect timeouts on metadata; downloads guarded by a stall check and resumable instead of a 120 s cap. - App replacement never leaves no app: macOS keeps the old bundle until the new one is in place and recovers a killed swap; Linux keeps the previous AppImage; Windows backs up the install dir, verifies the registered version and restores on failure. Staging is cleaned on every error. - Flow: skills and agent setups refresh only after the app sync, with the binary that stays; dev and linked builds are never overwritten; writability checked before anything is replaced; atomic update cache with failure backoff (offline atlas dev no longer waits on every start). - Homebrew and system packages report a managed status; the app no longer says 'up to date' when it installed nothing. - #144: pacman/apt/dnf/zypper installs are detected by package ownership; atlas update --check reports versions; atlas update downloads the matching package, verifies sha256 before escalating, installs with sudo or pkexec, then refreshes skills and agents with the installed binary; the daily notice covers package installs. Closes #144 Signed-off-by: Matheus Vilaça de Jesus <matheus@codeatlas.com.br>
… test (flaked in a parallel run) Signed-off-by: Matheus Vilaça de Jesus <matheus@codeatlas.com.br>
Contributor
Author
|
Merged by an agent at the maintainer's explicit request (mvilacad: "pode mergear"), squash with |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hardens every step of the update path (network, app replacement on macOS/Linux/Windows, post-update order, cache, managed installs) and implements #144. Map of the failure modes it fixes: G1–G11, G13–G15 of the investigation (signing and Intel macOS out of scope).
Tests: stub curl/pacman/dpkg/rpm/sudo/pkexec sandboxes (tests/update_pkg.rs), crash/recovery and failure-path tests for each app installer, network error classification. Real curl resume and NSIS on a real Windows box are not exercised.
Gate:
bun run checkgreen locally.Closes #144