Migrate to Manifest V3
https://developer.chrome.com/docs/extensions/mv3/intro/mv3-migration/
Replace background.page or background.scripts with background.service_worker in manifest.json. Note that the service_worker field takes a string, not an array of strings.
Summary about this migration in Chrome from the anti-censorship meeting on August 18th, 2022
16:29 <+cohosh> <summary>
16:29 <+cohosh> google proposed manifest v3 a while ago, and has come up with a timeline for deprecating support for manifest v2
16:29 <+cohosh> v2 extensions will no longer be supported on chrome/chromium starting january 2023
16:29 <+cohosh> the difference between v2 and v3 extensions is extensive, and drastically limits the types of actions and apis that extensions have access to
16:29 <+cohosh> this decrease in extension capabilities was done in the name of security and privacy, but as some have pointed out, is actually a privacy loss since it limits the performance of add
blockers
16:29 <+cohosh> the EFF has written a few articles about it. most recently:
16:29 <+cohosh> https://www.eff.org/deeplinks/2021/12/googles-manifest-v3-still-hurts-privacy-security-innovation
16:29 <+cohosh> the biggest issue for us is the move in v3 from allowing background pages, that have pretty much the same access as any javascript running in the browser, to what are called "service
workers"
16:29 <+cohosh> service workers have access to a very limited set of apis: https://developer.chrome.com/docs/extensions/reference/
16:29 <+cohosh> note specifically that they do not have access to the webrtc api, which is what caused the issue that arlolra ran into when trying an initial update to v3 (snowflake-webext!21)
16:29 -tor:#tor-meeting- https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake-webext/-/merge_requests/21 - Draft: Migrate to Manifest v3
16:29 <+cohosh> there is an open issue in the chromium bug tracker for this: https://bugs.chromium.org/p/chromium/issues/detail?id=1207214
16:29 <+cohosh> and we've added to the discussion in both the web extension working group: https://github.com/w3c/webrtc-extensions/issues/77 and https://github.com/w3c/webextensions/issues/72
16:29 <+cohosh> unfortunately there's been no interest from google in supporting this for chrome so it seems unlikely that we'll be able to run snowflake proxies from a webextension in chrome based
browsers after January 2023
16:29 <+cohosh> there are some other pain points of google's manifest v3 that affect snowflake in less fundamental ways
16:29 <+cohosh> including that extension icons are no longer visible from the browser bar, but hidden behind a puzzle icon
16:29 <+cohosh> the snowflake icon shows whether or not the proxy is currently in use and whether snowflake is been turned off due to errors
16:29 <+cohosh> some good news is that mozilla has responded to the discussions i linked above and is preserving support for background pages in their v3 implementation:
https://blog.mozilla.org/addons/2022/05/18/manifest-v3-in-firefox-recap-next-steps/ (thanks to arlolra for finding this)
16:30 <+cohosh> there are a few differences to how things work before, but i'm optimistic that we'll be able to get the current snowflake extension working for firefox's manifest v3
16:30 <+cohosh> although the timeline for that is not as urgent since firefox has not announced a deprecation timeline for v2 and it's likely to be supported for at least another year
16:30 <+cohosh> </summary>
16:33 <+shelikhoo> so if we take no action, then snowflake proxy will stop working on chrome and some of its forks from next year
Edited by Gaba