AprilSylph / Outbox-for-Tumblr

📤 Save outgoing Tumblr asks automatically
GNU General Public License v3.0
18 stars 4 forks source link

upgrade to Manifest V3 #93

Open marcustyphoon opened 3 months ago

marcustyphoon commented 3 months ago

Upgrading this extension to MV3 would allow it to continue to be used in Chrome and other Chromium-based browsers that follow Google's MV2 deprecation timeline.

I am not, at time of writing, working on a PR to do this—I haven't looked that deeply into the background script story, but I assume from skimming docs that it should be doable without a Chrome branch and a Firefox branch now?

marcustyphoon commented 2 months ago

We should strongly consider setting the minimum Firefox version to at least 127, in which users will (it seems) continue to have the extension work in the background without manually granting origin permissions, which in this extension's case they almost certainly will not do.

There may be other MV3 improvements in 128, as well, which could be a better target (it's going to be ESR, too). The MV2 version will keep working on Firefox and I assume there's a decent chance we don't push a functionality/feature commit on this one for a while, so not updating Firefox users for a bit could be fine.

marcustyphoon commented 1 month ago

I haven't looked that deeply into the background script story, but I assume from skimming docs that it should be doable without a Chrome branch and a Firefox branch now?

Appears to have been shipped in FF121 and backported to 115: https://bugzilla.mozilla.org/show_bug.cgi?id=1860304

Some developers also reported some non-persistent background script issues in early versions: https://discourse.mozilla.org/t/impossible-to-upgrade-to-manifest-v3-for-extensions-that-require-constant-persistent-listeners/125942/17

(Details not important here, as I would not ship with a minimum FF version of >127, but noting it here for posterity.)


Edit: As per https://github.com/w3c/webextensions/issues/119, there was also a standardization story about optional_host_permissions. This appears to have ended in Chrome 102, per comment in that issue (I could not verify this by looking at the Chromium bug), and in FF128 per https://bugzilla.mozilla.org/show_bug.cgi?id=1766026.