-
Notifications
You must be signed in to change notification settings - Fork 908
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
Add ability to support importing passwords from Google as CSV #4601
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
4091171
to
b08b88e
Compare
e474f86
to
845c86d
Compare
b08b88e
to
14994b6
Compare
The Purge! |
845c86d
to
893a6a5
Compare
14994b6
to
e2de18a
Compare
893a6a5
to
312493c
Compare
32750c3
to
7513429
Compare
312493c
to
81b43d5
Compare
cac73ac
to
bb779c2
Compare
81b43d5
to
b8de40d
Compare
f891e83
to
65bfb74
Compare
b8de40d
to
2fd61e5
Compare
65bfb74
to
7844c97
Compare
2fd61e5
to
96b165b
Compare
7844c97
to
27edd79
Compare
96b165b
to
b1d1ab9
Compare
27edd79
to
f7b551c
Compare
f66114d
to
556da80
Compare
b52488e
to
8c7ae28
Compare
06d2c9a
to
079b1fa
Compare
8c7ae28
to
5256082
Compare
079b1fa
to
2d3d4f5
Compare
...l/autofill-impl/src/main/java/com/duckduckgo/autofill/impl/SecureStoreBackedAutofillStore.kt
Show resolved
Hide resolved
c404a89
to
136d9b2
Compare
136d9b2
to
c3bdb8c
Compare
5256082
to
12ebf77
Compare
43060e6
to
1f65e50
Compare
} | ||
|
||
@Test | ||
fun whenDomainCannotBeNormalizedThenIsIncludedUnmodified() = runTest { |
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.
I'm not sure about this one 😅. If we don't know how to normalize the input, we just return the input. But then we store it as domain attribute...but that can be anything. 🤔
You have more context than me on Autofill, but what are the side effects of not having a domain in the domain attribute? I assume we are not validating the user manually enters something valid either...so at this point, I wonder why do we even normalize, or why do we even filter the "android://..." objects...
Short term, just to consider if this is the expected behavior, and then we can chat about the class fields without blocking the changes here as it seems a more broad discussion.
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 behavior mirrors what we do when saving credentials. If we can, we normalize the URLs when we encounter them, or when the user enters them manually (a product decision from way back). If the URL is unrecongizable as a URL and therefore we can't normalize it (when saving from autofill or from a user entering manually), we save it unaltered.
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.
what are the side effects of not having a domain in the domain attribute
if it's unrecognizable, we won't be able to match on it and it won't be offered as an option in the autofill dialogs but will still be stored in the full credential list
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.
Works great. Let's discuss on zoom the models being used here, so I can have more clarity and decide next steps.
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.
Approving as I don't feel this is a blocker, but let's revisit together.
1f65e50
to
8ddadf3
Compare
8ddadf3
to
d2141a9
Compare
Task/Issue URL: https://app.asana.com/0/608920331025315/1207415218447811/f
Description
Adds ability to import passwords exported as a CSV from Google Password Manager (GPM). This functionality is used by the higher up branches in the stack to provide a guided way to import from GPM, but can be tested directly from autofill dev settings and choosing to import a CSV file.
Test CSV files are available in Example CSV files for testing
Steps to test this PR
Happy path: all unique
internal
build type, and launch autofill dev settingsImport CSV
example_csv_20.csv
and make sure 20 are imported)Happy path: importing with some duplicates in the list
Import CSV
again, and this time choose file containing duplicatesdupes_20_total_17_unique.csv
and make sure 17 are imported)Happy path: importing with a duplicate already saved in the DB
Non-CSV files
Import CSV