webcatalog / webcatalog-legacy

Legacy code of the WebCatalog app.
https://webcatalog.io/webcatalog/
Mozilla Public License 2.0
532 stars 85 forks source link

feature: add WebExtension support #710

Closed marcusquinn closed 2 years ago

marcusquinn commented 4 years ago

Feature Request

Describe the Feature Request Offer common Password Extensions in Electron Browsers available to turn on in settings.

(I assume Electron is Safari/Webkit on Mac? So these are extensions I know work well in Safari on Mac as well as Chromium, Firefox & Opera. Saying that - perhaps you can offer the same setup setting preset option for other browsers too?)

Describe Preferred Solution My preferred options being:

quanglam2807 commented 4 years ago

Thanks for the suggestion! It's probably possible as Electron somewhat supports WebExtension https://stackoverflow.com/questions/53341132/how-can-i-add-a-custom-chrome-extension-to-my-electron-app. But keeping the extensions up-to-date would be an issue. I'll focus #678 for now.

marcusquinn commented 4 years ago

Fair enough - I guess if you do one, there will be requests for more - but if you can just do one, I think Bitwarden would be the best pick of the bunch being open-source and highly regarded.

quanglam2807 commented 4 years ago

Electron team is working to add WebExtension support. So hopefully, we would have extension ( including password manager) support soon.

I've renamed the issue's title to match the good news!

quanglam2807 commented 4 years ago

Thank you, @srbrunner! The suggestions in https://github.com/atomery/webcatalog/issues/969 are amazing. The only problem is the license of https://github.com/sentialx/electron-extensions is not very friendly.

nilswald commented 4 years ago

I would like to give this an upvote! ;)

GGORG0 commented 3 years ago

Is this discussion still active and will we get it?

marcusquinn commented 3 years ago

Hey @quanglam2807 Just a nudge on this.

Bitwarden would be very much appreciated, especially because using Webcatalog containers would also then enable using different containers using different Bitwarden server addresses.

I'd go as far to say as this should now be the highest priority issue for Webcatalog's overall experience and security.

quanglam2807 commented 3 years ago

Thank you for reminding me about this, @marcusquinn.

Supporting extensions won't be an easy task because Electron itself doesn't have support all extension APIs. I'll probably have to build a team to work on it.

I understand everyone needs this and will try my best to get it resolved ASAP.

quanglam2807 commented 3 years ago

Basic extension support (very early version) is now available in pre-release channel. WebCatalog > Preferences > Receive pre-release updates.

quanglam2807 commented 3 years ago

Please test it, everyone. Extensions like uBlock Origin or Dark Reader should work properly.

jovobe commented 3 years ago

Thank you very much for publishing this feature, @quanglam2807!

I just tested the Extensions in a fresh installed Google Calendar app and got this popup: image with Google Chrome installed (Version 91.0.4472.77 (Official Build) (64-bit)) and MS Edge installed (Version 91.0.864.41 (Official build) (64-bit)) on Windows 10 (Version 10.0.19043.985) and WebCatalog Version v33.1.0. A click on the buttons "Refresh" or "Disable all" did nothing.

quanglam2807 commented 3 years ago

@jovobe Thanks a lot for testing. The bug has been fixed in v18.0.0-alpha.5

ScottYates commented 3 years ago

Basic extension support (very early version) is now available in pre-release channel. WebCatalog > Preferences > Receive pre-release updates.

Thank you so much! This was something I VERY much wanted! So far it works very well for me. No bugs to report, just a thank you!

jovobe commented 3 years ago

Nice, I am able to load my extensions (from Chrome)! Thanks for the quick fix @quanglam2807 👍🏻 A few bugs on my site:

[0]: https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm [1]: https://chrome.google.com/webstore/detail/1password-extension-deskt/aomjjhallfgjeglblehebfpbcfeobpgk [2]: https://chrome.google.com/webstore/detail/grammar-and-spell-checker/oldceeleldhonbafppcapldpdifcinji

nilswald commented 3 years ago

Thank you very much – this is absolutely amazing and I am super excited about this new feature!

All my Chrome extensions are displayed in settings, I can enable the Enpass Password Manager support, the icon shows up in the navigation bar, right-click works (i.e. about, options - it looks a bit different in Chrome though) but clicking the icon does not bring up the Enpass popup.

srbrunner commented 3 years ago

1password Microsoft Edge extension has the same issue as the chrome extension.

howyay commented 3 years ago

In addition, Bitwarden (Edge) fails to log in as well. (Error is "Failed to fetch" upon logging in)

As this is still an early implementation, one should expect similar results from some of the more complex extensions.

tonyxiao commented 3 years ago

CleanShot 2021-06-21 at 16 48 05

