Skip to content
This repository was archived by the owner on Feb 24, 2025. It is now read-only.

Conversation

@diegoreymendez
Copy link
Contributor

@diegoreymendez diegoreymendez commented Aug 14, 2023

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

Description

Addresses design adjustments requested for the new Network Protection onboarding views.

Work done:

  • Update to the latest design changes
  • Update to the latest assets
  • Update to the latest copy
  • The Allow-VPN step will now only trigger if the user disallows creating the VPN configuration.
  • BigSur-specific onboarding screenshot

Scope:

Address design feedback. Nothing outside of design feedback is in scope for this PR.

The only design change we should validate technically is the BigSur vs Ventura onboarding screenshot changes.

Screenshots

This is the onboarding screen showing the relevant screenshot that changes between macOS versions.

Screenshot 2023-08-14 at 19 13 44
BigSur Ventura and later

Testing:

This PR will be accompanied by a design-review build, so I'd encourage the technical reviewer to focus on the logical changes mainly (and not so much on coloring, fonts, spacing, etc).

To test this you need to enable NetP by going into Settings > About and tapping 12 times in the version number to insert an invite code.

  1. Restart Network Protection to start fresh (Debug Menu > Network Protection > Reset Network Protection State).
  2. Open the NetP popover
  3. The allow-system-extension onboarding step view should be shown in the popover.
  4. After allowing the extension, allow-vpn-configuration onboarding step view should NOT be shown.
  5. Do not allow the app to create the VPN configuration.
  6. The allow-vpn-configuration onboarding step view should be shown in the NetP popover.
  7. Follow the instructions and ensure the onboarding view goes away once the setup is complete.

Internal references:

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

@diegoreymendez diegoreymendez changed the title Trying git reset --soft Design adjustments for Network Protection onboarding views Aug 14, 2023
@diegoreymendez diegoreymendez self-assigned this Aug 14, 2023
@diegoreymendez diegoreymendez marked this pull request as ready for review August 14, 2023 15:04
Comment on lines -278 to +283
onboardingStatusRawValue = OnboardingStatus.isOnboarding(step: .userNeedsToAllowVPNConfiguration).rawValue
// We'll only update to completed if we were showing the onboarding step to
// allow the system extension. Otherwise we may override the allow-VPN
// onboarding step.
if onboardingStatusRawValue == OnboardingStatus.isOnboarding(step: .userNeedsToAllowExtension).rawValue {
onboardingStatusRawValue = OnboardingStatus.completed.rawValue
}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is based on design feedback.

Previous onboarding logic:

  • Show "Allow system extension"
  • Show "Allow vpn configuration"
  • Completed

Current onboarding logic:

  • Show "Allow system extension"
  • Dismiss onboarding view (ie: mark completed if the system-extension variant of it was shown)
  • Show "Allow VPN configuration" only if the user disallows it
  • Dismiss all onboarding views on successful completion.

@diegoreymendez
Copy link
Contributor Author

@ayoy - Could I ask you to check the BigSur assets look fine for this PR? For checking the BigSure assets it's enough to do test steps 1 through 3.

.allowSysexScreenshotBigSur: "allow-sysex-screenshot-bigsur"
]

XCTAssertEqual(assetsAndExpectedRawValues.count, NetworkProtectionAsset.allCases.count)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This line is a quick way to ensure any new case added to the enum is accounted for here.


for (asset, rawValue) in assetsAndExpectedRawValues {
XCTAssertEqual(asset.rawValue, rawValue)
XCTAssertNotNil(Image(rawValue, bundle: .module))
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We're also now making sure that the actual assets are present in the bundle.

Copy link
Collaborator

Choose a reason for hiding this comment

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

The spaces in this filename are freaking me out 😂 I don't think I have any good reason to be freaked out, just paranoia.

Copy link
Collaborator

@samsymons samsymons left a comment

Choose a reason for hiding this comment

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

For the happy path this is working very well for me.

As discussed on MM I have an issue where this breaks in the case where you dismiss the prompt without actually clicking "Allow" - I've done a couple clean builds and still see this behaviour.

Tbh, if you're not able to reproduce it then I think it's fine to merge and just keep an eye on this issue, we can worry about it if we see any user reports. It's not like the button not working is a blocker anyway, the UI still shows the user how to proceed, so it's a net improvement.

@diegoreymendez diegoreymendez requested review from graeme and removed request for ayoy and graeme August 15, 2023 08:05
@diegoreymendez
Copy link
Contributor Author

I'm momentarily pulling this back from review, as there's more design feedback.

@diegoreymendez diegoreymendez merged commit f1d1284 into diego/feature-network-protection-onboarding Aug 18, 2023
@diegoreymendez diegoreymendez deleted the diego/netp-new-onboarding-3 branch August 18, 2023 08:34
diegoreymendez added a commit that referenced this pull request Aug 23, 2023
Task/Issue URL: https://app.asana.com/0/0/1205301030177476/f

## Description:

Implements the new onboarding for Network Protection.

## Incremental PR reviews

This is a list of the individual PRs (and reviews) that make up this
feature:
- #1464
- #1466
- #1474
- #1484
- #1502
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants