2019-10-16 18:25:10 +00:00
|
|
|
/* eslint-disable no-console */
|
|
|
|
|
2020-09-05 20:35:52 +00:00
|
|
|
import {register} from 'register-service-worker'
|
2021-07-09 18:10:57 +00:00
|
|
|
import {getToken} from './helpers/auth'
|
2019-10-16 18:25:10 +00:00
|
|
|
|
2021-07-25 13:27:15 +00:00
|
|
|
if (import.meta.env.PROD) {
|
|
|
|
register('/sw.js', {
|
2020-09-05 20:35:52 +00:00
|
|
|
ready() {
|
|
|
|
console.log('App is being served from cache by a service worker.')
|
|
|
|
},
|
|
|
|
registered() {
|
|
|
|
console.log('Service worker has been registered.')
|
|
|
|
},
|
|
|
|
cached() {
|
|
|
|
console.log('Content has been cached for offline use.')
|
|
|
|
},
|
|
|
|
updatefound() {
|
|
|
|
console.log('New content is downloading.')
|
|
|
|
},
|
|
|
|
updated(registration) {
|
|
|
|
console.log('New content is available; please refresh.')
|
|
|
|
// Send an event with the updated info
|
|
|
|
document.dispatchEvent(
|
2021-07-26 20:26:53 +00:00
|
|
|
new CustomEvent('swUpdated', {detail: registration}),
|
2020-09-05 20:35:52 +00:00
|
|
|
)
|
|
|
|
},
|
|
|
|
offline() {
|
|
|
|
console.log('No internet connection found. App is running in offline mode.')
|
|
|
|
},
|
|
|
|
error(error) {
|
|
|
|
console.error('Error during service worker registration:', error)
|
|
|
|
},
|
|
|
|
})
|
2019-10-16 18:25:10 +00:00
|
|
|
}
|
2020-02-08 17:28:17 +00:00
|
|
|
|
2020-09-05 20:35:52 +00:00
|
|
|
if (navigator && navigator.serviceWorker) {
|
|
|
|
navigator.serviceWorker.addEventListener('message', event => {
|
|
|
|
// for every message we expect an action field
|
|
|
|
// determining operation that we should perform
|
|
|
|
const {action} = event.data
|
|
|
|
// we use 2nd port provided by the message channel
|
|
|
|
const port = event.ports[0]
|
2020-02-08 17:28:17 +00:00
|
|
|
|
2020-09-05 20:35:52 +00:00
|
|
|
if (action === 'getBearerToken') {
|
|
|
|
console.debug('Token request from sw')
|
|
|
|
port.postMessage({
|
2021-07-09 18:10:57 +00:00
|
|
|
authToken: getToken(),
|
2020-09-05 20:35:52 +00:00
|
|
|
})
|
|
|
|
} else {
|
|
|
|
console.error('Unknown event', event)
|
|
|
|
port.postMessage({
|
|
|
|
error: 'Unknown request',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
2020-02-08 17:28:17 +00:00
|
|
|
}
|
|
|
|
|