ParticleCore / Iridium

Iridium is an extension built to improve your YouTube experience
Other
1.32k stars 138 forks source link

Manifest V3 issues #907

Closed ParticleCore closed 10 months ago

ParticleCore commented 10 months ago

The new manifest version does not keep background scripts running in a persistent way, which means after a few seconds if the user opens a new YouTube page then the extension will run too late to capture important initialization parts.

Unsure if there is a way around this, but if there is not then the extension will be forced to downgrade to Manifest V2 as a direct result of this situation given how this is the most important part for the entire extension to work properly.

Will postpone releasing 2.0.0 on AMO until this is resolved.

ParticleCore commented 10 months ago

Another issue found is any interaction from the page that sends information to the background script is completely lost when that script stops running, such as opening the extension options using the Iridium icon inside the page itself:

image

ParticleCore commented 10 months ago

Seems like in v3 background scripts/pages are configured to run for around 30s after the desired webpage initiates loading/refreshing and then they are stopped, and they never wake up again.

This is a significant problem since the extension depends on keeping webRequest filters active throughout the entire session on any YouTube page and content scripts do not have access to high privilege apis such as that one.

I can't seem to find anywhere how to work around this problem, nor can I easily find anyone pointing it out, and most major addons seem to be just sticking with v2 right now too.

ParticleCore commented 10 months ago

Seems like v3 is a terrible upgrade for any extensions that require background scripts that have a long or permanent lifetime.

Main point of discussion appears to start here officially at least: https://github.com/w3c/webextensions/issues/72

With addresses to specific concerns that affect Iridium here: https://github.com/w3c/webextensions/issues/51#issuecomment-892749563

This was in 2021, and apparently nothing has been done about it yet.

Seems like some Firefox members are pressuring/forcing the move to service workers with total disregard of the significant downsides to it for no clear reason, and I honestly am not liking the sound of it.

They could easily have implemented an option that requires the user to allow the background script to run constantly in order to resolve all of these issues, but they really don't care about ideas that fragments Firefox's implementation from Chrome's since they keep throwing back the "it makes it easier to code for different browsers" justification.

A proposal for this exists in https://github.com/w3c/webextensions/issues/44

But appears to be abandoned.