LazyBoy2/web/public/sw.js

12 lines
584 B
JavaScript

const CACHE = "grokboy-web-v2";
self.addEventListener("install", () => self.skipWaiting());
self.addEventListener("activate", (event) => {
event.waitUntil(caches.keys().then((keys) => Promise.all(keys.filter((k) => k !== CACHE).map((k) => caches.delete(k)))));
self.clients.claim();
});
self.addEventListener("fetch", (event) => {
const url = new URL(event.request.url);
if (url.pathname.startsWith("/api/") || url.pathname.startsWith("/novnc") || event.request.method !== "GET") return;
event.respondWith(fetch(event.request).catch(() => caches.match(event.request)));
});