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

Add new browser import sources and bitwarden #1735

Closed
wants to merge 11 commits into from

Conversation

mallexxx
Copy link
Collaborator

@mallexxx mallexxx commented Oct 9, 2023

Task/Issue URL: https://app.asana.com/0/0/1205457795786502/f

Description:

  • Added new browsers to import sources:
    • Chromium
    • Coc Coc
    • Opera
    • Opera GX
    • Tor
    • Vivaldi
    • Yandex (bookmarks only: proprietary password manager encryption)

Steps to test this PR:

  1. Install the listed browsers, add some bookmarks/passwords
  2. Validate data import from the browsers works

Internal references:

Pull Request Review Checklist
Software Engineering Expectations
Technical Design Template
Pull Request Documentation

@mallexxx mallexxx requested a review from ayoy October 9, 2023 09:34
@github-actions
Copy link
Contributor

github-actions bot commented Oct 10, 2023

Warnings
⚠️ PR has more than 500 lines of code changing. Consider splitting into smaller PRs if possible.

Generated by 🚫 dangerJS against c50b7f0

@ayoy ayoy self-assigned this Oct 10, 2023
Copy link
Collaborator

@ayoy ayoy left a comment

Choose a reason for hiding this comment

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

@mallexxx I can get the app to crash in the following scenario:

  1. Have Coc Coc installed, but never run it
  2. Go to import bookmarks in our browser
  3. Select Coc Coc on the list
  4. Crash

If I manually create a directory at ~/Library/Application Support/Coccoc, then Coc Coc disappears from the list and can't be selected. This seems to be the case with other browsers too – if the app is installed but never launched, it appears in the import sources list but makes the app crash when selected.


Another (less important) issue is that when I installed Yandex but skipped the initial setup and went straight to browsing the web, importing data from Yandex causes the "Sorry, we weren't able to import your data." dialog to show up. I'd expect "Imported 0 Bookmarks" instead.

@mallexxx
Copy link
Collaborator Author

@ayoy, the assertion was probably because of wrong condition check in isInstalled, it had no comment so I fixed it, correct me if I‘m wrong

@mallexxx
Copy link
Collaborator Author

mallexxx commented Oct 10, 2023

About the Yandex issue - let‘s keep it as a follow-up because the same is valid for importing passwords from a Chromium browser without any passwords saved - having the passwords checkbox checked and getting an error is confusing but unchecking the checkbox fixes the thing - we‘ve got some reports about it and there‘s a task in the project for this: https://app.asana.com/0/0/1204180319229906/f

Probably the checkbox should be disabled on the import screen if we can‘t detect the needed file

@mallexxx mallexxx requested a review from ayoy October 10, 2023 10:42
Copy link
Collaborator

@ayoy ayoy left a comment

Choose a reason for hiding this comment

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

Looks and works great now! Thanks @mallexxx! 🎉

I'm leaving one tiny thing I've found while reviewing. It would make sense to update copy for Tor Browser import to not mention Firefox. Otherwise import works reliable for all new browsers 💪

…urces; Update Firefox MoreInfo to include actual browser name
Task/Issue URL:
https://app.asana.com/0/1199178362774117/1202408404935489/f

**Description**:
- Added Bitwarden CSV Import Source
- Refactored CSV parser: 
- parsing was incorrectly handling quote characters escaped by backslash
but should be double quotes instead
  - now passwords with \ and " should be imported correctly
- Improved CSV headers detection to support Bitwarden, Zoho (general +
vault formats), RoboForm, Dashlane

**Steps to test this PR**:
1. Validate CSV import from password managers stated above as well as
existing CSV integrations (1Password, LastPass, Safari)

<!--
Tagging instructions
If this PR isn't ready to be merged for whatever reason it should be
marked with the `DO NOT MERGE` label (particularly if it's a draft)
If it's pending Product Review/PFR, please add the `Pending Product
Review` label.

If at any point it isn't actively being worked on/ready for
review/otherwise moving forward (besides the above PR/PFR exception)
strongly consider closing it (or not opening it in the first place). If
you decide not to close it, make sure it's labelled to make it clear the
PRs state and comment with more information.
-->

---
###### Internal references:
[Pull Request Review
Checklist](https://app.asana.com/0/1202500774821704/1203764234894239/f)
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
[Pull Request
Documentation](https://app.asana.com/0/1202500774821704/1204012835277482/f)
@mallexxx mallexxx changed the title Add new browser import sources Add new browser import sources and bitwarden Nov 17, 2023
@ayoy ayoy changed the base branch from develop to main December 6, 2023 16:04
@mallexxx
Copy link
Collaborator Author

continued in #1754

@mallexxx mallexxx closed this Dec 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants