there are bare clients

This commit is contained in:
Percs 2024-04-11 19:29:53 -05:00
parent e602896dae
commit cb3ae9363d
3 changed files with 20 additions and 7 deletions

View file

@ -13,7 +13,7 @@
"dependencies": {
"@astrojs/node": "^8.2.5",
"@astrojs/sitemap": "^3.1.2",
"@mercuryworkshop/bare-mux": "^1.0.5",
"@mercuryworkshop/bare-mux": "^1.0.7",
"@mercuryworkshop/epoxy-transport": "^1.1.0",
"@mercuryworkshop/libcurl-transport": "^1.3.1",
"@titaniumnetwork-dev/ultraviolet": "^3.0.0",

View file

@ -5,6 +5,15 @@ importScripts("/uv/uv.bundle.js");
importScripts("/uv.config.js");
importScripts(__uv$config.sw);
const sw = new UVServiceWorker();
const uv = new UVServiceWorker();
self.addEventListener("fetch", (event) => event.respondWith(sw.fetch(event)));
self.addEventListener('fetch', event => {
event.respondWith(
(async ()=>{
if(event.request.url.startsWith(location.origin + __uv$config.prefix)) {
return await uv.fetch(event);
}
return await fetch(event.request);
})()
);
});

View file

@ -65,17 +65,21 @@ export default class TransportManager {
export const TransportMgr = new TransportManager();
export async function registerSW() {
navigator.serviceWorker.ready.then(async (sw) => {
await registerRemoteListener(sw.active!);
TransportMgr.setTransport(
TransportMgr.getTransport(),
localStorage.getItem("alu__wispUrl") || wispURLDefault
);
})
return new Promise(async (resolve) => {
await navigator.serviceWorker
.register("/sw.js", {
scope: window.__uv$config.prefix,
})
.register("/sw.js")
.then((registration) => {
registration.update().then(() => {
console.log("Registered SW!");
resolve(null);
});
});
});
}