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

Contextual Onboarding Linear #3089

Conversation

alessandroboron
Copy link
Contributor

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

Description:

Show the Contextual linear flow.

Note
I will add tests in a subsequent PR. I wanted to unblock you so you can use this branch.

Steps to test this PR:

  1. Add temporary newInstallCompletion(self) in DefaultVariantManager at line 135
  2. Enable environment variable VARIANT and set value to mb
  3. Delete App from simulator.
  4. Launch App.
  5. Complete Onboarding flow

Definition of Done (Internal Only):

Copy Testing:

  • Use of correct apostrophes in new copy, ie rather than '

Orientation Testing:

  • Portrait
  • Landscape

Device Testing:

  • iPhone SE (1st Gen)
  • iPhone 8
  • iPhone X
  • iPhone 14 Pro
  • iPad

OS Testing:

  • iOS 15
  • iOS 16
  • iOS 17

Theme Testing:

  • Light theme
  • Dark theme

Internal references:

Software Engineering Expectations
Technical Design Template

Copy link

🚫 The Asana task linked in the PR description is not added to iOS App Board project.

  1. Verify that the correct task is linked in the PR.
    • ⚠️ Please use the actual implementation task, rather than the Code Review subtask.
  2. Verify that the task is added to iOS App Board project.
  3. When ready, remove the bot: not in app board label to retrigger the check.

@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 Jul 17, 2024
Copy link
Contributor

@SabrinaTardio SabrinaTardio left a comment

Choose a reason for hiding this comment

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

Linear Flow works as expected!
If you visit a site and then do a search, the search contextual appears and after pressing got it still shows the site suggestion.

I left a comment on this: showNextScreen in OnboardingFirstSearchDoneDialog should be set accordingly to whether a site has been visited or not

let message = NSAttributedString(string: UserText.DaxOnboardingExperiment.ContextualOnboarding.onboardingFirstSearchDoneMessage)
let cta = UserText.DaxOnboardingExperiment.ContextualOnboarding.onboardingGotItButton

@State private var showNextScreen: Bool = false
@State private var shouldFollowUp: Bool = true
Copy link
Contributor

Choose a reason for hiding this comment

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

shouldn’t this come from outside? (based on wether or not a website has already been visited?

@alessandroboron alessandroboron force-pushed the alessandro/contextual-experiment-factory branch from 4a0a337 to df50cb5 Compare July 18, 2024 02:41
Copy link

github-actions bot commented Jul 18, 2024

Warnings
⚠️ PR has more than 500 lines of code changing. Consider splitting into smaller PRs if possible.

Generated by 🚫 dangerJS against 5afa6b9

Copy link
Contributor

@SabrinaTardio SabrinaTardio left a comment

Choose a reason for hiding this comment

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

Works great now! thanks!
I left 2 very minor comments

guard let host = privacyInfo.domain else { return nil }

if privacyInfo.url.isDuckDuckGoSearch {
// If user already performed a search, show after search dialog but don't follow up by suggesting to visit a site.
Copy link
Contributor

Choose a reason for hiding this comment

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

I guess here should be “If user already visited a site..."

try super.setUpWithError()
delegateMock = MockTabDelegate()
onboardingPresenterMock = ContextualOnboardingPresenterMock()
sut = .mock(contextualOnboardingPresenter: onboardingPresenterMock)
Copy link
Contributor

Choose a reason for hiding this comment

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

I would not call this tab mock cause it’s a real tab I’d call it fixture? A standard initialisation

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changed to "fake"

@SabrinaTardio
Copy link
Contributor

Works great now! thanks! I left 2 very minor comments

As discussed I merged #3093 in here feel free to merge this when you have into the next branch etc 🥲

@alessandroboron alessandroboron force-pushed the alessandro/onboarding-tutorial-show-dax branch from b7e6942 to 5709cf7 Compare July 18, 2024 21:38
Base automatically changed from alessandro/onboarding-tutorial-show-dax to AleSab/implement-contextual-onboarding July 18, 2024 21:56
@alessandroboron alessandroboron force-pushed the alessandro/contextual-experiment-factory branch from e6e9b78 to 5afa6b9 Compare July 18, 2024 22:40
@alessandroboron
Copy link
Contributor Author

Works great now! thanks! I left 2 very minor comments

Thanks, I’ve fixed them!

@alessandroboron alessandroboron merged commit 8e3e8ad into AleSab/implement-contextual-onboarding Jul 18, 2024
13 of 14 checks passed
@alessandroboron alessandroboron deleted the alessandro/contextual-experiment-factory branch July 18, 2024 22:51
alessandroboron added a commit that referenced this pull request Jul 24, 2024
alessandroboron added a commit that referenced this pull request Jul 25, 2024
alessandroboron added a commit that referenced this pull request Jul 29, 2024
alessandroboron added a commit that referenced this pull request Aug 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bot: not in app board Added by automation for pull requests with tasks not added to iOS App Board Asana project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants