persistent-serviceworker
AdGuardMV3
persistent-serviceworker | AdGuardMV3 | |
---|---|---|
8 | 4 | |
20 | 135 | |
- | 3.0% | |
2.8 | 8.1 | |
4 months ago | 9 days ago | |
JavaScript | TypeScript | |
- | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
persistent-serviceworker
-
How to keep a serviceworker (background.js) alive in a chrome extension
Here you go persistent-serviceworker.
-
[AskJS] Do specification authors and implementers listen to developers in the field?
The ServiceWorker becoming inactive in 5 minutes per MV3 is a debacle. Workarounds exist and the code to implement keeping the ServiceWorker persistent, e.g., to stream live radio station from the ServiceWorker to the client winds up not saving any resources - we have to keep something running to keep the service worker running. You would be hard-pressed to count how many issues in the wild have been filed in multiple source code repositories just on that lack of functionality - for years now, e.g., Need help to understand and use this #2.
-
[AskJS] What are the worst case scenarios for programmatically setting arbitrary Web pages (Origins) as Client or WindowClient of a ServiceWorker?
There are workarounds which involve using an iframe https://github.com/guest271314/persistent-serviceworker/tree/main/chromium_extension_web_accessible_resources_iframe_message_event or window.open() https://github.com/guest271314/sw-transfer-stream or and offscreen document https://github.com/guest271314/offscreen-webrtc with WebRTC - however that involves loading an entire HTML document, and each has its own deficienfies - with all of the Window features that we do not really need just to transfer data between the Web page I have control of and the ServiceWorker I have control of.
-
Transfer ArrayBuffer from ServiceWorker to Web page
One approach for your requirement is to append an iframe with src set to an HTML document listed in "web_accessible_resources" to an arbitrary document and use postMessage() from the Web page to the iframe, then from the iframe to the MV3 ServiceWorker, see https://github.com/guest271314/persistent-serviceworker/tree/main/chromium_extension_web_accessible_resources_iframe_message_event.
-
How to have background:persistent in V3?
See https://github.com/guest271314/persistent-serviceworker
-
Manifest 3 limitation with background.js
Yes, it is possible to keep an extension or non-extension ServiceWorker persistent, active indefinitely https://github.com/guest271314/persistent-serviceworker.
-
Confirming isolation of cross-domain iframe (chrome extension context)
If you host the HTML for and use
"web_accessible_resources"
in manifest.json the</code> can communicate directly with MV3 <code>ServiceWorker</code>. </p> <p>To keep MV3 <code>ServiceWorker</code> persistent see <a href="https://github.com/guest271314/persistent-serviceworker">https://github.com/guest271314/persistent-serviceworker</a>.</p> </div>
-
Manifest v3: how to mitigate the timeout of the service worker?
I utilize "web_accessible_resources" with an , where chrome.* API's are exposed, and does not become inactive.
Some workarounds to keep MV3
ServiceWorker
active Persistent ServiceWorker.
AdGuardMV3
-
Change of direction or irrelevance!
For-profit content blockers have teams of paid developers working on this (for examples see https://gitlab.com/groups/eyeo/adblockplus/abc/-/issues/?sort=created_date&state=all&first_page_size=20, https://gitlab.com/groups/adblockinc/-/issues/?sort=created_date&state=all&label_name%5B%5D=manifest%20v3&first_page_size=20, https://github.com/AdguardTeam/AdGuardMV3/issues), and I also see the need for not trivial infrastructure to manage patching the filter lists, something which is beyond what I can provide.
- Ask HN: What weird technical scene are you fond/part of?
-
Manifest 3 limitation with background.js
This is what AdGuard MV3 is doing in a content script to keep alive the service worker:
- Manifest V3, webRequest, and ad blockers
What are some alternatives?
developer.chrome.com - The frontend, backend, and content source code for developer.chrome.com
kana - Single cell analysis in the browser
offscreen-webrtc - Offscreen document <=> WebRTC Data Channel <=> Web page
SVM-Face-and-Object-Detection-Shader - SVM using HOG descriptors implemented in fragment shaders
playwright-dotnet - .NET version of the Playwright testing and automation library.
Speed-Run-Sidebar - A Display + Controller to integrate with OBS
sw-transfer-stream - MV3 ServiceWorker => ReadableStream => Web page
ExtendedCss - A TypeScript library for non-standard element selecting — :contains(), :matches-css(), etc., and applying CSS styles with extended properties.
ServiceWorkerFullVideoBuffer - A service worker that buffers a full video, so when the video tag ask for ranges, these can be satisfied. Play + pause = buffer the whole video.
new-wave - Stack Computer Bytecode Interpreters: The New Wave
captureSystemAudio - Capture system audio ("What-U-Hear")
uBlock-minus-mv3-cs-poc - uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.