BrowserWorks / Waterfox

The official Waterfox 💧 source code repository
https://www.waterfox.net
Other
3.83k stars 340 forks source link

v68 and ServiceWorkers? #1076

Closed laniakea64 closed 3 years ago

laniakea64 commented 5 years ago

@MrAlex94 wrote in https://github.com/MrAlex94/Waterfox/issues/545#issuecomment-499554700 -

ServiceWorkers ... will remain enabled for v68. I may look into a permission prompt though, as that would be more appropriate.

But in self-built 68.0a2 built from https://github.com/MrAlex94/Waterfox/commit/1f39ca37c83b3f3507b808bc09855ca550fe4323 , ServiceWorkers are disabled by default, dom.serviceWorkers.enabled is set to false by default. And I'm not seeing the aforementioned permission prompt when visiting sites that try to register ServiceWorker, regardless the value of dom.serviceWorkers.enabled.

Has the plan changed regarding ServiceWorkers in Waterfox 68?

laniakea64 commented 5 years ago

Looks like this change was inherited from the initial esr68 merge - https://github.com/MrAlex94/Waterfox/commit/b2036116bdb32abd89303ca088a52656cbfc03f0#diff-d7a0401e94f68887594ad1d1d9f9c28dL1716-R1714

grahamperrin commented 5 years ago

Thanks – so we have:

1548941 - Stop allowing e10s to be turned off with a pref for user-facing desktop builds was RESOLVED FIXED in Firefox 68 so I guess that users of Waterfox 68 will be simply unable to use Service Workers.

Looking ahead:

laniakea64 commented 5 years ago

1548941 - Stop allowing e10s to be turned off with a pref for user-facing desktop builds was RESOLVED FIXED in Firefox 68

Could you please clarify what this has to do with ServiceWorkers?

so I guess that users of Waterfox 68 will be simply unable to use Service Workers.

:confused: I use Waterfox 68.0a2 self-build from https://github.com/MrAlex94/Waterfox/commit/1f39ca37c83b3f3507b808bc09855ca550fe4323 (post-esr68-merge), and simply just flipping dom.serviceWorkers.enabled to true looks to get my local ServiceWorker test page working.

grahamperrin commented 5 years ago

Could you please clarify what this has to do with ServiceWorkers?

This might help to put it in context, from https://bugzilla.mozilla.org/show_bug.cgi?id=1557565#c0:

ServiceWorkers-e10s didn't make Firefox 68 so we need to disable ServiceWorkers on ESR. …

If the need to disable the feature was specific to e10s, then (I guess) running the browser in single-process mode would have negated the need.

laniakea64 commented 5 years ago

Thanks for the clarification. Sounds like basically, although ServiceWorkers are usable in v68, there are potential web compatibility issues with Gecko 68 implementation of ServiceWorkers under e10s, and Mozilla doesn't want to backport patches to ESR68.

Don't know if @MrAlex94 comment https://github.com/MrAlex94/Waterfox/issues/545#issuecomment-389588081 would apply to Waterfox's gecko68 branch as well? - (emphasis mine)

Service workers have been enabled since Firefox 44. It's disabled in ESR because Mozilla didn't want to backport patches for it (which I have been doing).

MrAlex94 commented 5 years ago

Hmm, unsure what to do with this. I was planning to implement this as a way to control service workers, but the points made in that bug are quite valid. I suppose giving user the choice is the best bet?

grahamperrin commented 5 years ago

I wonder why they're disabled by default in 68 ESR but enabled by default in 68 (68.0.1) …

laniakea64 commented 5 years ago

I wonder why they're disabled by default in 68 ESR but enabled by default in 68 (68.0.1) …

From the Mozilla bug -

This is not a regression as far as ESR is concerned. ServiceWorkers first shipped in 44 and were disabled in ESR45, ESR52 (bug 1338144), and ESR60 (bug 1457915).

Also maybe related, https://bugzilla.mozilla.org/show_bug.cgi?id=1557565#c8 suggests that the web compatibility problems will be partially fixed in Firefox 69 and fully fixed by Firefox 70, which will be released a lot sooner than the EOL of Firefox ESR 68.

laniakea64 commented 5 years ago

@MrAlex94

I suppose giving user the choice is the best bet?

:question: User already has the choice via about:config > dom.serviceWorkers.enabled. Could you please explain more what you have in mind?

I was planning to implement this as a way to control service workers,

As a current user of this extension (although I currently have it disabled due to ServiceWorkers being disabled), how would a Waterfox implementation of it affect me?

grahamperrin commented 4 years ago

For anyone who's not already aware (apologies for any duplication):

We've been disabling ServiceWorkers on ESR releases because of the long-running ServiceWorker e10s overhaul because: …

More generally: