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

Feature Request: Firefox Port #105

Open
eberhardweber opened this issue Jan 21, 2020 · 4 comments
Open

Feature Request: Firefox Port #105

eberhardweber opened this issue Jan 21, 2020 · 4 comments
Assignees

Comments

@eberhardweber
Copy link

Firefox uses the same WebExtension standard as Google Chrome with minor differences, so porting and publishing - while a considerable task - wouldn't mean rewriting the extension completely in order to support a new platform.

Adding Firefox support would also help with using Discogs on Android phones, as Firefox supports add-ons on the mobile version.

I currently have to use an installation of Vivaldi just for this add-on so Firefox support would be fantastic! :)

@salcido
Copy link
Owner

salcido commented Jan 22, 2020

@eberhardweber
Yes, Firefox uses the same standard as Chrome but there are enough differences to make the task of creating a separate version laborious with little to no ROI for myself.

I tried for several months back in 2016 to get Discogs Enhancer into the Firefox Add-on store. The code reviewers were largely unhelpful, refused to answer my questions, and repeatedly sent me deprecated documentation, while simultaneously requesting I update their outdated documents myself. The process was quite frustrating and left me with little interest in developing extensions on the Firefox platform.

Even when ignoring the reasons above, there are other issues preventing Discogs Enhancer from being accepted into the Add-On store. Mozilla will not allow extensions to use the innerHTML method. That means large portions of the codebase (this for example) would need to be rewritten using document.createElement to generate the necessary markup. This approach makes maintaining, augmenting, and debugging the extension significantly more tedious.

Another big factor is time. I've been working on this extension for close to 4 years now and it's grown quite a bit. It takes a large amount of time and energy to put out new versions. Anytime there is a new feature I need to:

  • write the logic
  • test it
  • write unit and functional tests for it
  • update the readme
  • update the change log
  • create the images and documentation for the learn page
  • update the toggle and submenu logic in the popup
  • update the website
  • update the list of features on the Chrome store page
  • make a new release here on Github
  • make an announcement post in the group on Discogs.com

Adding Firefox into the mix means even more time doing the aforementioned list of tasks with each new release.

Money also plays a role. Discogs Enhancer uses its own currency conversion API that costs me $72/year to host. The extension is free but I ask for donations. Occasionally generous people will donate a few dollars which helps to offset the cost of hosting. Unfortunately, I only receive around $35 dollars a year in donations. Essentially about enough to cover half of the cost of hosting the API.

I love Discogs and I enjoy working on this extension but the amount of time it takes to maintain it is substantial and I don't receive enough in donations to make the additional time and energy required to support a Firefox version worth it.

@salcido salcido self-assigned this Jan 22, 2020
@eberhardweber
Copy link
Author

Appreciate the definitive answer. Good luck with maintaining the add-on! Disheartened to hear you received poor support. Unfortunately, the Firefox add-ons WebExtension conversion seems to have been coupled with a fair bit of unfortunate streamlining. It often feels to me like add-on developers are seen by the corporate as a nuisance, or a pest, instead of a positive, transformative force.

@slatkin
Copy link

slatkin commented Sep 2, 2024

Just a note that currently porting this is very easy, at least in the latest Firefox versions.

In manifest.json just needs to rename "service_worker" to "scripts", and add the following new setting (adding one's own GUID):

"browser_specific_settings": { "gecko": { "id": "{--GUID--}", "strict_min_version": "58.0" } }

Then sign the dist build using Firefox's web-ext tool.

@salcido
Copy link
Owner

salcido commented Sep 3, 2024

Hey thanks! I haven't looked into this in a number of years but I'll take another look and see how feasible it is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants