From dec1a436a3b2d8b4a61e43c4311707d4cc9e2542 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Tue, 4 Nov 2025 14:25:05 +0530 Subject: [PATCH] Refactor service worker to streamline caching logic and improve offline support --- public/sw.js | 162 +++++++++++++++++++++++++-------------------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/public/sw.js b/public/sw.js index cb93e3f..0119038 100644 --- a/public/sw.js +++ b/public/sw.js @@ -1,93 +1,93 @@ "use strict"; -// const CACHE_NAME = "offline-cache-v1"; -// const OFFLINE_URL = '/offline.html'; - -// const filesToCache = [ -// OFFLINE_URL -// ]; - -// self.addEventListener("install", (event) => { -// event.waitUntil( -// caches.open(CACHE_NAME) -// .then((cache) => cache.addAll(filesToCache)) -// ); -// }); - -// self.addEventListener("fetch", (event) => { -// if (event.request.mode === 'navigate') { -// event.respondWith( -// fetch(event.request) -// .catch(() => { -// return caches.match(OFFLINE_URL); -// }) -// ); -// } else { -// event.respondWith( -// caches.match(event.request) -// .then((response) => { -// return response || fetch(event.request); -// }) -// ); -// } -// }); - -// self.addEventListener('activate', (event) => { -// event.waitUntil( -// caches.keys().then((cacheNames) => { -// return Promise.all( -// cacheNames.map((cacheName) => { -// if (cacheName !== CACHE_NAME) { -// return caches.delete(cacheName); -// } -// }) -// ); -// }) -// ); -// }); - -const CACHE_NAME = 'pds-app-cache-v1'; +const CACHE_NAME = "offline-cache-v1"; const OFFLINE_URL = '/offline.html'; -const urlsToCache = [ - '/', - '/admin', - OFFLINE_URL, - '/icons/icon-192x192.png', - '/icons/icon-512x512.png' +const filesToCache = [ + OFFLINE_URL ]; -self.addEventListener('install', event => { - event.waitUntil( - caches.open(CACHE_NAME) - .then(cache => cache.addAll(urlsToCache)) - .then(self.skipWaiting()) - ); +self.addEventListener("install", (event) => { + event.waitUntil( + caches.open(CACHE_NAME) + .then((cache) => cache.addAll(filesToCache)) + ); }); -self.addEventListener('activate', event => { - event.waitUntil( - caches.keys().then(keys => - Promise.all(keys.map(key => { - if (key !== CACHE_NAME) return caches.delete(key); - })) - ) - ); - self.clients.claim(); +self.addEventListener("fetch", (event) => { + if (event.request.mode === 'navigate') { + event.respondWith( + fetch(event.request) + .catch(() => { + return caches.match(OFFLINE_URL); + }) + ); + } else { + event.respondWith( + caches.match(event.request) + .then((response) => { + return response || fetch(event.request); + }) + ); + } }); -self.addEventListener('fetch', event => { - if (event.request.mode === 'navigate') { - event.respondWith( - fetch(event.request).catch(() => - caches.match(OFFLINE_URL) - ) +self.addEventListener('activate', (event) => { + event.waitUntil( + caches.keys().then((cacheNames) => { + return Promise.all( + cacheNames.map((cacheName) => { + if (cacheName !== CACHE_NAME) { + return caches.delete(cacheName); + } + }) + ); + }) ); - } else { - event.respondWith( - caches.match(event.request).then(response => - response || fetch(event.request) - ) - ); - } }); + +// const CACHE_NAME = 'pds-app-cache-v1'; +// const OFFLINE_URL = '/offline.html'; + +// const urlsToCache = [ +// '/', +// '/admin', +// OFFLINE_URL, +// '/icons/icon-192x192.png', +// '/icons/icon-512x512.png' +// ]; + +// self.addEventListener('install', event => { +// event.waitUntil( +// caches.open(CACHE_NAME) +// .then(cache => cache.addAll(urlsToCache)) +// .then(self.skipWaiting()) +// ); +// }); + +// self.addEventListener('activate', event => { +// event.waitUntil( +// caches.keys().then(keys => +// Promise.all(keys.map(key => { +// if (key !== CACHE_NAME) return caches.delete(key); +// })) +// ) +// ); +// self.clients.claim(); +// }); + +// self.addEventListener('fetch', event => { +// if (event.request.mode === 'navigate') { +// event.respondWith( +// fetch(event.request).catch(() => +// caches.match(OFFLINE_URL) +// ) +// ); +// } else { +// event.respondWith( +// caches.match(event.request).then(response => +// response || fetch(event.request) +// ) +// ); +// } +// });