Skip to content

Commit

Permalink
Update periodic sync handler
Browse files Browse the repository at this point in the history
  • Loading branch information
theninthsky committed Dec 3, 2022
1 parent 6a293a8 commit a20a0a0
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 27 deletions.
51 changes: 30 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -908,19 +908,27 @@ _[service-worker-registration.js](src/service-worker-registration.js)_

```js
const register = () => {
window.addEventListener('load', () => {
navigator.serviceWorker
.register('/service-worker.js')
.then(() => console.log('Service worker registered!'))
.catch(err => console.error(err))
window.addEventListener('load', async () => {
try {
await navigator.serviceWorker.register('/service-worker.js')
console.log('Service worker registered!')
} catch (err) {
console.error(err)
}
})
}
const unregister = () => {
navigator.serviceWorker.ready
.then(registration => registration.unregister())
.then(() => console.log('Service worker unregistered!'))
.catch(err => console.error(err))
const unregister = async () => {
try {
const registration = await navigator.serviceWorker.ready
await registration.unregister()
console.log('Service worker unregistered!')
} catch (err) {
console.error(err)
}
}
if ('serviceWorker' in navigator) {
Expand Down Expand Up @@ -1010,19 +1018,20 @@ Some users leave the app open for extended periods, so another great thing we ca
_[service-worker-registration.js](src/service-worker-registration.js)_
```diff
+ const REVALIDATION_INTERVAL = 1 * 60 * 60
+ const ACTIVE_REVALIDATION_INTERVAL = 1 * 60 * 60
const register = () => {
window.addEventListener('load', () => {
navigator.serviceWorker
.register('/service-worker.js')
- .then(() => console.log('Service worker registered!'))
+ .then(registration => {
+ console.log('Service worker registered!')
+
+ setInterval(() => registration.update(), REVALIDATION_INTERVAL * 1000)
+ })
.catch(err => console.error(err))
window.addEventListener('load', async () => {
try {
- await navigator.serviceWorker.register('/service-worker.js')
+ const registration = await navigator.serviceWorker.register('/service-worker.js')
console.log('Service worker registered!')
+ setInterval(() => registration.update(), ACTIVE_REVALIDATION_INTERVAL * 1000)
} catch (err) {
console.error(err)
}
})
}
.
Expand Down
8 changes: 2 additions & 6 deletions public/service-worker.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,6 @@ self.addEventListener('fetch', event => {
}
})

self.addEventListener('periodicsync', async event => {
if (event.tag === 'revalidate-assets') {
const { status } = await fetch('/')

if (status !== 304) event.waitUntil(preCache())
}
self.addEventListener('periodicsync', event => {
if (event.tag === 'revalidate-assets') event.waitUntil(preCache())
})

0 comments on commit a20a0a0

Please sign in to comment.