Skip to content

Commit

Permalink
fix: add new service worker (#2971)
Browse files Browse the repository at this point in the history
  • Loading branch information
userquin authored Sep 23, 2024
1 parent 2f4ee35 commit 4d95c17
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 1 deletion.
2 changes: 1 addition & 1 deletion config/pwa.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export const pwa: VitePWANuxtOptions = {
disable: /* temporarily test in CI isPreview || */ (isDevelopment && process.env.VITE_DEV_PWA !== 'true'),
scope: '/',
srcDir: './service-worker',
filename: 'sw.ts',
filename: 'elk-sw.ts',
strategies: 'injectManifest',
injectRegister: false,
includeManifestIcons: false,
Expand Down
5 changes: 5 additions & 0 deletions modules/pwa/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,11 @@ export default defineNuxtModule<VitePWANuxtOptions>({
'Cache-Control': 'public, max-age=0, must-revalidate',
},
}
nitroConfig.routeRules!['/elk-sw.js'] = {
headers: {
'Cache-Control': 'public, max-age=0, must-revalidate',
},
}
for (const locale of pwaLocales) {
nitroConfig.routeRules![`/manifest-${locale.code}.webmanifest`] = {
headers: {
Expand Down
24 changes: 24 additions & 0 deletions public/sw.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// DON'T REMOVE THIS FILE: IT IS THE OLD sw.js
self.addEventListener('install', (e) => {
self.skipWaiting();
});
self.addEventListener('activate', (e) => {
self.registration.unregister()
.then(() => self.clients.matchAll())
.then((clients) => {
clients.forEach((client) => {
if (client instanceof WindowClient)
client.navigate(client.url);
});
return Promise.resolve();
})
.then(() => {
self.caches.keys().then((cacheNames) => {
Promise.all(
cacheNames.map((cacheName) => {
return self.caches.delete(cacheName);
})
);
})
});
});
1 change: 1 addition & 0 deletions service-worker/sw.ts → service-worker/elk-sw.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ if (import.meta.env.PROD) {
/^\/emojis\//,
// exclude sw: if the user navigates to it, fallback to index.html
/^\/sw.js$/,
/^\/elk-sw.js$/,
// exclude webmanifest: has its own cache
/^\/manifest-(.*).webmanifest$/,
]
Expand Down

0 comments on commit 4d95c17

Please sign in to comment.