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

iOS InContext Email Protection Signup #1839

Merged
merged 44 commits into from
Aug 24, 2023

Conversation

amddg44
Copy link
Contributor

@amddg44 amddg44 commented Jul 17, 2023

Task/Issue URL: https://app.asana.com/0/72649045549333/1202940260106121/f
Tech Design URL:
CC:

Description:
Adds Email InContext Signup protection to iOS

Steps to test this PR:

  1. Starting with a clean install, visit fill.dev/form/registration-email
  2. Confirm the grey dax icon is visible in the email field
  3. Tap the text field (not the icon) and confirm the keyboard is displayed
  4. Tap the icon and confirm the prompt to sign up for email protection is presented
  5. Tap 'x' to dismiss the prompt and confirm the dax icon is still visible & grey
  6. Tap the icon again, and this time select "Don't show again"
  7. Confirm the dax icon is no longer visible and that refreshing the page does not bring it back
  8. In the app go to Settings > Debug and tap the row "Reset Email Protection InContext Signup"
  9. Return to fill.dev/form/registration-email and refresh the page. The grey dax icon should now be back
  10. Tap the icon again, and this time select "Protect my email"
  11. Choose "Get Started" to follow the flow to create a new duck address
  12. Confirm that at the end of the sign up process, when dismissing the modal either from the 'Done' button or the 'Try it now', the prompt to chose a duck address is presented and that selecting an address populates the web form
  13. Sign out and test the sign in flow (including tapping the link from email to launch the app)

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 14
  • iOS 15
  • iOS 16

Theme Testing:

  • Light theme
  • Dark theme

Internal references:

Software Engineering Expectations
Technical Design Template

Mcsadmeal

This comment was marked as off-topic.

amddg44 added 9 commits July 20, 2023 13:49
# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
#	DuckDuckGo/Debug.storyboard
#	DuckDuckGo/RootDebugViewController.swift
…-email-promotion

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
#	DuckDuckGo/TabViewController.swift
@github-actions
Copy link

github-actions bot commented Jul 31, 2023

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

Generated by 🚫 dangerJS against 31c817b

@amddg44 amddg44 marked this pull request as ready for review August 1, 2023 08:41
@amddg44 amddg44 requested a review from afterxleep August 1, 2023 15:49
Copy link
Collaborator

@afterxleep afterxleep left a comment

Choose a reason for hiding this comment

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

Works as expected. Left a few nitpicks

DuckDuckGo/AppDelegate.swift Outdated Show resolved Hide resolved
DuckDuckGo/EmailSignupPromptViewController.swift Outdated Show resolved Hide resolved
DuckDuckGo/EmailSignupViewController.swift Outdated Show resolved Hide resolved
DuckDuckGo/EmailSignupViewController.swift Outdated Show resolved Hide resolved
DuckDuckGo/EmailSignupViewController.swift Outdated Show resolved Hide resolved
DuckDuckGo/EmailSignupViewController.swift Outdated Show resolved Hide resolved
DuckDuckGo/AutofillLoginPromptView.swift Outdated Show resolved Hide resolved
amddg44 added 14 commits August 3, 2023 21:53
…-email-promotion

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
#	DuckDuckGo/MainViewController+Email.swift
#	DuckDuckGo/UserText.swift
…-email-promotion

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
Task/Issue URL: https://app.asana.com/0/0/1204945000199876/f
Tech Design URL:
CC:

Description:
Translations for in-context email protection
Task/Issue URL: https://app.asana.com/0/0/1204874198702034/f
Tech Design URL:
CC:

Description:
Pixels for new inContext email protection prompt & sign in / up modal
Task/Issue URL: https://app.asana.com/0/72649045549333/1204936655327681/f
Tech Design URL:
CC:

Description:
Adds installedDays to privacy config to remotely control how many days since install that the iOS incontext email protection feature will be visible to users (currently set to less than 21 days). Also adds language restriction to limit feature to english speaking users
…-email-promotion

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
#	DuckDuckGo/Debug.storyboard
#	DuckDuckGo/TabViewController.swift
…-email-promotion

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
amddg44 added a commit to duckduckgo/BrowserServicesKit that referenced this pull request Aug 24, 2023
Task/Issue URL: https://app.asana.com/0/72649045549333/1202940260106121/f
iOS PR: duckduckgo/iOS#1839
macOS PR: duckduckgo/macos-browser#1419
What kind of version bump will this require?: Minor

Description:
Adds Email InContext Signup protection to iOS
@amddg44 amddg44 merged commit bc095b9 into develop Aug 24, 2023
@amddg44 amddg44 deleted the anya/ios-incontext-email-promotion branch August 24, 2023 12:25
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.

3 participants