Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ExpressVPN loses settings when updated through Homebrew #190293

Open
3 of 6 tasks
martimlobao opened this issue Oct 30, 2024 · 5 comments
Open
3 of 6 tasks

ExpressVPN loses settings when updated through Homebrew #190293

martimlobao opened this issue Oct 30, 2024 · 5 comments

Comments

@martimlobao
Copy link
Contributor

Verification

Description of issue

When updating ExpressVPN using brew upgrade, ExpressVPN behaves as if it is a fresh install, meaning all settings and preferences are lost when I reopen ExpressVPN and I need to sign in again.

Command that failed

n/a

Output of command with --verbose --debug

n/a

Output of brew doctor and brew config

❯ brew doctor
Your system is ready to brew.

❯ brew config                                                                                                             
HOMEBREW_VERSION: 4.4.3-18-g6469a24
ORIGIN: https://github.com/Homebrew/brew
HEAD: 6469a24e4617d1c04545116774cb201d5b00b71e
Last commit: 7 hours ago
Core tap JSON: 30 Oct 11:31 UTC
Core cask tap HEAD: 5c838993893050851dbda764815bd9f23a6632ae
Core cask tap last commit: 61 minutes ago
Core cask tap JSON: 30 Oct 11:31 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_EDITOR: nano
HOMEBREW_MAKE_JOBS: 8
HOMEBREW_SORBET_RUNTIME: set
Homebrew Ruby: 3.3.5 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.5/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 16.0.0 build 1600
Git: 2.47.0 => /opt/homebrew/bin/git
Curl: 8.7.1 => /usr/bin/curl
macOS: 15.0.1-arm64
CLT: 16.0.0.0.1.1724870825
Xcode: N/A
Rosetta 2: false

Output of brew tap

❯ brew tap
homebrew/bundle
homebrew/cask
pantsbuild/tap
rcmdnk/file
@yunhao-jiang
Copy link
Contributor

yunhao-jiang commented Oct 31, 2024

Seems like right now the uninstall script will run during update which may cause the removal of user configurations.

script:    {
              executable: "/Applications/ExpressVPN.app/Contents/Resources/uninstall.tool",
              input:      ["Yes"],
              sudo:       true,
            }

Does this app auto updates itself? (ie., the app will check for update upon opening and ask you if you want to update or alike)
Looks like yes according to their article, but I never used this app so would like a confirmation.

@martimlobao
Copy link
Contributor Author

@yunhao-jiang I believe it does but a) I've never actually had it auto-update since I've always had Homebrew update it first and b) there was a PR #144246 to remove auto-update last year and a related discussion #143794 though it seems to have been working as intended #143793.

@yunhao-jiang
Copy link
Contributor

@martimlobao Thanks for the references. It seems the removal of auto-update is prior to the software actually supports the auto update, which make sense. I think we could add it back so that brew upgrade will ignore this.
By looking at the uninstallation scripts that ExpressVPN provided, it seems they will perform a "zap" like action that removes all user files.

I guess the best fix for this as for now is to add the auto_updates back and let the application handle the update on their own. It is certainly possible to reimplement what's inside their uninstall.tool and leave out the user files, but it would be hard for us to sync if they update their script. Plus, running this script seems to be the official way of uninstallation.

These are my two cents.

@krehel
Copy link
Member

krehel commented Nov 1, 2024

The uninstaller does look as it removes everything so the uninstall should be rewritten to only remove necessary files for upgrade and push the uninstall script to the zap, similar to private-internet-access IMHO.

I'll get around to this, (if someone else wants to first, feel free) but it may take me a day or two and I will need a willing tester as I don't use ExpressVPN.

@martimlobao
Copy link
Contributor Author

@krehel happy to serve as a tester if you need me

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

No branches or pull requests

3 participants