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": { "dependencies": {
"@astrojs/node": "^8.2.5", "@astrojs/node": "^8.2.5",
"@astrojs/sitemap": "^3.1.2", "@astrojs/sitemap": "^3.1.2",
"@mercuryworkshop/bare-mux": "^1.0.5", "@mercuryworkshop/bare-mux": "^1.0.7",
"@mercuryworkshop/epoxy-transport": "^1.1.0", "@mercuryworkshop/epoxy-transport": "^1.1.0",
"@mercuryworkshop/libcurl-transport": "^1.3.1", "@mercuryworkshop/libcurl-transport": "^1.3.1",
"@titaniumnetwork-dev/ultraviolet": "^3.0.0", "@titaniumnetwork-dev/ultraviolet": "^3.0.0",

View file

@ -5,6 +5,15 @@ importScripts("/uv/uv.bundle.js");
importScripts("/uv.config.js"); importScripts("/uv.config.js");
importScripts(__uv$config.sw); 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 const TransportMgr = new TransportManager();
export async function registerSW() { 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) => { return new Promise(async (resolve) => {
await navigator.serviceWorker await navigator.serviceWorker
.register("/sw.js", { .register("/sw.js")
scope: window.__uv$config.prefix,
})
.then((registration) => { .then((registration) => {
registration.update().then(() => { registration.update().then(() => {
console.log("Registered SW!"); console.log("Registered SW!");
resolve(null); resolve(null);
}); });
}); });
}); });
} }