-
Notifications
You must be signed in to change notification settings - Fork 928
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: Increase ratio of complete credential saves #5386
base: develop
Are you sure you want to change the base?
Autofill: Increase ratio of complete credential saves #5386
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
internal data class AutofillStoreFormDataJsonRequest( | ||
val credentials: AutofillStoreFormDataCredentialsJsonRequest?, | ||
val trigger: FormSubmissionTriggerType?, | ||
) | ||
|
||
internal data class AutofillStoreFormDataCredentialsJsonRequest( | ||
val username: String?, | ||
val password: String?, | ||
val autogenerated: Boolean = false, | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is a small tidy up as these are types specifically for Moshi / JSON parsing, used internally in this class. but we don’t necessarily want the same types returned out of this class
for example, the trigger
is nullable when parsing from JSON, but when returning we also want that non-nullable and defaulting to UNKNOWN
if it couldn’t be parsed from the JSON
9578c3a
to
969ed0e
Compare
a36b674
to
16e1970
Compare
3d3a41e
to
2e53317
Compare
2e53317
to
a24930b
Compare
Task/Issue URL: https://app.asana.com/0/72649045549333/1206048666874234/f
Description
Increases the ratio of complete credential saves by being able to capture a username-only form submission, and then re-attach it to a nearby password-only form submission. This is useful for scenarios like resetting passwords and multi-step logins.
Steps to test this PR
Logcat filter:
message~:"partial save" | message~:”backfill"
Simulating a multi-step login form
test
Login
button (this simulates getting the first part of a multi-step login form)Login
button (this is submitting only a password now, simulating the second part of a multi-step login form)View
in snackbar)username=test
and password matches what you provided (i.e., the username was backfilled because the partial form submission’s username was later applied to the final form submission which didn’t have the username)Updating password for the above (not backfilling)
test
Login
button; verify you are offered to update the passwordUpdating password (with backfilling)
test
Login
button (this simulates getting the first part of a multi-step login form)Login
button; verify you are offered to update the passwordBackfilling username [test] from partial save
in logsPassword reset flow (with backfilling, automatic password generation)
Update Password
. Verify the password is correct and there are no duplicate credentials.Password reset flow (with backfilling, manual password entry)
Update Password
. Verify the password is correct and there are no duplicate credentials.Password reset flow (no backfilling, automatic password generation)
Password reset flow (no backfilling, manual password entry)
Email Protection, autofilling personal duck address contributes as username backfill candidate
New Password
field (can leave other two password fields blank) and tap the buttonEmail Protection, autofilling private duck address contributes as username backfill candidate
New Password
field (can leave other two password fields blank) and tap the buttonDisable feature flag
partialFormSaves
test
Login
button (this simulates getting the first part of a multi-step login form)Login
button (this is submitting only a password now, simulating the second part of a multi-step login form)Ensuring existing business rules are maintained
Autofill personal duck address and autogenerated password
Sign Up
button, verify a single, complete credential is saved with correct username+passwordAutofill private duck address and autogenerated password
Sign Up
button, verify a single, complete credential is saved with correct username+passwordAutofill personal duck address and manual password
Sign Up
button, verify you are prompted to save and upon accepting, a single, complete credential is saved with correct username+passwordAutofill private duck address and manual password
Sign Up
button, verify you are prompted to save and upon accepting, a single, complete credential is saved with correct username+password