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

Improve VPN uninstallation reliability #2560

Merged
merged 2 commits into from
Apr 8, 2024
Merged

Conversation

samsymons
Copy link
Collaborator

Task/Issue URL: https://app.asana.com/0/1199230911884351/1207011235017033/f
Tech Design URL:
CC:

Description:

This PR adds retry logic to the VPN uninstallation logic.

Without this change, it is trivial to reproduce this issue by doing the following:

  1. Install and start the VPN
  2. Restart the browser
  3. Try to uninstall the VPN via the Debug menu
  4. At this point you will likely get an error modal telling you it failed
  5. Try uninstall it one more time via the Debug menu, and it should work

This PR bakes that retry logic into the uninstallation procedure.

Steps to test this PR:

  1. Sign into a subscription account and start the VPN
  2. Restart the browser
  3. Sign out of your subscription account, and verify that the VPN configuration has been removed from System Settings

Internal references:

Pull Request Review Checklist
Software Engineering Expectations
Technical Design Template
Pull Request Documentation

@samsymons samsymons requested a review from diegoreymendez April 5, 2024 22:33
@samsymons samsymons changed the base branch from main to release/1.82.0 April 5, 2024 23:41
@samsymons samsymons force-pushed the sam/retry-vpn-uninstallation branch from ef28a9b to 8df7569 Compare April 5, 2024 23:43
@samsymons samsymons force-pushed the sam/retry-vpn-uninstallation branch from 8df7569 to c8b838a Compare April 5, 2024 23:46
@samsymons samsymons requested a review from quanganhdo April 6, 2024 02:49
Copy link
Member

@quanganhdo quanganhdo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM & tested on my machine. Should we report attemptNumber to see if the VPN configuration ends up being removed?

@samsymons samsymons changed the base branch from release/1.82.0 to main April 8, 2024 17:08
@samsymons
Copy link
Collaborator Author

That's a good question. To be honest we likely should have a pixel here to tell us when this is actually happening for users. I won't do it in this PR, but good suggestion.

* main: (22 commits)
  Removes last instance of NETWORK_PROTECTION flag (#2573)
  Bye bye NETWORK_PROTECTION (#2509)
  QWD: Enable Hide/Show for Autofill Credit Card Number and CVV (#2539)
  Removed the VPN waitlist beta pixels (#2555)
  VPN: Cleanup authorize call (#2565)
  Revert "VPN: Cleanup authorize call (#2553)"
  VPN: Cleanup authorize call (#2553)
  Improves underlying error pixel information (#2543)
  Fixes the VPN restarting logic on update (#2545)
  fix download save panel disappearing on navigation (#2549)
  Add CI support for handling installation attribution (#2502)
  Fix usertext comment to ensure it matches localizable string (#2546)
  Update Neighbor Report (#2542)
  DBP: Compare by url and not name (#2544)
  Adds a series of UI tests for Bookmarks Bar visibility
  Improve Handling of noData Import Errors (#2494)
  Use the default action button style for VPN onboarding (#2529)
  Closing empty tabs after download (#2510)
  Add Web UI loading state pixels (#2531)
  fix localization warnings (#2288)
  ...
@samsymons samsymons merged commit 36844f9 into main Apr 8, 2024
17 checks passed
@samsymons samsymons deleted the sam/retry-vpn-uninstallation branch April 8, 2024 17:29
samsymons added a commit that referenced this pull request Apr 8, 2024
…flagger

# By Diego Rey Mendez (7) and others
# Via GitHub
* main:
  Automatically close VPN popover when the app goes into the background (#2562)
  Fix last known VPN crash and missing IPC registration (#2579)
  Create a new window when making a feedback form if necessary (#2563)
  Improve VPN uninstallation reliability (#2560)
  Removes last instance of NETWORK_PROTECTION flag (#2573)
  Bye bye NETWORK_PROTECTION (#2509)
  QWD: Enable Hide/Show for Autofill Credit Card Number and CVV (#2539)
  Removed the VPN waitlist beta pixels (#2555)
  VPN: Cleanup authorize call (#2565)
  Revert "VPN: Cleanup authorize call (#2553)"
  VPN: Cleanup authorize call (#2553)
  Improves underlying error pixel information (#2543)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
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.

2 participants