#130 Completely blocking Web Worker by default should be reconsidered
Closed: Duplicate by polcak. Opened by zeroaurora.

Summary

Web Worker is used for a lot background thing for the modern web. Methods described in website already seem promising but the extension blocks Web Worker completely. This breaks a lot of non-fingerprinting sites, for example social sites like Mastodon and Misskey (they use notifications).

Could you please reconsider this design? For tracking number inside Web Worker I suggest unregistering Web Worker on browser session close. For proxying API methods, is there any method to detect those things? Or maybe seperate this setting out, and like what we do with network boundary, notify the user about worker usage and let the user decide?

BTW, I come from FSF's recommendation and love the idea a lot. Thank you for your work!

Setup

Pages affected: Normal pages requiring Web Worker
JShelter Version: 0.17

OS: Windows
Browser: Firefox 122

How to reproduce

Already reproduced a lot and tracked in built-in tweaks. Websites are so many that we can't tweak them all.

Expected result

Websites with a strong Web Worker requirement work well.

Actual result

Websites broke.

Reproducibility

Should be always

Workarounds

Turn JavaScript Shield off works. (But at least Turn fingerprinting protection off shouldn't break Web Worker. It's so useful.)

Have you tried other steps to solve the issue?

Above and works. Customizing is also possible but default levels are not customizable individually.

Additional information / notes

EOF


Thank you. This is a duplicate of https://pagure.io/JShelter/webextension/issue/80. I will reference this issue there.

Briefly, current status is that:

  • We need to inject code in Firefox through privileged APIs where running arbitrary page code is dangerous. See https://jshelter.org/fixing-mv3/, https://github.com/w3c/webextensions/issues/536, https://github.com/w3c/webextensions/issues/538, https://github.com/w3c/webextensions/issues/539, and https://bugzilla.mozilla.org/show_bug.cgi?id=1736575 for new webextension APIs that would allow webextensions to inject their code into JS environment before page scripts start running in each context.
  • Without the APIs, developing cross-browser reliable and safe Worker replacement is to hard (is it even possbible?) and time consuming for our team.
  • This is not only about unregistering Workers but also about their capabilities when they are running.
  • https://pagure.io/JShelter/webextension/issue/20 considers an idea to let the community tweak behaviour on some pages (like changing the configuration of Workers on specific pages).

Metadata Update from @polcak:
- Issue close_status updated to: Duplicate
- Issue status updated to: Closed (was: Open)

Metadata