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

Adds pixels to track main VPN funnels #2543

Merged
merged 6 commits into from
Mar 7, 2024

Conversation

diegoreymendez
Copy link
Contributor

@diegoreymendez diegoreymendez commented Mar 6, 2024

Task/Issue URL: https://app.asana.com/0/0/1206737255908394/f

macOS PR: duckduckgo/macos-browser#2304
BSK PR: duckduckgo/BrowserServicesKit#698

Description

Add pixels to better track all main VPN funnels:

  • VPN Controller Start
  • VPN Tunnel Start
  • VPN Tunnel Update (change location, etc)

Testing

Setup

  • Open Console.app
  • Filter by "Pixel fired"
  • To clear pixels in iOS, uninstall the app.

Test 1: start success

  1. Fully uninstall the VPN or Debug Menu > Network Protection > Reset > Reset All State Keeping Invite
  2. Start the tunnel.
  3. Complete the installation.
  4. Make sure you see these as both daily and count (order of success ones can vary):
  • m_netp_controller_start_attempt
  • m_netp_controller_start_success
  • m_netp_tunnel_start_attempt
  • m_netp_tunnel_start_success

Note: I'm sometimes not seeing m_netp_controller_start_success but when I place a breakpoint it's hit. Not sure what's up with that.

Test 2: controller start failure

  1. Force an error by throwing here.
  2. Fully uninstall the VPN or Debug Menu > Network Protection > Reset > Reset All State Keeping Invite
  3. Start the tunnel. The installation should fail.
  4. Make sure you see these as both daily and count:
  • m_netp_controller_start_attempt
  • m_netp_controller_start_failure (this should include error info)

Test 3: tunnel start failure

  1. Force error by throwing here.
  2. Fully uninstall the VPN or Debug Menu > Network Protection > Reset > Reset All State Keeping Invite
  3. Start the tunnel. The installation should fail.
  4. Make sure you see these as both daily and count:
  • m_netp_controller_start_attempt
  • m_netp_controller_start_success
  • m_netp_tunnel_start_attempt
  • m_netp_tunnel_start_falure (this should include error info)

Test 4: tunnel update success

  1. Start the tunnel.
  2. Once connected change your geolocation.
  3. Make sure you see these as both daily and count:
  • m_netp_tunnel_update_attempt
  • m_netp_tunnel_update_success

Test 5: tunnel update failure

  1. Force an error by throwing here.
  2. Fully uninstall the VPN or Debug Menu > Network Protection > Reset > Reset All State Keeping Invite
  3. Start the tunnel.
  4. Once connected change your geolocation.
  5. Make sure you see these as both daily and count:
  • m_netp_tunnel_update_attempt
  • m_netp_tunnel_update_failure (this should include error info)

Internal references:

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

@github-actions github-actions bot added the bot: not in app board Added by automation for pull requests with tasks not added to iOS App Board Asana project label Mar 6, 2024
@diegoreymendez diegoreymendez self-assigned this Mar 6, 2024
@diegoreymendez diegoreymendez marked this pull request as ready for review March 6, 2024 11:44
@diegoreymendez diegoreymendez requested a review from samsymons March 6, 2024 11:50
@github-actions github-actions bot removed the bot: not in app board Added by automation for pull requests with tasks not added to iOS App Board Asana project label Mar 7, 2024
diegoreymendez added a commit to duckduckgo/BrowserServicesKit that referenced this pull request Mar 7, 2024
Task/Issue URL: https://app.asana.com/0/0/1206737255908394/f

macOS PR: duckduckgo/macos-browser#2304
iOS PR: duckduckgo/iOS#2543

## Description

Add pixels to better track all main VPN funnels.  For BSK this means:
- VPN Tunnel Start
- VPN Tunnel Update (change location, etc)
@diegoreymendez diegoreymendez merged commit 9155824 into release/7.111.0 Mar 7, 2024
13 checks passed
@diegoreymendez diegoreymendez deleted the diego/vpn-controller-pixels branch March 7, 2024 10:55
diegoreymendez added a commit to duckduckgo/macos-browser that referenced this pull request Mar 7, 2024
Task/Issue URL: https://app.asana.com/0/0/1206737255908394/f

iOS PR: duckduckgo/iOS#2543
BSK PR: duckduckgo/BrowserServicesKit#698

## Description