Getting a similar issue. Trying to use the Everhour extension for Asana and also having trouble. I made it so that everhour is an internal URL, and it seems to login successfully within web catalog. However when going back to asana the extension still appears to not be logged in. Refresh doesn't appear to help.

quanglam2807 commented 3 years ago

Thank you everyone! We'll try to get those bugs fixed ASAP.

Also, this is possible mostly thanks to @samuelmaddock.

miguelrs commented 3 years ago

I understand this is the place to report issues with the new extensions feature?

If so, I did find a bug with the Code Climate Chrome extension. I wanted to use this extension in my GitHub app in WebCatalog, and I can see it listed along with my other extensions from Chrome, but when I enable it and restart the app, it does nothing.

This extension is supposed to render some icons with info about test coverage and other things when on a PR page. When I look at the devtools in Chrome, I can see some requests being made to chrome-extension://... and the icons are loaded. However, in the WebCatalog app I can't see any requests...

I realized I get these errors in the console when I access a PR page (where the plugin should be loaded):

GitHub_-_HSAPP-4030__Track_Automatic_Manual_Workflows_unique_convos_processed__by_miguelrs_·_Pull_Request__10194_·_helpscout_hs-app
Vad1mo commented 3 years ago

I tried to use the HubSpot extension in Gmail and got this error message:

Bildschirmfoto 2021-07-07 um 23 30 47
bjornhansell commented 3 years ago

I tried to activate the Grammarly chrome extension in my Gmail (webcatalog) app. The problem is that I have to log into Grammarly to activate the extension, but the log in window opens in my regular web browser and I simply can't activate the extension in my Gmail (webcatalog) app. Any ideas of how to solve this problem? (I'm assuming the same happens for any extension that requires a log in).

srbrunner commented 3 years ago

Basic extension support (very early version) is now available in pre-release channel. WebCatalog > Preferences > Receive pre-release updates.

Was extensions removed? I no longer see them as an option. I am currently running Version v35.1.1 (x64) with "Receive pre-release updates" turned on

NationJob commented 3 years ago

After updating the apps that I use from the v35.1.1 WebCatalog app, i am seeing the same thing. The extensions that I use are no longer there. Can we please get this fixed or reverted?

ylluminate commented 3 years ago

Seems like these are available in v36.0.0, but I can't seem to add them directly, which is of course unfortunate: extensions

Are we going to see WebCatalog managing its own extensions vs pulling them from Chrome and Edge?

jrsilvey commented 3 years ago

I have come to rely on Web Catalog for virtually all of my workflows and have recently found myself making custom Singlebox installs with multiple custom app accounts for virtually all of my projects. Webcatalog is a vital and irreplaceable tool.. one of the very few pieces of software that I, an open source activist, have ever purchased. I have been a strong supporter for some time and have promoted Web Catalog as a viable alternate to PWs in any browsers.

I use Solus (Linux, x64) as an OS I use Vivaldi as a Web Browser but also have Chrome installed.

There are multiple extensions that I use that would be helpful to have access to but there is only one that matters.. Bitwarden.

I strongly feel that the current focus of Chrome Extensions in Web Catalog should first focus on a Password Manager.(see extended information I have previously written about password managers here) Dashlane is a strongchoice but is only available on Mac and Windows. Lastpass has had multiple severe and recurring security issues. Enpass can be used on some versions of Linux but not all.

Bitwarden is the only password manager that can be accessed and used on every single OS (Linux, Windows, Mac) and all Web Browsers (Chrome, Opera, Vivaldi, Edge, Firefox) and has a history of strong security practices.

Before devoting time to the plethora of (very necessary and useful) extensions that are not password managers, I strongly advise the WebCatalog team to get at least one third-party Chrome password extension usable.

Bitwarden is available to be used through my Chrome installation. Screenshot from 2021-08-20 04:05:53

It turns on successfully and shows up in my WebCatalog Singlebox Account bar on the left. Screenshot from 2021-08-20 04:06:18

When clicked it shows the Login screen just fine. Screenshot from 2021-08-20 04:06:38

However when you attempt to login it says FAILED TO FETCH Screenshot from 2021-08-20 04:07:09

However there is a settings gear that, when pressed, opens up settings available for Bitwarden SELF-HOSTED ENVIRONMENT. This self-hosted environment is only available to premium and enterprise users to the best of my knowledge and would have to be created from scratch in order for these setting to be functional (to the best of my knowledge). Screenshot from 2021-08-20 04:07:36

It is most likely an issue of allowing the extension to be run directly from Chrome and not as a self-hosted service. I have been a Bitwarden user for several years and will check tomorrow about whether there is anyway to make a standard (non-self-hosted) Bitwarden extension appear to be self-hosted.. I do not know if this is possible but I might as well check before just assuming.

