Skip to content

fix(updater): pre-main hardening (dead-branch drop, reclone rung, auto-provision, klipper ownership) - #284

Open
gmmcosta15 wants to merge 6 commits into
devfrom
fix/updater-dead-branch
Open

fix(updater): pre-main hardening (dead-branch drop, reclone rung, auto-provision, klipper ownership)#284
gmmcosta15 wants to merge 6 commits into
devfrom
fix/updater-dead-branch

Conversation

@gmmcosta15

@gmmcosta15 gmmcosta15 commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Description

Select the type:

  • Feature
  • Bug fix
  • Code refactor
  • Documentation

This PR introduces the folowing changes:

  • Dead branch: update_all drops a component whose origin/<branch> no longer resolves instead of aborting the batch, so it can't block BlocksScreen (ordered last) from self-updating.
  • Auto-provision: provision_missing() clones an install_if_missing component (e.g. Spoolman) at startup/poll, not only on a manual Update.
  • Reclone rung: _reclone_component (temp-clone + atomic swap) recovers a repo git_repair can't when local == origin; wired as the deepest rung in the update and boot-reconcile paths.
  • Status: a dead configured branch reports branch origin/<b> not found - fix components.yaml, not a generic error.
  • Config: components.yaml klipper -> master; bs-common.sh disowns klipper from Moonraker's update_manager.
  • Docstrings condensed across the package (no behavior change).

Tests

  • New: TestProvisionMissing (4), TestReclone (5), dead-branch status, Moonraker klipper disown; self-heal reconcile test updated for the reclone rung.

@gmmcosta15 gmmcosta15 self-assigned this Jul 16, 2026
@gmmcosta15
gmmcosta15 requested a review from HugoCLSC July 16, 2026 08:59
…ter; disown klipper from moonraker (fresh installs); actionable dead-branch status
@gmmcosta15 gmmcosta15 changed the title fix(updater): skip a component whose branch was deleted upstream so one dead branch can't brick updates fix(updater): pre-main hardening (dead-branch drop, reclone rung, auto-provision, klipper ownership) Jul 16, 2026
@gmmcosta15
gmmcosta15 marked this pull request as draft July 17, 2026 14:22
@gmmcosta15
gmmcosta15 marked this pull request as ready for review July 21, 2026 09:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant