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

Autofill "Never Save for this Site" feature #2104

Merged
merged 30 commits into from
Nov 16, 2023

Conversation

amddg44
Copy link
Contributor

@amddg44 amddg44 commented Oct 18, 2023

Task/Issue URL: https://app.asana.com/0/0/1205783642285427/f
Tech Design URL: https://app.asana.com/0/481882893211075/1205590957854802/f
CC:

Description:
Adds the functionality to allow users to choose to "Never Save for this Site" from the autofill save login prompt, with the option to reset this list from the Logins screen.

Steps to test this PR:
Note - I'm still waiting on translations so that will probably be a separate PR

  1. Visit https://fill.dev/form/login-simple and login using new credentials. In the Save Login prompt, confirm the bottom button is now Never Ask for This Site
  1. Tap it and confirm this pixel is fired: m_autofill_logins_save_login_exclude_site_confirmed

  2. Go back to https://fill.dev/form/login-simple

  3. Login again with new credentials and confirm that you no longer get the Save Login prompt

  4. Visit another site and, logging with new credentials, confirm the Save Login prompt is still presented for other sites

  5. Go to https://fill.dev/form/registration-email and confirm that Password Generation is disabled for this site (no key in the password field and tapping in the field does not trigger the generated password prompt) -- this is why we needed to adopt support for getRuntimeConfiguration now

  6. Visit another website with a registration form and confirm that Password Generation is still enabled for it

  7. Go the Logins screen and you should see a new row with the option to Reset Excluded Sites

  8. Tap the row and confirm this pixel is fired: m_autofill_settings_reset_excluded_displayed

  9. Tap Cancel in the action sheet that was presented and confirm this pixel is fired m_autofill_settings_reset_excluded_dismissed

  10. Tap the row and choose Reset Excluded Sites and confirm this pixel is fired: m_autofill_settings_reset_excluded_confirmed

  11. The Reset Excluded Sites row should now be gone (it is only added to the screen when a user has at least 1 site saved as Never Prompt)

  12. Go back to https://fill.dev/form/login-simple and confirm the Save Login prompt now appears again

  13. Final test case (a small bug fix): confirm Private Duck Addresses are not autosaved when Autofill is disabled 🙂

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

…r-prompt-save

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
…r-prompt-save

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@amddg44 amddg44 marked this pull request as ready for review November 9, 2023 14:15
…r-prompt-save

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
…r-prompt-save

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
Copy link

github-actions bot commented Nov 13, 2023

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

Generated by 🚫 dangerJS against 5adc5aa

@afterxleep afterxleep self-requested a review November 13, 2023 14:20
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.

Looking good 🚀. Just a couple nits about commented stuff

DuckDuckGo/AutofillLoginSettingsListViewController.swift Outdated Show resolved Hide resolved
DuckDuckGo/AutofillNeverSavedTableViewCell.swift Outdated Show resolved Hide resolved
Task/Issue URL: https://app.asana.com/0/0/1205159380096691/f
Tech Design URL:
CC:

Description:
Translations for "Never save for this Site" autofill functionality
Task/Issue URL: https://app.asana.com/0/72649045549333/1205786958985456/f
Tech Design URL:
CC:

Description:
Removes the website favicon + url at the top of the autofill prompts and add app icon to the top of all autofill prompts. Also updates copy to replace the word logins with passwords
…r-prompt-save

# 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 Nov 16, 2023
Task/Issue URL: https://app.asana.com/0/0/1205783642285427/f
iOS PR: duckduckgo/iOS#2104
macOS PR: duckduckgo/macos-browser#1827
What kind of version bump will this require?: Minor

Description:
Adds Autofill "Never Save for this Site" support for iOS
@amddg44 amddg44 merged commit 5addaa4 into develop Nov 16, 2023
10 checks passed
@amddg44 amddg44 deleted the anya/autofill-never-prompt-save branch November 16, 2023 16:37
samsymons added a commit that referenced this pull request Nov 16, 2023
* develop: (36 commits)
  Rolls back a BSK change by mistake
  Updates BSK
  Updates BSK
  Document LinkPresentation usage (#2172)
  Autofill "Never Save for this Site" feature (#2104)
  Use upstream fastlane 2.217.0 (#2161)
  Update about screen (#2152)
  Fixes a crasher due to a test line merged by mistake. (#2162)
  remove return user pixel (#2146)
  Revert to auto signing (#2158)
  BSK changes for NetP iOS Geoswitching (#2141)
  Update sync e2e tests to new setup flow (#2151)
  Fix for duplicated "atb" in Pixel request (#2139)
  Updating tests to support latest reference tests (#2145)
  Add NetP widget (#2142)
  Normalize ampUrl in breakage pixel (#2154)
  Update embedded files
  Update version number
  Bump submodules/privacy-reference-tests from `0d23f76` to `7519c3d` (#2135)
  Properly refresh home page favorites view when updating favorites display mode (#2148)
  ...
samsymons added a commit that referenced this pull request Nov 17, 2023
* develop:
  Updates BSK (#2173)
  Rolls back a BSK change by mistake
  Updates BSK
  Updates BSK
  Document LinkPresentation usage (#2172)
  Autofill "Never Save for this Site" feature (#2104)
  Update embedded files
  Update version number
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