Repository navigation
update: stage the complete release while Home runs, then stop once (#108, #110) - #246
Merged
Merged
Conversation
This was referenced Oct 5, 2026
The controller stopped Home before fetching, so System showed 'Reconnecting...' during the download and a network loss restarted Home for nothing. Runtime now downloads, verifies and prepares the complete signed release (binary, components and changed support) while Home keeps running, journals the support set for recovery, and only then stops Home, activates and restarts it once. System shows download size and verification progress, and plain messages for no network, cancelled passkey and refused releases (Sasha's #110 findings 1, 3, 4). Written by a Codex session (gpt-6.1-sol).
Review fixes: staging skips home components that have no build for this platform (as setup does), so macOS updates are not refused; the recovery plan records its support path set so a restored release verifies against the same paths and the previous Home restarts; and activation checks the journaled support originals before any release file is renamed. Written by a Codex session (gpt-6.1-sol).
The candidate reads the journal its older controller wrote; that plan has no support_paths, and the strict parser refused it, so every update into this release would have rolled back. Default the field and omit it when empty. Found by the Claude review.
andersalm
force-pushed
the
fix/108-stage-before-stop
branch
from
October 6, 2026 00:00
bddbe69 to
88bad64
Compare
This was referenced Oct 6, 2026
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.
Part of #89, #108, #110. Sasha's findings 1, 3 and 4 on #110 (comment 6000349836): the controller stopped Home before downloading, so System showed 'Reconnecting…' during the 88 MB download and a network loss restarted Home for nothing.
Runtime now downloads, verifies and prepares the complete signed release (binary, components.json and changed support files) while Home keeps running, records the support set in the recovery journal, and only then stops Home, activates and restarts it once. Any failure before activation leaves Home running and unchanged; a failed start still restores the previous release. System shows the download size and verification progress, and plain messages for no network ('Home could not reach the update source…'), a cancelled passkey ('You cancelled the update. Home is unchanged.') and a refused release, with no raw error text.
Net +1,485 lines (production about +820, tests about +665). Targeted tests: home_update:: 15, stage_before_stop 1, staged_support 4, update_controller 55, install_transaction 54, System JS 24. Overlaps #244 in install_transaction.rs and update.rs; whichever merges second rebases. Written by a Codex session; Claude review.