Repository navigation
Reconnect the VPNs that were up after an update - #52
Merged
Merged
Conversation
The installer stops the service, which closes every tunnel, and nothing brought them back. The app now records which VPNs are up and how they were connected (ids and options only, never a secret) and, at the first launch of a new version shortly after, connects them again through the usual path. The service tells its watchers it is stopping (new `stopping` event and feature), so the sessions it closes then are not taken for disconnections by their users. Sparkle's willInstallUpdate does the same before the app is quit for the installer, and keeps that quit from disconnecting. Settings > General: "Reconnect VPNs after an update", on by default. Adds the app's first unit tests (swift test, also in CI). Refs #49 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GarageDeveloper
force-pushed
the
reconnect-after-update
branch
from
October 30, 2026 15:31
51fa3b5 to
6999854
Compare
Merged
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.
Closes #49 (option A).
Installing an update stops the service, which closes every tunnel. Until now nothing brought them back.
stoppingevent, with a matching feature flag, tells watchers that the sessions it closes next were not ended by their users. Without it, the app would record those sessions as disconnected.willInstallUpdateholds the record before the app is quit for the installer, and keeps that quit from disconnecting the VPNs.swift test, which is now part of CI.Out of scope: the update that installs this version reconnects nothing, because the app it replaces records nothing.
Manual test: install a package, connect VPNs, then install one that differs only in its version; the VPNs come back.
🤖 Generated with Claude Code