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

#5666 Add initial support for Thunderbird (improved setup flow) #5690

Merged
merged 19 commits into from
Jun 5, 2024

Conversation

martgil
Copy link
Collaborator

@martgil martgil commented Apr 27, 2024

This PR adds initial support for the Thunderbird desktop email client and the specific goal is to improve the set up flow accordingly.

close #5665
issue #5666


Tests (delete all except exactly one):

  • Difficult to test - (changes are not readily completed for tests)

To be filled by reviewers

I have reviewed that this PR... (tick whichever items you personally focused on during this review):

  • addresses the issue it closes (if any)
  • code is readable and understandable
  • is accompanied with tests, or tests are not needed
  • is free of vulnerabilities
  • is documented clearly and usefully, or doesn't need documentation

@martgil martgil requested a review from sosnovsky as a code owner April 27, 2024 06:59
@martgil martgil marked this pull request as draft April 27, 2024 06:59
@tomholub
Copy link
Collaborator

How is this looking so far? This looks like it could close #5665 nearly as is. Then you could work on the followup issues in separate PRs. It's always better to make PRs smaller if possible to make progress easier.

One thing I noticed is that the content_scripts/webmail folder already on master is quite disorganised and not so easy to work on to add Thunderbird (or any other webmail) support. I country try and refactor it a little bit myself, and that could make it easier for you.

@tomholub
Copy link
Collaborator

When #5748 is merged, you can follow #5748 (comment) to close #5665 with this PR, then start working on #5666 in next issue. Let's address these one by one instead of trying to do all at once.

@martgil
Copy link
Collaborator Author

martgil commented May 29, 2024

I understood completely, Tom. I'll be following your advice instead of making them work all at once.

@martgil martgil marked this pull request as ready for review June 3, 2024 10:14
@martgil martgil changed the title #5666 #5667 Add initial support for Thunderbird #5666 Add initial support for Thunderbird (improved setup flow) Jun 3, 2024
@martgil

This comment was marked as outdated.

@sosnovsky
Copy link
Collaborator

Hi @martgil, can you please describe (or maybe make screenshots) of functionality which can be tested in this PR?
I installed FlowCrypt extension in Thunderbird, configured it and now can see FlowCrypt button on toolbar.
But when opening Encrypted inbox, it loads just empty page.

@martgil
Copy link
Collaborator Author

martgil commented Jun 4, 2024

Hello @sosnovsky - For me everything works well. I'll be sharing a video screen capture and send it to you over secure email. Nothing much to test here aside from customize descriptions as if it were a Thunderbird extension. I have also figured small things about the compose button implementation that still requires thorough planning -- let's discuss it on the original issue after this one.

@martgil martgil marked this pull request as draft June 4, 2024 03:06
@martgil
Copy link
Collaborator Author

martgil commented Jun 4, 2024

I installed FlowCrypt extension in Thunderbird, configured it and now can see FlowCrypt button on toolbar.
But when opening Encrypted inbox, it loads just empty page.

I have re-checked it and it looks like it happens because the "chrome" object was tried to be access when it fact it should be the "browser" object for firefox extensions. I'll review again and hoping it would be fixed.

Edit: The above statement seems slightly incorrect. The "chrome" object is accessible within the extension's dev tools. I'd its the popup.html that was pinned in the Thunderbird tool bar is the one that needs to be improved - it would be reconfigured easily in a way the FlowCrypt settings were accessed in the Thunderbird mail's Add-ons Manager.

The "chrome" object doesn't seem to be accessible in a popup.html of an extension Addon.

@martgil
Copy link
Collaborator Author

martgil commented Jun 4, 2024

I noticed that when accessing the extension not in the toolbar but in the Add-ons Manager of the Thunderbird mail settings and clicking the 🔧 icon, every extension page works fine. I'm investigating the issue further to develop a better hypothesis to share.

@martgil martgil marked this pull request as ready for review June 4, 2024 05:24
@martgil
Copy link
Collaborator Author

martgil commented Jun 4, 2024

Hi @sosnovsky - I have fixed the issue you have reported. You should now be able to access the FlowCrypt Settings and FlowCrypt inbox directly through the default_popup.htm on the Thunderbird toolbar. Thank you!

@martgil
Copy link
Collaborator Author

martgil commented Jun 4, 2024

As for testing, undergo normal setup using the Thunderbird extension build. Once you have finished the setup, try again accessing the FlowCrypt settings/inbox from the Thunderbird toolbar and it should work well.

@martgil
Copy link
Collaborator Author

martgil commented Jun 4, 2024

@sosnovsky This one is ready for review. thank you!

Copy link
Collaborator

@sosnovsky sosnovsky left a comment

Choose a reason for hiding this comment

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

It works well for me now 👍

extension/js/common/browser/browser.ts Outdated Show resolved Hide resolved
tooling/build-types-and-manifests.ts Outdated Show resolved Hide resolved
@martgil
Copy link
Collaborator Author

martgil commented Jun 5, 2024

Hello @sosnovsky - I have added the required changes, tested it and confirmed working well. Thank you!

Copy link
Collaborator

@sosnovsky sosnovsky left a comment

Choose a reason for hiding this comment

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

Well done 👍

Copy link
Collaborator

@sosnovsky sosnovsky left a comment

Choose a reason for hiding this comment

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

All good now, thanks! I've just updated issue description to link correct issues, as initially this PR would close Add compose button into Thunderbird UI issue

@sosnovsky sosnovsky merged commit 0552b15 into master Jun 5, 2024
13 checks passed
@sosnovsky sosnovsky deleted the issue-5666-5667-add-thunderbird-support branch June 5, 2024 11:04
@martgil
Copy link
Collaborator Author

martgil commented Jun 5, 2024

Thank you @sosnovsky - I can now drop some of the few questions that needs to be answer regarding adding compose button into thunderbird UI on its dedicated GitHub issue. Thank you for your help.

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.

[thunderbird] Recognize thunderbird environment and use alternative to gmail element replacer class
3 participants