[meta] Remove uses of bootstrapped extensions

RESOLVED FIXED

Status

()

RESOLVED FIXED
11 months ago
2 months ago

People

(Reporter: aswan, Unassigned)

Tracking

(Blocks: 1 bug, {meta})

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

11 months ago
We no longer allow arbitrary bootstrapped extensions on release or beta, but we do have a handful that get special treatment for now.  In order to remove a bunch of old code for supporting bootstrapped extensions, we need to get rid of these (either by converting them to webextensions or finding some other way to do whatever each one does)
(Reporter)

Updated

11 months ago
Depends on: 1449055
Removing bootstrapped extensions is not what was promised in https://wiki.mozilla.org/Add-ons/Firefox57

Anyways, when will this happen? It seems non-bootstrapped ones are being removed right now in bug 1448221, so I am considering refactoring my overlay add-on into a bootstrapped extension. But if you are going to remove them next week then it won't be worth.
(Reporter)

Comment 2

11 months ago
(In reply to Oriol Brufau [:Oriol] from comment #1)
> Removing bootstrapped extensions is not what was promised in
> https://wiki.mozilla.org/Add-ons/Firefox57

That page is about the restrictions related to installing and enabling different types of extensions, it is not a promise to keep supporting the legacy types indefinitely.  Sorry if there was a misunderstanding about that.

> Anyways, when will this happen? It seems non-bootstrapped ones are being
> removed right now in bug 1448221, so I am considering refactoring my overlay
> add-on into a bootstrapped extension. But if you are going to remove them
> next week then it won't be worth.

We're working out the timeline right now.  Its unlikely to happen next week but I would advise using webextensions and not bootstrap.
(In reply to Andrew Swan [:aswan] from comment #2)
> (In reply to Oriol Brufau [:Oriol] from comment #1)
> > Removing bootstrapped extensions is not what was promised in
> > https://wiki.mozilla.org/Add-ons/Firefox57
> 
> That page is about the restrictions related to installing and enabling
> different types of extensions, it is not a promise to keep supporting the
> legacy types indefinitely.  Sorry if there was a misunderstanding about that.

I think the part that's still unclear is what's left for developers who want to make add-ons that aren't possible to implement with the current set of webextension APIs, but don't really care about shipping their experimental add-on to a large audience (so if the add-on istalls only on Nightly and devedition that's fine). I mean people who mostly want to customize their own browsing experience, and may be willing to share their code but don't care if it's actually used by others.
Summary: Remove uses of boostrapped extensions → Remove uses of bootstrapped extensions
(In reply to Florian Quèze [:florian] from comment #3)
> I think the part that's still unclear is what's left for developers who want
> to make add-ons that aren't possible to implement with the current set of
> webextension APIs, but don't really care about shipping their experimental
> add-on to a large audience (so if the add-on istalls only on Nightly and
> devedition that's fine). I mean people who mostly want to customize their
> own browsing experience, and may be willing to share their code but don't
> care if it's actually used by others.

I suspect what they'll likely need to use is a bundled Experiment API to get access to the same privileged gunk that bootstrap.js always had.
Depends on: 1415467
Depends on: 1449694
No longer depends on: 1415467

Comment 5

11 months ago
How does this bug differ from bug 1419884? Looks like the direction there is more focused on moving bootstrapped to WebExtension Experiments?
See Also: → bug 1419884
(Reporter)

Comment 6

11 months ago
That bug appears to be about creating enough WebExtensions APIs to enable our current system extensions and other internal extensions to be written as pure WebExtensions.  That seems like an interesting landmark but not something we ever need to actually achieve.
Depends on: 1450305
(Reporter)

Updated

11 months ago
Depends on: 1450809
(Reporter)

Updated

11 months ago
Depends on: 1451034
(Reporter)

Updated

11 months ago
Depends on: 1358342
No longer depends on: 1451034
(Reporter)

Updated

11 months ago
Depends on: 1371346

Updated

11 months ago
Depends on: 1451463

Updated

11 months ago
No longer depends on: 1393449
(Reporter)

Updated

11 months ago
Depends on: 1451484
(Reporter)

Updated

11 months ago
Depends on: 1451485
(Reporter)

Updated

11 months ago
Depends on: 1451503
(Reporter)

Updated

11 months ago
Depends on: 1451513
(Reporter)

Updated

11 months ago
Depends on: 1451519
(Reporter)

Updated

11 months ago
Depends on: 1451522
(Reporter)

Updated

11 months ago
Depends on: 1451525
(Reporter)

Updated

11 months ago
Depends on: 1451526
(Reporter)

Updated

11 months ago
Depends on: 1451527
(Reporter)

Updated

11 months ago
Depends on: 1451532
(Reporter)

Comment 7

11 months ago
:jryans are there any devtools extensions other than adb helper that we should be tracking here?
Flags: needinfo?(jryans)
(Reporter)

Comment 8

11 months ago
I think we have dependencies now for all the bootstrapped extensions in mozila-central.
Aside from devtools (see previous comment), the out-of-tree ones I know of are:
- Shield
- Test Pilot
- Pocket

Representatives from all the above are aware of the eventual demise of bootstrapped extensions but primarily do issue tracking outside of bugzilla so we can't easily create blocking bugs here.
(In reply to Andrew Swan [:aswan] from comment #7)
> :jryans are there any devtools extensions other than adb helper that we
> should be tracking here?

No, that should be it.  We used to also have the Valence add-on as well, but that project is now unsupported.
Flags: needinfo?(jryans)
(In reply to Andrew Swan [:aswan] from comment #8)
> I think we have dependencies now for all the bootstrapped extensions in
> mozila-central.
> Aside from devtools (see previous comment), the out-of-tree ones I know of
> are:
> - Shield
> - Test Pilot
> - Pocket
> 

about:sync (https://addons.mozilla.org/en-US/firefox/addon/about-sync/, https://github.com/mhammond/aboutsync) is another out-of-tree bootstrapped extension.
(In reply to Thom Chiovoloni [:tcsc] from comment #10)
> about:sync (https://addons.mozilla.org/en-US/firefox/addon/about-sync/,
> https://github.com/mhammond/aboutsync) is another out-of-tree bootstrapped
> extension.

For the purposes of this bug, we're only concerned about extensions that are used in automation or signed for use in release builds.
(In reply to Kris Maglione [:kmag] (long backlog; ping on IRC if you're blocked) from comment #11)
> (In reply to Thom Chiovoloni [:tcsc] from comment #10)
> > about:sync (https://addons.mozilla.org/en-US/firefox/addon/about-sync/,
> > https://github.com/mhammond/aboutsync) is another out-of-tree bootstrapped
> > extension.
> 
> For the purposes of this bug, we're only concerned about extensions that are
> used in automation or signed for use in release builds.

Unless I'm mistaken, it's signed for release builds.
Ah, I might have misunderstood. It's not distributed as part of a release build, if that's what you meant.
Bootstrapped add-ons can't be installed in release builds unless they're signed with a special certificate. about:sync is not signed in that way. Not the version on AMO, at any rate.
Ah, yeah, that's what I initially thought you meant. No, about:sync is signed with that certificate, and can be installed on release builds (I just double checked on a fresh profile). We often recommend users do this to help report bugs.

ni?markh to confirm, since he's the one that goes through the signing process.
Flags: needinfo?(markh)
I'm not sure exactly what certificate is being referred to here, but about:sync is signed using the process at https://mana.mozilla.org/wiki/display/SVCOPS/Sign+a+Mozilla+Internal+Extension, making it available in the release channel.
Flags: needinfo?(markh)
Sorry, you're right, I misread the signature info. In that case, I suggest you migrate the extension to a WebExtension as soon as possible. Signed legacy extensions that aren't in-tree won't block this removal.

Comment 18

11 months ago
Could implementing bug 1451983 help migrate some extensions to WebExtensions?

(In reply to Andrew Swan [:aswan] from comment #8)
> I think we have dependencies now for all the bootstrapped extensions in
> mozila-central.
> Aside from devtools (see previous comment), the out-of-tree ones I know of
> are:
> - Shield
> - Test Pilot
> - Pocket
> 
> Representatives from all the above are aware of the eventual demise of
> bootstrapped extensions but primarily do issue tracking outside of bugzilla
> so we can't easily create blocking bugs here.

Test Pilot has bug 1280233 open for this.
Depends on: 1280233

Updated

11 months ago
Depends on: 1452307

Updated

9 months ago
Depends on: 1271476
(Reporter)

Updated

9 months ago
No longer depends on: 1271476

Updated

8 months ago
Depends on: 1411641
No longer depends on: 1411641
Blocks: 1459029
No longer blocks: 1459029

Updated

7 months ago
Depends on: 1474414
Depends on: 1475571
No longer depends on: 1449694
Does this affect the ASan reporter addon in browser/extensions/asan-reporter/ ? If so, I might need someone to help migrating this. We cannot remove support for this extension until we have a working alternative.
Flags: needinfo?(kmaglione+bmo)
(Reporter)

Updated

6 months ago
Depends on: 1487173
(Reporter)

Comment 20

6 months ago
(In reply to Christian Holler (:decoder) from comment #19)
> Does this affect the ASan reporter addon in
> browser/extensions/asan-reporter/ ? If so, I might need someone to help
> migrating this. We cannot remove support for this extension until we have a
> working alternative.

Yes, asan-reporter will be affected.  I thought I talked to somebody about asan-reporter a while back and concluded that it wasn't used, but not to worry, it looks like a pretty trivial port.  Lets take further discussion to bug 1487173.
Flags: needinfo?(kmaglione+bmo)

Updated

6 months ago
Depends on: 1488541

Updated

6 months ago
Depends on: 1488813

Comment 21

4 months ago
From 'Intent to unship: bootstrapped extensions' <https://mail.mozilla.org/pipermail/dev-addons/2018-June/003831.html> (2018-06-05): 

> … plan to remove support for bootstrapped extensions altogether 
> in Firefox 65. …
(Reporter)

Updated

4 months ago
Depends on: 1462415
No longer depends on: 1450809
Depends on: 1498278
See Also: → bug 1498929
(Reporter)

Updated

3 months ago
No longer depends on: 1280233
(Reporter)

Comment 22

3 months ago
All the dependencies are closed, marking this done!
Status: NEW → RESOLVED
Last Resolved: 3 months ago
Resolution: --- → FIXED

Updated

3 months ago
Blocks: 1419884, 1498929
Summary: Remove uses of bootstrapped extensions → [meta] Remove uses of bootstrapped extensions

Updated

2 months ago
Depends on: 1517505
You need to log in before you can comment on or make changes to this bug.