sneakaway-studio / tally-extension

A browser extension that transforms the data advertisers collect into a multiplayer game.
https://tallysavestheinternet.com
MIT License
4 stars 2 forks source link

Transition to manifest v3 research #143

Open omundy opened 3 years ago

omundy commented 3 years ago

Chrome and Firefox are transitioning to manifest version 3

  1. By when will Tally need to be upgraded?
  2. How will it affect Tally? See Overview of Manifest V3 and Migrating to Manifest V3
  3. Will it break any functionality?
  4. How to proceed?
ZingBlue commented 3 years ago

As of now, I think we should wait to transition to Manifest V3. Currently, there are two separate Manifest V3 implementations. One being implemented in Firefox (Mozilla's implementation), the other is already being used in Chromium browsers (Google's implementation).

In summary, Google removed support for blocking web requests via chrome.webRequest in Manifest V3 replacing it with a much more limited API chrome.declarativeNetRequest[1].

Mozilla is responding by implementing a modified version of Manifest V3 in Firefox with support with chrome.webRequest blocking[2].

While Tally does not use chrome.webRequest to block scripts (instead, opting to delete the HTML directly). This does not change the fact that there are two separate implementations of Manifest V3 for Firefox and Chrome. I could definitely see this becoming a fiasco between Mozilla and Google where both implementations continue differing creating compatibility issues until the dust settles and a final Manifest V3 implementation is created.

Something important to note is that if this fiasco takes forever to settle (as these things sometimes do), we should likely transition to Manifest V3 dispite the potential compatibility issues. If a proper implementation is not settled in 6-10 months, we should transition to V3 ahead no matter.

  1. XDA Devs - Manifest V3 Changes How Ad Blocking Works.
  2. Mozilla Blog - Manifest V3 Update.
omundy commented 2 years ago

Update on the V3 timeline. Today is the last day that Chrome Web Store accepts "new" V2 extensions. Their timeline shows that after January 2023 we won't be able to push updates to V2 extensions / Tally.

I've skimmed this migration guide and there are a lot of things. I think the bulk of the work will be in rewriting the background as a service worker but again, many little things that could impact the project.