I would be more than happy to find more information on fixing this issue but I am not sure where to start besides looking into Bitwarden's Self-Hosting Environment data.

rapatel0 commented 3 years ago

Saturating CPU with any extension running

Extension Loaded (Markdown Here, Simplify Gmail) - 97 to 134% CPU utilization

image

No Extension loaded - <13 % CPU Utilization

image

edit: The issue seems to be specific to markdown here. link

quanglam2807 commented 3 years ago

Due to the unstable nature of this feature, extension support will be disabled and hidden in the stable release channel of the app. To continue using the feature, please join the prerelease channel: WebCatalog app > Preferences > Updates > Receive prerelease updates.

Any versions which end with -beta, -alpha or -rc will have extension support.

sicahjes commented 3 years ago

I just trialled the pre-release for the extension functionality. Thought I would share my experience:

samuelmaddock commented 3 years ago

Thank you everyone! We'll try to get those bugs fixed ASAP.

Also, this is possible mostly thanks to @samuelmaddock.

Thanks for mentioning me, @quanglam2807. I've been monitoring this thread while working upstream on extension support.

Much of the finer extension support requires contributions directly to Electron, which has been going well, but takes time with the feedback and release cycles. Recently as of Electron v15.0.0-beta.2, we now have better support for accessing iframes within Electron. This means the added ability for extension APIs to detect and read login forms within nested webpages.

I've had success with both 1Password and Bitwarden extensions in my Electron-based web browser application I'm using to test extension support (fwiw, this application isn't meant for consumers. It's just to test extension support mostly).

1Password Bitwarden
electron_2021-09-04_00-50-52vyNh electron_2021-09-04_00-52-35njnV

Hopefully once Electron v15 is stable and WebCatalog is able to make any needed adjustments, better support for password managers will become a possibility.

Also, thanks to everyone posting feedback here as it helps provide me with a better idea of what kind of extensions need the most attention.

quanglam2807 commented 3 years ago

Thank you so much, @samuelmaddock! Password manager extensions now work with Neutron@20.0.0-alpha.4 👯

nilswald commented 3 years ago

I can happily confirm that the Enpass extension is now fully supported! Thanks to everyone who made this happen, this is a massive time (and pain) saver!

Version 20.0.0-alpha.5 (WebCatalog, x64) Neutron: 20.0.0-alpha.5 Electron: 15.0.0-beta.2 Node: 16.5.0 Chromium: 94.0.4606.20

sicahjes commented 3 years ago

I'm not an advanced user, I just need the extensions to work.

I've updated, re-enabled 'pre-release updates' and I do not have an extensions options. This thread discussed other services. Are they built in, or am I meant to be installing something else?

Thanks

quanglam2807 commented 3 years ago

@sicahjes After enabling 'pre-release updates', you need to restart the app. You'll be able to update your apps to pre-release versions which have extension support.

quanglam2807 commented 3 years ago

Hi everyone, If you have time, please fill in this form https://docs.google.com/forms/d/e/1FAIpQLSfF4IhgsyYDbiGVx0sz0JKLd9Rs0g71lUqTpw8Jv_nixpQqiw/viewform to report to us which extensions are working and which are not. It'll help us prioritize what to work on.

jovobe commented 3 years ago

Hi everyone, If you have time, please fill in this form https://docs.google.com/forms/d/e/1FAIpQLSfF4IhgsyYDbiGVx0sz0JKLd9Rs0g71lUqTpw8Jv_nixpQqiw/viewform to report to us which extensions are working and which are not. It'll help us prioritize what to work on.

You need permission This form can only be viewed by users in the owner's organisation.

quanglam2807 commented 3 years ago

@jovobe Thanks for letting me know. I've fixed it.

Also, you can also click on the "Report Problems" in the extension page to quickly report the status. The form will be automatically filled.

Screen Shot 2021-10-03 at 9 46 19 AM
swrobel commented 3 years ago

I've been reporting that Dark Reader isn't working for several versions and it still isn't working... is this expected to be working at all? Is it working for anyone?

videopilot commented 2 years ago

Dark Reader isn't working for me. It's just stuck on "Loading, please wait" in the menu and the page is not dark.

image
quanglam2807 commented 2 years ago

Here's the public status report: https://docs.google.com/spreadsheets/d/1INR-LtCQMNeB0ct-POkkJzs3TUM3UI9V8jWL-oTVevU/edit?usp=sharing

And I'm sorry but the Dark Reader extension doesn't work.

quanglam2807 commented 2 years ago

Thank you so much for the feedback. We’ll take it into consideration and try to work on the feature/bug fix in the future.

For now, we’ll close this issue as we’re replacing GitHub Issues with other tools to help our team to streamline, better coordinate, and scale our operations. If you have feedback or questions, feel free to contact us at https://webcatalog.io/contact/.