Add pixels to better track all main VPN funnels:
- VPN Controller Start (installation, onboarding)
- VPN Tunnel Start
- VPN Tunnel Update (change location, etc)
samsymons added a commit that referenced this pull request Mar 8, 2024
* main:
  Point to BSK hotfix (#2558)
  Prevent redeeming invite codes after the VPN test ends (#2559)
  Updates Kingfisher to 7.11.0 (#2545)
  Makes network path metadata description anonymous (#2544)
  Adds pixels to track main VPN funnels (#2543)
  Cleanup after rolling out autoconsent enabled by default (#2537)
  Add #URL macro (#2540)
  Handle expired entitlement in NetP (#2525)
  Remove isSubscriptionEnabled check when attempting to delete NetP token (#2548)
  Validate correct environment (#2546)
  Remove CGNAT range (#2524)
  Add preliminary support for subscription keychain sharing (#2538)
  fix opening tabs with transitional (#2542)
  Integrate confirm entitlements endpoint (#2541)
  Makes dbSaveBloomFilterError daily and count (#2526)
  16. Subscription: Display "Activation in progress" message (#2535)
  Autofill support for deleting all passwords  (#2497)
  Bump BrowserServicesKit (#2532)
  Release 7.111.0-0 (#2534)
  if dax dialogs are showing then dismiss (#2506)
samsymons added a commit that referenced this pull request Mar 8, 2024
…-lottie-animation

* sam/vpn-ui-improvements:
  Point to BSK hotfix (#2558)
  Prevent redeeming invite codes after the VPN test ends (#2559)
  Updates Kingfisher to 7.11.0 (#2545)
  Makes network path metadata description anonymous (#2544)
  Adds pixels to track main VPN funnels (#2543)
  Cleanup after rolling out autoconsent enabled by default (#2537)
  Add #URL macro (#2540)
  Handle expired entitlement in NetP (#2525)
  Remove isSubscriptionEnabled check when attempting to delete NetP token (#2548)
  Validate correct environment (#2546)
  Remove CGNAT range (#2524)
  Add preliminary support for subscription keychain sharing (#2538)
  fix opening tabs with transitional (#2542)
  Integrate confirm entitlements endpoint (#2541)
  Makes dbSaveBloomFilterError daily and count (#2526)
  16. Subscription: Display "Activation in progress" message (#2535)
  Autofill support for deleting all passwords  (#2497)
  Bump BrowserServicesKit (#2532)
  Release 7.111.0-0 (#2534)
  if dax dialogs are showing then dismiss (#2506)
samsymons added a commit that referenced this pull request Mar 8, 2024
…n-ui-improvements-3-combine-notification-settings

* sam/vpn-ui-improvements-2-lottie-animation: (22 commits)
  Point to BSK hotfix (#2558)
  Prevent redeeming invite codes after the VPN test ends (#2559)
  Updates Kingfisher to 7.11.0 (#2545)
  Makes network path metadata description anonymous (#2544)
  Adds pixels to track main VPN funnels (#2543)
  Cleanup after rolling out autoconsent enabled by default (#2537)
  Add #URL macro (#2540)
  Handle expired entitlement in NetP (#2525)
  Remove isSubscriptionEnabled check when attempting to delete NetP token (#2548)
  Add dark mode animation.
  Allow the animation intro to be skipped
  Validate correct environment (#2546)
  Remove CGNAT range (#2524)
  Add preliminary support for subscription keychain sharing (#2538)
  fix opening tabs with transitional (#2542)
  Integrate confirm entitlements endpoint (#2541)
  Makes dbSaveBloomFilterError daily and count (#2526)
  16. Subscription: Display "Activation in progress" message (#2535)
  Autofill support for deleting all passwords  (#2497)
  Bump BrowserServicesKit (#2532)
  ...
samsymons added a commit that referenced this pull request Mar 8, 2024
…' into sam/vpn-ui-improvements-4-location-setting-change

# By Sam Symons (4) and others
# Via Sam Symons (3) and others
* sam/vpn-ui-improvements-3-combine-notification-settings: (22 commits)
  Point to BSK hotfix (#2558)
  Prevent redeeming invite codes after the VPN test ends (#2559)
  Updates Kingfisher to 7.11.0 (#2545)
  Makes network path metadata description anonymous (#2544)
  Adds pixels to track main VPN funnels (#2543)
  Cleanup after rolling out autoconsent enabled by default (#2537)
  Add #URL macro (#2540)
  Handle expired entitlement in NetP (#2525)
  Remove isSubscriptionEnabled check when attempting to delete NetP token (#2548)
  Add dark mode animation.
  Allow the animation intro to be skipped
  Validate correct environment (#2546)
  Remove CGNAT range (#2524)
  Add preliminary support for subscription keychain sharing (#2538)
  fix opening tabs with transitional (#2542)
  Integrate confirm entitlements endpoint (#2541)
  Makes dbSaveBloomFilterError daily and count (#2526)
  16. Subscription: Display "Activation in progress" message (#2535)
  Autofill support for deleting all passwords  (#2497)
  Bump BrowserServicesKit (#2532)
  ...

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
samsymons added a commit that referenced this pull request Mar 11, 2024
* main: (28 commits)
  Fix VPN view model memory leak (#2570)
  Bump submodules/privacy-reference-tests from `40ce868` to `a603ff9` (#2500)
  18. Subscription Entitlements caching (#2556)
  Release 7.111.0-2 (#2563)
  Revert "Report Apple Ad attribution using pixel (#2510)" (#2562)
  Vanilla browser integration (#2550)
  Fix blank space after URL bar hides (#2549)
  Release 7.111.0-1 (#2561)
  Point to BSK hotfix (#2558)
  Prevent redeeming invite codes after the VPN test ends (#2559)
  Updates Kingfisher to 7.11.0 (#2545)
  Makes network path metadata description anonymous (#2544)
  Adds pixels to track main VPN funnels (#2543)
  Cleanup after rolling out autoconsent enabled by default (#2537)
  Add #URL macro (#2540)
  Handle expired entitlement in NetP (#2525)
  Remove isSubscriptionEnabled check when attempting to delete NetP token (#2548)
  Validate correct environment (#2546)
  Remove CGNAT range (#2524)
  Add preliminary support for subscription keychain sharing (#2538)
  ...
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