Closed bsclifton closed 2 years ago
@rebron Question about VPN state in multi profile situation. Should browser's vpn status(ex, vpn button state) should be per-profile or should be local state?
If user buy VPN with default profile, browser can get credentials within this profile. However, user can't get credentials from another new profile before user login to our premium page again.
If we want to make VPN state globally, credentials should be shared across the profiles Or should we make user login again in new profiles?
Should be per profile and not global.
@bsclifton It would look more attractive if we add a VPN button beside the extension button. It will be easy to access plus more people can use it easily.i.e noncoders. etc And we can also give premium Vpn to Users with rewards. This way users can view more ads and can create revenue indirectly. Thanks!
@starboyvarun here's where it shows now:
When clicked, a UI will popup where you can interact with:
Good call on the VPN w/ Rewards. We're exploring that for sure - after we get this main use-case working, we intend to look at this 😄
@bsclifton yea, it's in a perfect position. Thanks for taking the suggestions.
PASSED
using1.39.89
& 1.39.100
macOS-x64/Intel 11.6.5 (Big Sur)
release
-channel builds, so VPN was not testable using the RC:
Brave | 1.39.109 Chromium: 102.0.5005.50 (Official Build) (x86_64)
-- | --
Revision | f6e2cf8f59ec714bdcff8499991d55898875f287-refs/branch-heads/5005@{#648}
OS | macOS Version 11.6.6 (Build 20G624)
SKU flags |
no VPN flag |
---|---|
WebTorrents support
) - PASSEDVerified on macOS arm64/M1 with
Brave | 1.39.89 Chromium: 101.0.4951.41 (Official Build) beta (arm64)
-- | --
Revision | 93c720db8323b3ec10d056025ab95c23a31997c9-refs/branch-heads/4951@{#904}
OS | macOS Version 12.3.1 (Build 21E258)
Encountered the following issues during testing (where not otherwise referenced in below cases):
Brave | 1.39.96 Chromium: 101.0.4951.54 (Official Build) beta (arm64)
-- | --
Revision | 67da1aeb32cedd27634ca6634fb79cbd85d3f0ab-refs/branch-heads/4951@{#1126}
OS | macOS Version 12.3.1 (Build 21E258)
Brave | 1.39.101 Chromium: 101.0.4951.64 (Official Build) beta (arm64)
-- | --
Revision | d1daa9897e1bc1d507d6be8f2346e377e5505905-refs/branch-heads/4951@{#1208}
OS | macOS Version 12.3.1 (Build 21E258)
Brave | 1.39.106 Chromium: 101.0.4951.67 (Official Build) beta (arm64)
-- | --
Revision | 8888ee7a24e2c36661ddb9536c35b7d4852a3a98-refs/branch-heads/4951@{#1230}
OS | macOS Version 12.3.1 (Build 21E258)
Brave | 1.40.73 Chromium: 102.0.5005.61 (Official Build) dev (arm64)
-- | --
Revision | 0e59bcc00cc4985ce39ad31c150065f159d95ad3-refs/branch-heads/5005@{#819}
OS | macOS Version 12.3.1 (Build 21E258)
Verification PASSED on
Brave | 1.39.96 Chromium: 101.0.4951.54 (Official Build) beta (64-bit)
-- | --
Revision | 67da1aeb32cedd27634ca6634fb79cbd85d3f0ab-refs/branch-heads/4951@{#1126}
OS | Windows 10 Version 21H2 (Build 19044.1645)
Encountered and logged the following issues:
VPN status doesn't show the connected state when brave is auto-upgraded #23080 VPN can't be reconnected in the same session when internet/wifi is disconnected and reconnected #23081
WebTorrents support
) - PASSEDVerification Complete
using
Brave | 1.39.101 Chromium: 101.0.4951.64 (Official Build) beta (64-bit)
-- | --
Revision | d1daa9897e1bc1d507d6be8f2346e377e5505905-refs/branch-heads/4951@{#1208}
OS | Windows 11 Version 21H2 (Build 22000.613)
Filed bugs:
Brave | 1.40.70 Chromium: 102.0.5005.50 (Official Build) beta (64-bit)
-- | --
Revision | f6e2cf8f59ec714bdcff8499991d55898875f287-refs/branch-heads/5005@{#648}
OS | Windows 11 Version 21H2 (Build 22000.675)
Brave | 1.40.75 Chromium: 102.0.5005.61 (Official Build) beta (64-bit)
-- | --
Revision | 0e59bcc00cc4985ce39ad31c150065f159d95ad3-refs/branch-heads/5005@{#819}
OS | Windows 11 Version 21H2 (Build 22000.675)
Encountered same issue with Australian region #https://github.com/brave/brave-browser/issues/22882
Test plan (and issues)
Test cases capture the issues that they fix in each section
Marked as
release-notes/exclude
since this is still behind a flag (defaulted to off); we'll need to change that behavior to make the feature customer facing.Related resources
Steps to enable the VPN functionality (do on fresh profile before testing)
This is a pre-requisite step; this has to be done before any tests are attempted.
brave://flags/#skus-sdk
to ENABLEDbrave://flags/#brave-vpn
to ENABLEDbrave://flags/#skus-environment
to DEVELOPMENTVPN button and entry in hamburger menu
Verify the button is visible
VPN
button (next to hamburger button)Brave VPN
entry in hamburger menuContext menu behavior
Hide VPN button from toolbar
from the context menu and verify the button is hiddenBrave VPN
, and chooseShow VPN button in toolbar
. Verify button shows againBrave VPN
, and chooseHide VPN button in toolbar
. Verify button is hiddenBrave VPN
, and chooseShow VPN button in toolbar
Theming behavior
Brave Premium login
Purchasing VPN with a new account
4111 1111 1111 1111
/12/24
for example - or see https://stripe.com/docs/testing?numbers-or-method-or-token=card-numbers#visa)Complete your purchase to begin using Brave VPN
)Refresh Brave VPN
button and you should see green text sayingYOU HAVE ACTIVE CREDENTIALS LOADED!
VPN
button (top right by hamburger) and you should see the on/off toggle and your default regionLogin to an existing account which has VPN
Purchasing VPN with a new account
), visit https://account.brave.software (Development) and sign into the same accountComplete your purchase to begin using Brave VPN
)Refresh Brave VPN
button and you should see green text sayingYOU HAVE ACTIVE CREDENTIALS LOADED!
VPN
button (top right by hamburger) and you should see the on/off toggle and your default regionOS integration
Toggle VPN in operating system (with Brave open)
VPN settings
to get thereSettings
>Networking
BraveVPN
connectionToggle VPN in operating system (with Brave closed)
VPN settings
to get thereSettings
>Networking
BraveVPN
connectionVisible user interface
Notes before testing
Please refer to the Figma as you test: https://www.figma.com/file/qtMYwoj3JWJO5xzwLt6j2f/Desktop-VPN
This should be accurate and captures expected look and feel for both light and dark mode (we'll want to test both).
Purchase entry points
This would be on a fresh profile after enabling the VPN feature
Brave VPN
in the hamburger menuPost-purchase UX
Default region selection
Brave Premium login
>Login to an existing account which has VPN
Verify connecting works and connected/unconnected state shows properly
Brave Premium login
>Login to an existing account which has VPN
Brave VPN
and ensure toggle there shows as connectedBrave VPN
macOS - Handle no permission to write config
Settings
>Networking
and remove any occurrences ofBrave VPN
Don't allow
Error message - VPN Connection not allowed
in FigmaVerify you can change regions
Brave Premium login
>Login to an existing account which has VPN
>
arrow. Click that to show regionsSetttings
Brave Premium login
>Login to an existing account which has VPN
Contact technical support
opens a new screen; you can go back from that)Creating a support ticket
Brave Premium login
>Login to an existing account which has VPN
Contact technical support
Edge cases and error states
Can't connect to server UI
Brave Premium login
>Login to an existing account which has VPN
Try again
buttonPreferences
Show VPN button
Original issue description
Overall goal is to implement a VPN manager within Brave that can create connection, connect, disconnect, and remove a connection. The connection will show in the OS's VPN area for OSes that support that
History (pathfinding, proof of concept info, etc) available in the employee only issue: https://github.com/brave/internal/issues/729
Android is currently a WIP which is tracked with https://github.com/brave/brave-browser/issues/12197 and https://github.com/brave/brave-browser/issues/14048 - development done by @deeppandya
iOS is already live; please see https://github.com/brave/brave-ios/issues/2739 along with https://github.com/brave/brave-ios/pulls?q=is%3Apr+VPN+is%3Aclosed+sort%3Aupdated-desc
Subtasks not covered in test plan