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

Try to refresh subs credential on startup #15840

Merged
merged 1 commit into from
Nov 8, 2022

Conversation

simonhong
Copy link
Member

@simonhong simonhong commented Nov 8, 2022

Resolves brave/brave-browser#26607

If cached credential is expired at startup, current user could be
purchased user but it could be expired while terminated.
So, trying to refresh credential by reloading purchased state at
startup.

Submitter Checklist:

  • I confirm that no security/privacy review is needed, or that I have requested one
  • There is a ticket for my issue
  • Used Github auto-closing keywords in the PR description above
  • Wrote a good PR/commit description
  • Squashed any review feedback or "fixup" commits before merge, so that history is a record of what happened in the repo, not your PR
  • Added appropriate labels (QA/Yes or QA/No; release-notes/include or release-notes/exclude; OS/...) to the associated issue
  • Checked the PR locally: npm run test -- brave_browser_tests, npm run test -- brave_unit_tests, npm run lint, npm run gn_check, npm run tslint
  • Ran git rebase master (if needed)

Reviewer Checklist:

  • A security review is not needed, or a link to one is included in the PR description
  • New files have MPL-2.0 license header
  • Adequate test coverage exists to prevent regressions
  • Major classes, functions and non-trivial code blocks are well-commented
  • Changes in component dependencies are properly reflected in gn
  • Code follows the style guide
  • Test plan is specified in PR before merging

After-merge Checklist:

Test Plan:

BraveVPNServiceTest.CheckInitialPurchasedStateTest

Manual test - As it's hard to wait till cached credential is expired, modifying user data would be much easier for testing.

  1. Launch Brave and prepare as purchased user
  2. Terminate and modify brave.brave_vpn.subscriber_credential.expiration from Local State file at user dir - change it to lower value (ex, delete least digit)
  3. Launch Brave again and wailt several minutes for giving sufficient refreshing time
  4. Open vpn panel and check vpn panel shows main page

@simonhong simonhong self-assigned this Nov 8, 2022
fix brave/brave-browser#26607

If cached credential is expired at startup, current user could be
purchased user but it could be expired while terminated.
So, trying to refresh credential by reloading purchased state at
startup.
@simonhong simonhong marked this pull request as ready for review November 8, 2022 05:21
@simonhong simonhong force-pushed the brave_vpn_try_credential_refresh_on_startup branch from 1628983 to be62767 Compare November 8, 2022 05:22
Copy link
Contributor

@spylogsster spylogsster left a comment

Choose a reason for hiding this comment

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

++

@simonhong simonhong merged commit 9d82c85 into master Nov 8, 2022
@simonhong simonhong deleted the brave_vpn_try_credential_refresh_on_startup branch November 8, 2022 11:10
@simonhong simonhong added this to the 1.47.x - Nightly milestone Nov 8, 2022
brave-builds pushed a commit that referenced this pull request Nov 9, 2022
@stephendonner
Copy link
Contributor

stephendonner commented Nov 9, 2022

Verified PASSED using

Brave 1.47.56 Chromium: 107.0.5304.91 (Official Build) nightly (x86_64)
Revision 3d5948960d62418160796d5831a4d2d7d6c90fa8-refs/branch-heads/5304@{#1097}
OS macOS Version 11.7.1 (Build 20G918)

Steps:

  1. installed 1.47.56
  2. launched Brave
  3. opened brave://flags
  4. set brave://flags#brave-vpn to Enabled
  5. relaunched Brave
  6. loaded account.bravesoftware.com
  7. entered username/password from 1PW
  8. used [email protected], clicked Get login link
  9. clicked the link in the email
  10. clicked Browse plans
  11. scrolled down
  12. clicked on Buy now for Brave VPN Subscription
  13. completed the Stripe purchase flow
  14. confirmed I could connect to the VPN
  15. shut down Brave
  16. disconnected from the BraveVPN connection
  17. opened Local State from my user profile
  18. edited the value for brave.brave_vpn.subscriber_credential.expiration, from 13312583928000000 to 133125839280000 by deleting the last 2 0 numbers
  19. relaunched Brave
  20. confirmed I could connect to VPN (had to click the Retry button)
Local State Brave VPN connected
Screen Shot 2022-11-09 at 1 35 43 PM Screen Shot 2022-11-09 at 1 41 37 PM

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.

VPN subscriber credential is not refreshed on startup till panel is opened
3 participants