Skip to content
This repository was archived by the owner on Feb 5, 2022. It is now read-only.

Commit bfa025f

Browse files
fix(): update service worker to skip waiting for fresh instance
1 parent 5246478 commit bfa025f

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

sw.js

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
importScripts('https://storage.googleapis.com/workbox-cdn/releases/4.3.0/workbox-sw.js');
22

3-
self.workbox.skipWaiting();
4-
self.workbox.clientsClaim();
5-
63
// your custom service worker code
74
self.workbox.routing.registerRoute(
85
/\.(?:png|gif|jpg|jpeg|svg)$/,
@@ -24,4 +21,32 @@ self.workbox.routing.registerRoute(
2421
}),
2522
);
2623

24+
workbox.routing.registerRoute(
25+
new RegExp('/api/'),
26+
workbox.strategies.staleWhileRevalidate({
27+
plugins: [
28+
new workbox.broadcastUpdate.Plugin('api-updates')
29+
]
30+
})
31+
);
32+
33+
self.addEventListener('message', (event) => {
34+
if (!event.data){
35+
return;
36+
}
37+
38+
switch (event.data) {
39+
case 'skipWaiting':
40+
self.skipWaiting();
41+
break;
42+
default:
43+
// NOOP
44+
break;
45+
}
46+
});
47+
48+
self.addEventListener('install', (event) => {
49+
self.skipWaiting();
50+
})
51+
2752
self.workbox.precaching.precacheAndRoute([]);

0 commit comments

Comments
 (0)