Update-path fixes + docs sync for 0.5.1 - #40
Merged
Conversation
…tall, show phases, surface errors inline (Refs #38) Three holes made the button untrustworthy: - Success was defined as 'brew exited 0'. Every skip/no-op path exits 0, so RunUpdate reported success while the bundle never changed. Now: if brew returns without the cask postflight having killed us (a real install kills this process first), read the installed bundle's version and fail loudly when it isn't the target. - Zero feedback for the whole run — the tap refresh alone was observed taking 75 s with a static 'Updating…' label. RunUpdate now emits update_progress (refresh/install) and the banner + About show the phase. - Failures surfaced only as a toast, which renders under the Settings modal. handleUpdate rethrows; the banner and About render the error inline next to the button that failed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…pdate (Refs #38) Homebrew 6 refuses to load casks from untrusted third-party taps — interactively it prompts, but our TTY-less subprocess just gets the error. On 'untrusted tap' failure, trust exactly our own tap and retry once: the user installed from this tap and clicked Update Now, which is the consent that prompt exists to collect. Also HOMEBREW_NO_AUTO_UPDATE on the upgrade step — we already ran brew update ourselves. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- README (en/ko): Linux graduates into the platform badge, install
section (DEB), tested-platforms line and QA note; CLI section gains
ctl start/stop, --json, install-skills; wireguard-go date corrected
to the May 2026 build (stale '57 commits ahead of May 2025' claim
dropped); English README regains the SignPath attribution that
SIGNING-POLICY.md promises it displays.
- CHANGELOG: sync the 0.5.0 entry from main onto this branch; add an
Unreleased section for the update-path fixes that live only here
(install verification + progress + inline errors, Homebrew 6
tap-trust retry, cask auto_updates removal).
- CONTRIBUTING: all three OSes are dev hosts now; project structure
lists internal/{app,wifi,cli,update}; PR checklist points at the
3-OS CI matrix instead of 'test on Apple Silicon'.
- DESIGN.md: helper lifetime matches the RunAtLoad=false /
crash-only-KeepAlive model; pf anchor spelled com.apple/wireguide
(slash) as the code requires; IPC table gains Helper.RequestQuit,
Automation.Preview, event.settings_changed, event.quit and the
Windows named-pipe SID verification; update flow documents
--greedy + post-install verification + tap-trust retry.
- wireguard-app.md: marked as the historical pre-implementation plan
with a pointer to DESIGN.md/README.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
macOS 26.4/Apple Silicon is verified on both Ethernet and Wi-Fi; Windows 11 only on a wired desktop (Wi-Fi paths untested); Linux on Raspberry Pi OS Lite over Wi-Fi (wired untested). Calls out that the gaps mostly affect SSID automation / handover / wired fingerprinting, and asks users who hit errors there to open an issue. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… (Refs #35) The initial project plan (docs/wireguard-app.md) predates the implementation and no longer matches it; rather than maintaining a 'historical document' banner, remove it. Anyone curious can read it at any pre-removal commit. Current architecture lives in docs/DESIGN.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…esting # Conflicts: # CHANGELOG.md
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.
Release PR for 0.5.1 (user-directed). Contains everything on
agent/linux-support-testingsince the 0.5.0 snapshot:Update path (issue #38)
brew upgradeexits 0, the installed bundle's
CFBundleShortVersionStringis verified againstthe target release — a skip/no-op now fails loudly instead of reporting success.
Progress phases (repository refresh / installing) stream to the banner via
update_progressevents, and failures render inline in the banner and theAbout panel instead of a toast hidden under the modal.
untrusted taprefusal triggersbrew trust korjwl1/tap(scoped to exactly our tap) and one retry;HOMEBREW_NO_AUTO_UPDATE=1skips the redundant implicit re-update.Docs
(what's actually exercised per OS/link type), CLI
start/stop/--json/install-skills, wireguard-go date corrected, SignPath attribution restored.com.apple/wireguide, IPC table completed, update-flow verification documented.🤖 Generated with Claude Code