Closed Bug 1649940 Opened 4 years ago Closed 4 years ago

Login CSV import report/log page

Categories

(Firefox :: about:logins, enhancement, P1)

Desktop
All
enhancement

Tracking

()

VERIFIED FIXED
88 Branch
Tracking Status
firefox-esr68 --- wontfix
firefox-esr78 --- wontfix
firefox77 --- wontfix
firefox78 --- wontfix
firefox79 --- wontfix
firefox80 --- wontfix
firefox88 --- verified

People

(Reporter: MattN, Assigned: petcuandrei)

References

(Depends on 8 open bugs, Blocks 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

After a user imports from a CSV file, link from the confirmation dialog to a detailed report so the user knows which lines fall into additions, updates, unchanged exact matches, and errors.

Flags: qe-verify+
Flags: needinfo?(kcaldwell)

mini ux spec : https://mozilla.invisionapp.com/share/R3XX2AF2XN5#/423736091_Import_From_CSV
Please note: Import Summary Report » requires CS review (text and icons placeholder for now)

Flags: needinfo?(kcaldwell)
Flags: needinfo?(mwalkington)

I'm going to split this in two and leave this focused on the report.

Summary: Login CSV import summary dialog and report/log → Login CSV import report/log page
Depends on: 1650675

A few questions noted in the mock for you, Katie, and here is the revised copy: https://docs.google.com/document/d/16pNefAxwRg0h4u-yx8wprEeC2acE8CNF_lflts3BWPY/edit

Flags: needinfo?(mwalkington) → needinfo?(kcaldwell)

Thanks for the copy deck - ux spec is updated as of this afternoon. I'll update again when we have final copy.

Flags: needinfo?(kcaldwell)
Attached file Bug 1649940 Login CSV import log page (deleted) —

Depends on D96101

Attached file Bug 1649940 open data URL from the parent (obsolete) (deleted) —

Depends on D100639

Attachment #9197611 - Attachment is obsolete: true
Assignee: nobody → petcuandrei
Status: NEW → ASSIGNED
Depends on: 1688261
Attachment #9197588 - Attachment description: Bug 1649940 Login CSV import log page DRAFT → Bug 1649940 Login CSV import log page

It's impossible to have multiple values for a field since all rows have the same columns. I think I should change the "Error: Multiple values for { $field }" text to "Error: Multiple values".
What do you think?

Flags: needinfo?(sfoster)

I'm not sure either string really explains what the problem is and how the user would resolve it. Lets think about a better solution for this case.

Flags: needinfo?(sfoster)
Depends on: 1695034
Regressions: 1695034
Pushed by sfoster@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/03b2f2ca0d28 Login CSV import log page r=sfoster,flod,tgiles

Backed out changeset 03b2f2ca0d28 (bug 1649940) for mochitest failures complaining about import-details-row.

Push with failures: https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&test_paths=browser%2Fbase%2Fcontent%2Ftest%2Fstatic&fromchange=cb3d9e8d32e637010bdb1ab6c652449e3f8d42ac&selectedTaskRun=Dn672QAkRsazPRQikHXOwA.0&tochange=fe93e0d2a542ec67c70127eeb33b79a833743533

Backout link: https://hg.mozilla.org/integration/autoland/rev/fe93e0d2a542ec67c70127eeb33b79a833743533

Failure log: https://treeherder.mozilla.org/logviewer?job_id=331236273&repo=autoland&lineNumber=2940

[task 2021-02-25T21:05:09.492Z] 21:05:09     INFO - TEST-START | browser/base/content/test/static/browser_all_files_referenced.js
[task 2021-02-25T21:05:15.518Z] 21:05:15     INFO - TEST-INFO | started process screencapture
[task 2021-02-25T21:05:15.587Z] 21:05:15     INFO - TEST-INFO | screencapture: exit 0
[task 2021-02-25T21:05:15.589Z] 21:05:15     INFO - Buffered messages logged at 21:05:09
[task 2021-02-25T21:05:15.589Z] 21:05:15     INFO - Entering test bound checkAllTheFiles
[task 2021-02-25T21:05:15.589Z] 21:05:15     INFO - Buffered messages logged at 21:05:15
[task 2021-02-25T21:05:15.589Z] 21:05:15     INFO - indirectly whitelisted file: chrome://marionette/content/test_dialog.dtd used from chrome://marionette/content/test_dialog.xhtml
[task 2021-02-25T21:05:15.589Z] 21:05:15     INFO - indirectly whitelisted file: chrome://global-platform/locale/intl.properties used from resource://gre/greprefs.js
[task 2021-02-25T21:05:15.589Z] 21:05:15     INFO - indirectly whitelisted file: resource://services-sync/addonutils.js used from resource://services-sync/engines/addons.js
[task 2021-02-25T21:05:15.589Z] 21:05:15     INFO - indirectly whitelisted file: resource://gre/modules/Promise-backend.js used from resource://gre/modules/Promise.jsm,resource://devtools/shared/worker/loader.js,resource://devtools/shared/Loader.jsm
[task 2021-02-25T21:05:15.589Z] 21:05:15     INFO - indirectly whitelisted file: resource://services-sync/engines/clients.js used from resource://services-sync/service.js
[task 2021-02-25T21:05:15.589Z] 21:05:15     INFO - indirectly whitelisted file: resource://services-sync/bridged_engine.js used from resource://services-sync/engines/extension-storage.js
[task 2021-02-25T21:05:15.589Z] 21:05:15     INFO - indirectly whitelisted file: chrome://pippki/content/resetpassword.js used from chrome://pippki/content/resetpassword.xhtml
[task 2021-02-25T21:05:15.589Z] 21:05:15     INFO - indirectly whitelisted file: chrome://global/content/remote-test-ipc.js used from chrome://global/content/test-ipc.xhtml
[task 2021-02-25T21:05:15.590Z] 21:05:15     INFO - indirectly whitelisted file: resource://services-sync/stages/enginesync.js used from resource://services-sync/service.js
[task 2021-02-25T21:05:15.590Z] 21:05:15     INFO - indirectly whitelisted file: resource://services-sync/addonsreconciler.js used from resource://services-sync/engines/addons.js
[task 2021-02-25T21:05:15.590Z] 21:05:15     INFO - indirectly whitelisted file: resource://services-sync/collection_validator.js used from resource://services-sync/engines/addons.js,resource://services-sync/engines/forms.js,resource://services-sync/engines/passwords.js
[task 2021-02-25T21:05:15.590Z] 21:05:15     INFO - indirectly whitelisted file: resource://services-sync/policies.js used from resource://services-sync/service.js
[task 2021-02-25T21:05:15.590Z] 21:05:15     INFO - indirectly whitelisted file: resource://services-sync/bookmark_validator.js used from resource://services-sync/engines/bookmarks.js
[task 2021-02-25T21:05:15.590Z] 21:05:15     INFO - indirectly whitelisted file: resource://services-sync/stages/declined.js used from resource://services-sync/service.js
[task 2021-02-25T21:05:15.590Z] 21:05:15     INFO - indirectly whitelisted file: chrome://pippki/content/load_device.js used from chrome://pippki/content/load_device.xhtml
[task 2021-02-25T21:05:15.593Z] 21:05:15     INFO - indirectly whitelisted file: resource://services-sync/engines.js used from resource://services-sync/engines/clients.js,resource://services-sync/bridged_engine.js,resource://services-sync/engines/addons.js,resource://services-sync/engines/forms.js,resource://services-sync/engines/history.js,resource://services-sync/engines/tabs.js,resource://services-sync/engines/bookmarks.js,resource://services-sync/engines/extension-storage.js,resource://services-sync/engines/passwords.js,resource://services-sync/engines/prefs.js,resource://services-sync/service.js,resource://formautofill/FormAutofillSync.jsm
[task 2021-02-25T21:05:15.593Z] 21:05:15     INFO - indirectly whitelisted file: resource://gre/modules/Http.jsm used from resource://app/modules/translation/GoogleTranslator.jsm,resource://app/modules/translation/YandexTranslator.jsm,resource://app/modules/translation/BingTranslator.jsm
[task 2021-02-25T21:05:15.593Z] 21:05:15     INFO - indirectly whitelisted file: resource://gre/modules/SyncedBookmarksMirror.jsm used from resource://services-sync/engines/bookmarks.js
[task 2021-02-25T21:05:15.593Z] 21:05:15     INFO - indirectly whitelisted file: chrome://marionette/content/test2.xhtml used from chrome://marionette/content/test.xhtml,chrome://marionette/content/test_nested_iframe.xhtml
[task 2021-02-25T21:05:15.593Z] 21:05:15     INFO - indirectly whitelisted file: chrome://marionette/content/test_nested_iframe.xhtml used from chrome://marionette/content/test.xhtml
[task 2021-02-25T21:05:15.593Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/common.css used from chrome://fxr/content/prefs.html,chrome://fxr/content/fxrui.html
[task 2021-02-25T21:05:15.595Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/fxrui_blue.css used from chrome://fxr/content/prefs.html,chrome://fxr/content/fxrui.html
[task 2021-02-25T21:05:15.596Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/fxrui.css used from chrome://fxr/content/fxrui.html
[task 2021-02-25T21:05:15.596Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/assets/icon-stop-reload.svg used from chrome://fxr/content/fxrui.css
[task 2021-02-25T21:05:15.596Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/assets/icon-home.svg used from chrome://fxr/content/fxrui.css
[task 2021-02-25T21:05:15.596Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/assets/icon-secure.svg used from chrome://fxr/content/fxrui.html
[task 2021-02-25T21:05:15.598Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/assets/icon-backward.svg used from chrome://fxr/content/prefs.css,chrome://fxr/content/fxrui.css
[task 2021-02-25T21:05:15.598Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/assets/icon-forward.svg used from chrome://fxr/content/fxrui.css
[task 2021-02-25T21:05:15.598Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/assets/icon-settings.svg used from chrome://fxr/content/fxrui.css
[task 2021-02-25T21:05:15.598Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/common.js used from chrome://fxr/content/prefs.html,chrome://fxr/content/fxrui.html
[task 2021-02-25T21:05:15.601Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/permissions.js used from chrome://fxr/content/fxrui.html
[task 2021-02-25T21:05:15.601Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/fxrui.js used from chrome://fxr/content/fxrui.html
[task 2021-02-25T21:05:15.601Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/fxr-fullScreen.js used from chrome://fxr/content/fxrui.js
[task 2021-02-25T21:05:15.602Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/fxr-content.js used from chrome://fxr/content/fxrui.js
[task 2021-02-25T21:05:15.602Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/prefs.html used from chrome://fxr/content/fxrui.js
[task 2021-02-25T21:05:15.602Z] 21:05:15     INFO - indirectly whitelisted file: resource://formautofill/FormAutofillSync.jsm used from resource://services-sync/service.js
[task 2021-02-25T21:05:15.602Z] 21:05:15     INFO - indirectly whitelisted file: resource://services-sync/doctor.js used from resource://services-sync/stages/enginesync.js
[task 2021-02-25T21:05:15.603Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/prefs.css used from chrome://fxr/content/prefs.html
[task 2021-02-25T21:05:15.604Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/assets/icon-toggle-off.png used from chrome://fxr/content/prefs.css
[task 2021-02-25T21:05:15.604Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/assets/icon-toggle-on.png used from chrome://fxr/content/prefs.css
[task 2021-02-25T21:05:15.604Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/assets/icon-logo-settings-preview.png used from chrome://fxr/content/prefs.html
[task 2021-02-25T21:05:15.604Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/assets/icon-reportissue.svg used from chrome://fxr/content/prefs.html
[task 2021-02-25T21:05:15.605Z] 21:05:15     INFO - indirectly whitelisted file: chrome://fxr/content/prefs.js used from chrome://fxr/content/prefs.html
[task 2021-02-25T21:05:15.605Z] 21:05:15     INFO - Buffered messages finished
[task 2021-02-25T21:05:15.607Z] 21:05:15     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | there should be no unreferenced files - Got 1, expected +0
[task 2021-02-25T21:05:15.607Z] 21:05:15     INFO - Stack trace:
[task 2021-02-25T21:05:15.607Z] 21:05:15     INFO - chrome://mochikit/content/browser-test.js:test_is:1359
[task 2021-02-25T21:05:15.607Z] 21:05:15     INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:953
[task 2021-02-25T21:05:15.607Z] 21:05:15     INFO - Not taking screenshot here: see the one that was previously logged
[task 2021-02-25T21:05:15.607Z] 21:05:15     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | unreferenced file: chrome://browser/content/aboutlogins/components/import-details-row.js - 
[task 2021-02-25T21:05:15.607Z] 21:05:15     INFO - Stack trace:
[task 2021-02-25T21:05:15.607Z] 21:05:15     INFO - chrome://mochikit/content/browser-test.js:test_ok:1331
[task 2021-02-25T21:05:15.608Z] 21:05:15     INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:957
[task 2021-02-25T21:05:15.608Z] 21:05:15     INFO - ignored unused whitelist entry: resource://app/blocklist.xml
[task 2021-02-25T21:05:15.608Z] 21:05:15     INFO - ignored unused whitelist entry: resource://gre/gmp-clearkey/0.1/manifest.json
[task 2021-02-25T21:05:15.608Z] 21:05:15     INFO - ignored unused whitelist entry: resource://gre/res/test.properties
[task 2021-02-25T21:05:15.609Z] 21:05:15     INFO - missing file: resource://search-extensions/yandex/__MSG_extensionIcon__
[task 2021-02-25T21:05:15.614Z] 21:05:15     INFO - missing file: resource://pdf.js/web/images/grab.cur referenced from resource://pdf.js/web/viewer.css
[task 2021-02-25T21:05:15.615Z] 21:05:15     INFO - missing file: resource://pdf.js/web/images/grabbing.cur referenced from resource://pdf.js/web/viewer.css
[task 2021-02-25T21:05:15.615Z] 21:05:15     INFO - missing file: resource://services-sync/)%20==%200)%20%7B referenced from resource://services-sync/addonutils.js
[task 2021-02-25T21:05:15.615Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/toolkit/global/textActions.ftl referenced from chrome://global/content/editMenuOverlay.js,chrome://global/content/elements/moz-input-box.js,chrome://mozapps/content/update/updateElevation.xhtml,resource://devtools/client/framework/toolbox-context-menu.js,chrome://devtools/content/webconsole/index.html,chrome://browser/content/aboutDialog.xhtml,chrome://browser/content/downloads/contentAreaDownloadsView.xhtml,chrome://devtools/content/styleeditor/index.xhtml,chrome://browser/content/hiddenWindowMac.xhtml,chrome://browser/content/pageinfo/pageInfo.xhtml,chrome://browser/content/places/historySidebar.xhtml,chrome://browser/content/webext-panels.xhtml,chrome://browser/content/setDesktopBackground.xhtml,chrome://browser/content/browser.xhtml,chrome://browser/content/places/bookmarksSidebar.xhtml,chrome://browser/content/places/places.xhtml
[task 2021-02-25T21:05:15.615Z] 21:05:15     INFO - missing file: resource://gre/modules/worker/myModule.js referenced from resource://gre/modules/workers/require.js
[task 2021-02-25T21:05:15.616Z] 21:05:15     INFO - missing file: resource://gre/modules/workers/SimpleTest.js referenced from resource://gre/modules/workers/require.js
[task 2021-02-25T21:05:15.616Z] 21:05:15     INFO - missing file: resource://gre/modules/workers/Logger.js referenced from resource://gre/modules/workers/require.js
[task 2021-02-25T21:05:15.616Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/security/pippki/pippki.ftl referenced from chrome://pippki/content/resetpassword.js,chrome://pippki/content/changepassword.js,chrome://pippki/content/setp12password.xhtml,chrome://pippki/content/clientauthask.xhtml,chrome://pippki/content/downloadcert.xhtml,chrome://pippki/content/protectedAuth.xhtml,chrome://pippki/content/changepassword.xhtml,chrome://pippki/content/resetpassword.xhtml
[task 2021-02-25T21:05:15.616Z] 21:05:15     INFO - missing file: chrome://geckoview/content/geckoview.xhtml referenced from chrome://global/content/customElements.js
[task 2021-02-25T21:05:15.617Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/toolkit/global/wizard.ftl referenced from chrome://global/content/elements/wizard.js,chrome://browser/content/migration/migration.xhtml
[task 2021-02-25T21:05:15.617Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/toolkit/global/videocontrols.ftl referenced from chrome://global/content/elements/videocontrols.js
[task 2021-02-25T21:05:15.617Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/toolkit/main-window/autocomplete.ftl referenced from chrome://global/content/elements/autocomplete-richlistitem.js
[task 2021-02-25T21:05:15.617Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/toolkit/printing/printPreview.ftl referenced from chrome://global/content/printPreviewToolbar.js,chrome://global/content/printPreviewPagination.js
[task 2021-02-25T21:05:15.617Z] 21:05:15     INFO - missing file: resource://gre/localization/en-US/abuseReports.ftl referenced from chrome://mozapps/content/extensions/abuse-report-panel.js
[task 2021-02-25T21:05:15.617Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/abuseReports.ftl referenced from chrome://mozapps/content/extensions/abuse-report-panel.js
[task 2021-02-25T21:05:15.618Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/toolkit/main-window/findbar.ftl referenced from chrome://global/content/elements/findbar.js
[task 2021-02-25T21:05:15.618Z] 21:05:15     INFO - missing file: resource://gre/modules/Snackbars.jsm referenced from chrome://global/content/aboutSupport.js
[task 2021-02-25T21:05:15.618Z] 21:05:15     INFO - missing file: chrome://gfxsanity/content/sanityparent.html referenced from resource://gre/components/marionette.js
[task 2021-02-25T21:05:15.618Z] 21:05:15     INFO - missing file: chrome://global/locale/aboutTelemetry.properties referenced from chrome://global/content/aboutTelemetry.js
[task 2021-02-25T21:05:15.619Z] 21:05:15     INFO - missing file: resource://gre/modules/Messaging.jsm referenced from chrome://global/content/aboutTelemetry.js,resource://gre/modules/ReaderMode.jsm,resource://gre/modules/PushRecord.jsm,jar:file:///Users/cltbld/tasks/task_1614286580/build/application/Firefox%20Nightly.app/Contents/Resources/browser/features/webcompat@mozilla.org.xpi!/experiment-apis/experiments.js
[task 2021-02-25T21:05:15.619Z] 21:05:15     INFO - missing file: resource://gre/modules/*.svg referenced from resource://gre/modules/PageThumbUtils.jsm
[task 2021-02-25T21:05:15.620Z] 21:05:15     INFO - missing file: resource://gre/modules/WindowsRegistry.jsm referenced from resource://gre/modules/OsEnvironment.jsm,resource://gre/modules/UpdateService.jsm,resource://gre/modules/NativeManifests.jsm,resource://gre/modules/UpdateUtils.jsm,resource://gre/modules/TelemetryEnvironment.jsm,resource://app/modules/MigrationUtils.jsm,resource://app/modules/BrowserGlue.jsm,resource://app/modules/ShellService.jsm
[task 2021-02-25T21:05:15.620Z] 21:05:15     INFO - missing file: chrome://mozapps/skin/plugins/plugin.svg referenced from resource://gre/modules/Blocklist.jsm
[task 2021-02-25T21:05:15.629Z] 21:05:15     INFO - missing file: resource://gre/modules/OSCrypto_win.js referenced from resource://gre/modules/OSCrypto.jsm
[task 2021-02-25T21:05:15.629Z] 21:05:15     INFO - missing file: resource://gre/modules/osfile/osfile_win_allthreads.jsm referenced from resource://gre/modules/osfile/osfile_async_front.jsm,resource://gre/modules/osfile/osfile_native.jsm
[task 2021-02-25T21:05:15.629Z] 21:05:15     INFO - missing file: resource://gre/modules/GeckoViewWebExtension.jsm referenced from resource://gre/modules/ExtensionParent.jsm
[task 2021-02-25T21:05:15.630Z] 21:05:15     INFO - missing file: resource://gre/modules/GeckoViewAutocomplete.jsm referenced from resource://gre/actors/AutoCompleteParent.jsm
[task 2021-02-25T21:05:15.630Z] 21:05:15     INFO - missing file: resource://gre/modules/subprocess/subprocess_win.jsm referenced from resource://gre/modules/Subprocess.jsm
[task 2021-02-25T21:05:15.630Z] 21:05:15     INFO - missing file: resource://gre/modules/policies/WindowsGPOParser.jsm referenced from resource://gre/modules/EnterprisePoliciesParent.jsm
[task 2021-02-25T21:05:15.630Z] 21:05:15     INFO - missing file: resource:///modules referenced from resource://gre/modules/BackgroundTasksManager.jsm
[task 2021-02-25T21:05:15.631Z] 21:05:15     INFO - missing file: resource://gre/modules referenced from resource://gre/modules/BackgroundTasksManager.jsm
[task 2021-02-25T21:05:15.631Z] 21:05:15     INFO - missing file: resource://gre/localization/en-US/languageNames.ftl referenced from resource://gre/modules/mozIntl.jsm
[task 2021-02-25T21:05:15.631Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/languageNames.ftl referenced from resource://gre/modules/mozIntl.jsm
[task 2021-02-25T21:05:15.631Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/toolkit/intl/languageNames.ftl referenced from resource://gre/modules/mozIntl.jsm
[task 2021-02-25T21:05:15.631Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/toolkit/intl/regionNames.ftl referenced from resource://gre/modules/mozIntl.jsm
[task 2021-02-25T21:05:15.632Z] 21:05:15     INFO - missing file: resource://app/defaults referenced from resource://services-settings/Attachments.jsm
[task 2021-02-25T21:05:15.632Z] 21:05:15     INFO - missing file: resource://gre/modules/osfile/osfile_win_back.jsm referenced from resource://gre/modules/osfile.jsm
[task 2021-02-25T21:05:15.632Z] 21:05:15     INFO - missing file: resource://gre/modules/osfile/osfile_win_front.jsm referenced from resource://gre/modules/osfile.jsm
[task 2021-02-25T21:05:15.632Z] 21:05:15     INFO - missing file: resource://gre/modules/RuntimePermissions.jsm referenced from resource://gre/modules/DownloadIntegration.jsm
[task 2021-02-25T21:05:15.633Z] 21:05:15     INFO - missing file: resource://gre/browser/menu.ftl referenced from resource://gre/modules/L10nRegistry.jsm
[task 2021-02-25T21:05:15.633Z] 21:05:15     INFO - missing file: resource://app/browser/menu.ftl referenced from resource://gre/modules/L10nRegistry.jsm
[task 2021-02-25T21:05:15.633Z] 21:05:15     INFO - missing file: resource://gre/platform/toolkit.ftl referenced from resource://gre/modules/L10nRegistry.jsm
[task 2021-02-25T21:05:15.633Z] 21:05:15     INFO - missing file: resource://app/platform/toolkit.ftl referenced from resource://gre/modules/L10nRegistry.jsm
[task 2021-02-25T21:05:15.634Z] 21:05:15     INFO - missing file: resource://gre/localization/en-US/test.ftl referenced from resource://gre/modules/L10nRegistry.jsm
[task 2021-02-25T21:05:15.634Z] 21:05:15     INFO - missing file: resource://app/localization/en-US/test.ftl referenced from resource://gre/modules/L10nRegistry.jsm
...
...
...
Flags: needinfo?(petcuandrei)
Pushed by sfoster@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3f27aef29928 Login CSV import log page r=sfoster,flod,tgiles
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch

I have verified this issue using the latest Firefox Nightly 88.0a1 (Build ID: 20210228215216) on Windows 10 x64, Ubuntu 20.04 and macOS 11.1.

  • The “View detailed Import Summary” link is displayed on the “Import Complete” modal. After clicking on this link, the “Import Summary Report” page is opened in a new tab.

While verifying this I have encountered some strange behaviors:

  1. After importing a CSV file that contains logins saved without username, these are recognized as errors with the “Missing username” message. Since we are able to save logins without username on the “about:logins” page, is this an expected behavior?
  2. If a login without username is saved in the “about:logins” page, and after importing a CSV file that contains a login with the same URL and Password, but also a username, is it normal for it to be imported as a different login? Shouldn't it have been updated to the existing login?
  3. After importing a CSV file that contains 2 identical logins, one of them is imported and the other one is recognized as an error with the “missing field” error on the “Import Summary Report”. Is this expected behavior? Shouldn't be detected as a duplicate login?

@Andrei should I log new bugs for the behaviors described above?

Status: RESOLVED → VERIFIED
Flags: needinfo?(petcuandrei)

1 and 2 seem fine but 3 is a bug. Need Sam to confirm this.

Flags: needinfo?(petcuandrei) → needinfo?(sfoster)

(In reply to Simona Rosu [:srosu], Ecosystem QA from comment #15)

  1. After importing a CSV file that contains logins saved without username, these are recognized as errors with the “Missing username” message. Since we are able to save logins without username on the “about:logins” page, is this an expected behavior?
  2. If a login without username is saved in the “about:logins” page, and after importing a CSV file that contains a login with the same URL and Password, but also a username, is it normal for it to be imported as a different login? Shouldn't it have been updated to the existing login?

1 and 2 are probably mutually exclusive - we should decide to do one or the other. We do allow users to save logins without usernames, partly because there are legitimate use cases where there is no username, and partly so the user can add a username later (we do this with generated passwords for example.) I'm leaning towards #2 being the correct behavior. I don't think we can assume that importing a login with matching URL and password is intended as an edit/update to an existing saved login with no username. So, #1 should be opened as a follow-up bug to remove username as needing a value.

  1. After importing a CSV file that contains 2 identical logins, one of them is imported and the other one is recognized as an error with the “missing field” error on the “Import Summary Report”. Is this expected behavior? Shouldn't be detected as a duplicate login?

Yeah that sounds like a bug.

Flags: needinfo?(sfoster)

@Andrei, @Sam, thank you for looking into this and for providing more details. We have logged an enhancement for #1 (see Bug 1695880) and a new bug for #3 (see Bug 1695882).

Flags: qe-verify+
Regressions: 1700201

I'm going to unassign :andreipetcu for now as his patch got completed and landed.

Assignee: petcuandrei → nobody
Assignee: nobody → petcuandrei
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: