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

Update to autofill DAU reporting for credential provider extension #3851

Merged
merged 14 commits into from
Feb 1, 2025

Conversation

amddg44
Copy link
Contributor

@amddg44 amddg44 commented Jan 22, 2025

Task/Issue URL: https://app.asana.com/0/1201462886803403/1208980858161408/f
Tech Design URL:
CC:

Description:
Update to include fill events from the iOS credential provider extension towards Autofill DAUs in AutofillPixelReporter

Steps to test this PR:
Background: Pixel m.autofill.activeuser should only fire if both a DDG search and an autofill fill event have occurred in the same day.

  1. Starting with either a simulator not used today (or from clean install) install the app from main
  2. Perform a search (which will save to UserDefaults.standard that the user performed a search today)
  3. Save a login for a site e.g. https://autofill.me/form/login-simple but do not fill the saved credentials
  4. Enable the credential provider extension in system settings
  5. Switch to this branch and run up the target AutofillCredentialProvider (selecting Safari when prompted with which app to run)
  6. Safari will launch. Visit the site you saved a login for earlier and fill when prompted (you may need to toggle the software keyboard in simulator to get the keyboard to show up so you can see QuickType suggestions!)
  7. Fill the login and confirm the pixel m.autofill.activeuser does NOT fire (this is because the extension has run before the app has had a chance to migrate existing UserDefault data and the extension is blocked from performing the migration since it cannot access the data to be migrated)
  8. Launch the app from the usual target so the migration can occur; then disconnect. (the migration will have copied the search event saved in step 2 to shared app group UserDefaults so it is now be accessible from the extension)
  9. Relaunch the target AutofillCredentialProvider and attempt to fill again in Safari
  10. This time m.autofill.activeuser should now fire, since the condition of a DDG search + an autofill event have been met.

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

…on-daus

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
…on-daus

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
…on-daus

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
…on-daus

# Conflicts:
#	DuckDuckGo-iOS.xcodeproj/project.pbxproj
#	DuckDuckGo-iOS.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@graeme graeme self-requested a review January 29, 2025 15:47
…on-daus

# Conflicts:
#	DuckDuckGo-iOS.xcodeproj/project.pbxproj
#	DuckDuckGo-iOS.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
amddg44 added a commit to duckduckgo/BrowserServicesKit that referenced this pull request Feb 1, 2025
…sion events (#1177)

Task/Issue URL:
https://app.asana.com/0/1201462886803403/1208980858161408/f
iOS PR: duckduckgo/iOS#3851
macOS PR: duckduckgo/macos-browser#3763
What kind of version bump will this require?: Minor


**Description**:
Update AutofillPixelReporter to support shared app group UserDefaults in
order to count fill events from the iOS credential provider extension
towards Autofill DAUs
@amddg44 amddg44 merged commit 79cbf91 into main Feb 1, 2025
13 checks passed
@amddg44 amddg44 deleted the anya/autofill-extension-daus branch February 1, 2025 17:13
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