persistent-serviceworker
mediacapture-main
persistent-serviceworker | mediacapture-main | |
---|---|---|
8 | 1 | |
20 | 118 | |
- | 1.7% | |
2.8 | 8.0 | |
4 months ago | 5 days ago | |
JavaScript | HTML | |
- | GNU General Public License v3.0 or later |
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.
mediacapture-main
-
[AskJS] Do specification authors and implementers listen to developers in the field?
You can find rationale and discussion for each part of the spec in GitHub. As you say, there's plenty of discussion. If you actually want to understand the change, I suggest going there and engaging civilly instead of ranting here.
What are some alternatives?
developer.chrome.com - The frontend, backend, and content source code for developer.chrome.com
screensy - Simple peer-to-peer screen sharing
offscreen-webrtc - Offscreen document <=> WebRTC Data Channel <=> Web page
playwright-dotnet - .NET version of the Playwright testing and automation library.
sw-transfer-stream - MV3 ServiceWorker => ReadableStream => Web page
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.
captureSystemAudio - Capture system audio ("What-U-Hear")
chrome-extensions-samples - Chrome Extensions Samples
uBlock - uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.