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

Increase ratio of complete form saves #1124

Merged
merged 16 commits into from
Dec 9, 2024
Merged

Conversation

graeme
Copy link
Contributor

@graeme graeme commented Dec 9, 2024

Please review the release process for BrowserServicesKit here.

Required:

Task/Issue URL: https://app.asana.com/0/0/1206048666874235/f
iOS PR: duckduckgo/iOS#3698
macOS PR: duckduckgo/macos-browser#3649
What kind of version bump will this require?: Major

Description:

Increase ratio of complete credentials saves (i.e. that include the username) by checking for recently filled emails/usernames when a form save event is incomplete.

Approach is to have a new form save events for username/email-only forms that stays in memory for 3 minutes. If a password-only form save is detected for the same domain, we can complete the form with the previous partial data. This would also cover mobile where we don't have identities autofill – and in general in all cases where the user inputs data manually.

Steps to test this PR:

https://app.asana.com/0/1202926619870900/1208866651723703/f

OS Testing:

  • iOS 14
  • iOS 15
  • iOS 16
  • macOS 10.15
  • macOS 11
  • macOS 12

Internal references:

Software Engineering Expectations
Technical Design Template

@graeme graeme self-assigned this Dec 9, 2024
@@ -165,15 +165,15 @@
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't know why this happened... but it looks pretty harmless?

@graeme graeme marked this pull request as ready for review December 9, 2024 10:37
@graeme graeme requested a review from amddg44 December 9, 2024 10:38

private static var accounts: [String: WebsiteAccount] = .init()

func partialAccount(forDomain domain: String) -> WebsiteAccount? {
Copy link
Contributor

Choose a reason for hiding this comment

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

Instead of initialising TLD() in each of these functions (which is quite a heavy operation) maybe pass in tld from SecureVaultManager?

Copy link
Contributor

@amddg44 amddg44 left a comment

Choose a reason for hiding this comment

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

LGTM & nice improvements!

@graeme graeme merged commit 20df9e2 into main Dec 9, 2024
7 checks passed
@graeme graeme deleted the graeme/partial-form-save-refactor branch December 9, 2024 17:36
samsymons added a commit that referenced this pull request Dec 19, 2024
* main: (24 commits)
  change api (#1133)
  Ensure authToken is present before calling refreshAuthTokenIfNeeded
  Add 'locale' to report broken site params
  Add 'locale' to report broken site params
  Ensure authToken is present before calling refreshAuthTokenIfNeeded
  Privacy Pro Free Trials - Models and API (#1120)
  remove MaliciousSiteProtectionSubfeature (#1131)
  Malware protection 6: Malware integration (#1099)
  Add underlying error to PrivacyStatsError (#1130)
  Initial changes for compilation time tracking. (#1111)
  iOS System level credential provider (#1127)
  Increase ratio of complete form saves (#1124)
  Add PrivacyStatsError.failedToClearPrivacyStats (#1128)
  Update autofill to 16.0.0 (#1122)
  Update local network routing (#1117)
  Update RMF version matching to ignore build number (#1118)
  Fix threading issue between using a Semaphore and async/await (#1115)
  add experiment test fake feature (#1119)
  Bump Tests/BrowserServicesKitTests/Resources/privacy-reference-tests from `a603ff9` to `6133e7d` (#1109)
  experiment default metrics pixels (#1107)
  ...
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