47

[Meta] WebExtension Support · Issue #5315 · mozilla-mobile/fenix · GitHub

 4 years ago
source link: https://github.com/mozilla-mobile/fenix/issues/5315
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Join GitHub today

GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.

Sign up

[Meta] WebExtension Support #5315

Closed

vesta0 opened this issue on Sep 14, 2019 · 47 comments

Comments

Member

vesta0 commented on Sep 14, 2019

edited

We want to bring WebExtensions support to Fenix and provide our users with the choice to customize their browsing experience.

Follow our progress here on the WebExtensions project Board: https://github.com/orgs/mozilla-mobile/projects/44#card-26664450

Contributor

yoasif commented on Sep 18, 2019

Can you open the Google doc up @vesta0?

I concur, having feature briefs linked in an open source project that only people with access can see seems to go against the open source spirit. If it is an on going internal discussion I sort of understand but having some context here for us eagerly following development would be nice.

Contributor

cadeyrn commented on Sep 19, 2019

@vesta0 As add-on developer I am particularly interested in the APIs you plan to support. What is the best place to talk about the APIs I need to port my add-ons to Fenix?

Member

Author

vesta0 commented on Sep 20, 2019

@yoasif @cadeyrn @creesch I will share more details as soon as we have them! The cross-functional team is currently discussing various approaches and we should have a plan soon. Thanks for your interest and stay tuned!

Isn't this a duplicate of this one? #574

I'm sorry if I seem rude, but in almost every open source project I've seen recently "exploring ways to implement" or similar really just means "if we get really bored we'll do it but probably not"
I'm just going to say that I chose Firefox over Chrome for two reasons on Android: it's not run by Google (privacy concerns) and supports add-ons. Before the speed of Chrome made it preferable. Firefox preview has finally caught up on the speed front so that's no longer a hindrance.
In addition, browsers like Samsung internet support a limited range of extensions in the firm of content blockers, and now kiwi browser (based on Chrome) fully supports extensions.

Please, please do not let this become just another abandoned side project that was ditched in favor of "performance and security" (rough excuse Google uses for no add-ons on Android Chrome), and listen to your users. That's been one of the key differences between Mozilla and Google let's keep it that way

I'll be eagerly watching this issue for updates, keep 'em coming!

Member

Author

vesta0 commented on Oct 10, 2019

We have started the foundational work. It will be a while before it makes it into the product but you can follow it here :)

Just want to throw this in as an extension developer:
It would be very appreciated, if the web-extension code could be shared between desktop and mobile.

Currently, you often see support for an API on desktop, but not on mobile. This essentially makes one of my extensions incompatible with Firefox android and the other one only supports a very limited subset of the features of the desktop version. If this was a common code-base, new apis could arrive at the same time.

Member

Author

vesta0 commented on Feb 8

Thank you everyone for your feedback so far. I’d like to clarify my earlier comment, as it might have left room for interpretation, and I apologize if this has caused misunderstanding.

Since Firefox Preview is built on a completely new foundation, this affects the APIs we can support in this early stage of the rollout. At the same time, we are excited about the enhanced performance, privacy, and security benefits of Firefox Preview, so we want to make it available to everyone as quickly as possible.

I mentioned that we will be building API support exclusively for the Recommended Extensions program, which is true for our near-term plans. We don’t expect this to be true in the long run. Prioritizing support for recommended extensions allows us to ensure that the first supported add-ons will be secure and work well on the new Firefox for Android.

While it is currently not possible to install other extensions, we would like to expand our support for them. There are add-ons that aren’t currently part of the Recommended Extensions program but are super useful on mobile. We’d like to find a place for those. We will be better able to plan for them once we support more APIs and make improvements to the overall developer and user experience.

We’ll keep you updated on our progress on the add-ons blog. If you’d like to discuss add-on support in Firefox for Android further, please head over to our community forum. As a gentle reminder, please remember that comments on this issue and our community forums are expected to adhere to Mozilla’s Community Participation Guidelines.

madb1lly commented on Feb 27

Well, I don't use uBlock origin so the current WebExtension support is unuseful to me. How is further support being prioritised? Is it by number of users of a specific Add-On? Is it by the most commonly used APIs? Or some other method?

madb1lly commented on Feb 27

Hello @cadeyrn thank you, I had already read that. From my understanding it does not answer my questions:

How is further support being prioritised? Is it by number of users of a specific Add-On? Is it by the most commonly used APIs? Or some other method?

Contributor

cadeyrn commented on Feb 27

Read below the headlines "Will more add-ons be supported in the future?" and "Will add-ons not part of the Recommended Extensions program ever be supported on the new Firefox for Android?". These parts are about prioritization.

madb1lly commented on Feb 27

@cadeyrn in my opinion they don't explicitly address my questions, however since you think that they do, please can you provide clear answers? Is support being prioritised based on number of users of a specific Add-On? Is it by the most commonly used APIs? Or some other method?

pwd-github commented on Feb 27

edited

@madb1lly I would guess that at this point they're still unsure. I suspect that they're going to see how it goes with uBlock Origin before committing to anything or any specific road map.

I see that Billy's question got a couple of thumbs downs. I think his question was a fair one and thus to ask for clarification is also fair. It's okay to ask questions.

As you can see (and hear) in the last Show and tell (4:30), whole existing Firefox for Android API should be already (!!!) supported in Fenix:
https://mzl.la/add-on-demos-2020-02-20

creesch commented on Feb 28

edited

As you can see (and hear) in the last Show and tell (4:30), whole existing Firefox for Android API should be already (!!!) supported in Fenix:
https://mzl.la/add-on-demos-2020-02-20

Except that they give no option to install any other webextension besides the ones they preapproved. In fact the FAQ posted after @vesta0's last reply here is even more definitive as she was in that supporting anything else is simply not on the horizon.

I am still of the opinion that closing of the webextensions to anything than preapproved extensions is a bad idea.

  1. It means that only existing extensions can be made suitable for mobile so anyone having an idea specifically for a mobile only extension will not be able to do so.
  2. Limiting it to only a few extensions only makes sure that the explicit way those extensions call on the api works. It doesn't expose issues around edge cases or simply around unused bits of the extension api. Even if you are not going to prioritize them right away you'd think you want to be aware of those issues as early as possible.
  3. It really goes against the open nature of the internet Mozilla advocates.

madb1lly commented on Feb 28

Thanks @Juraj-Masiar. @creesch you're right, there's still no official way to enable or install other add-ons, which may be reasonable for the normal Firefox Preview but in Nightly it seems odd.

creesch commented on Feb 28

It seems I might have missed something from the demo (I didn't watch the entire video for obvious reasons), but it seems we can actually test extensions now with the latest web-ext?

creesch commented on Feb 28

edited

And here is how you test your webextension as a developer

  1. On your android device enable developer settings and enable debugging over USB.
  2. Install ADB (android device bridge) which comes bundled with the android SDK, if you don't want the entire sdk download the platform tools windows url extract them and add the directory you added to the path.
  3. Install web-ext globally.
  4. Connect your phone via USB.
  5. From your extension directory (where manifest.json is located) run web-ext to run your extension.
     web-ext run --target=firefox-android --android-device=<IDGOESHERE> --firefox-apk=org.mozilla.fenix.nightly
    
    Obviously you need to know your device id, simply run the command first without the --android-device flag and it will list the connected android devices (make sure to also accept on your device).

Frankly, it baffles me that nobody at Mozilla thought to communicate this here and instead resorted to the vague things as said in the FAQ and previously here. Developers of extensions also want to be prepared and get an idea of where things stand.

mozilla-mobile

locked as off topic and limited conversation to collaborators

on Feb 28

lime124

moved this from In Design to Prioritized UX Backlog in Fenix Sprint Kanban

on Apr 4

lime124

moved this from Prioritized UX Backlog to In Design in Fenix Sprint Kanban

on Apr 30

vesta0

added this to Q2: A-C, SYNC, GV, Perf, Pocket in Fenix Product Backlog

on May 12

Member

Author

vesta0 commented on Jun 23

This meta issue was created to track our first milestone: build the foundational support for WebExtensions and ship a few of the most used/wanted add-ons on mobile: uBlock origin, NoScript, HTTPS Everywhere, Privacy Badger, Dark Reader, and Search By Image. Since initial support has now landed, we will close this issue, and file separate ones to track future milestones. You can still follow the in progress/planned work here: https://github.com/orgs/mozilla-mobile/projects/44#card-26664450

If you’d like to learn more about our future plans, please keep an eye out on https://blog.mozilla.org/addons/

Fenix Sprint Kanban automation

moved this from In Design to Sprint 20.11 Done

on Jun 23

vesta0

moved this from Important bugs to Q2: Individual User Stories in Fenix Product Backlog

on Sep 10

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Milestone

No milestone

Linked pull requests

Successfully merging a pull request may close this issue.

None yet

24 participants
and others

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK