|
|
|
@ -1,6 +1,6 @@ |
|
|
|
|
import {joinPaths} from '../utils.js'; |
|
|
|
|
|
|
|
|
|
const {UseServiceWorker, AppSubUrl, AssetUrlPrefix, AppVer} = window.config; |
|
|
|
|
const {UseServiceWorker, AssetUrlPrefix, AppVer} = window.config; |
|
|
|
|
const cachePrefix = 'static-cache-v'; // actual version is set in the service worker script
|
|
|
|
|
const workerAssetPath = joinPaths(AssetUrlPrefix, 'serviceworker.js'); |
|
|
|
|
|
|
|
|
@ -41,10 +41,9 @@ export default async function initServiceWorker() { |
|
|
|
|
// unregister all service workers where scriptURL does not match the current one
|
|
|
|
|
await unregisterOtherWorkers(); |
|
|
|
|
try { |
|
|
|
|
// normally we'd serve the service worker as a static asset from AssetUrlPrefix but
|
|
|
|
|
// the spec strictly requires it to be same-origin so it has to be AppSubUrl to work
|
|
|
|
|
// the spec strictly requires it to be same-origin so the AssetUrlPrefix should contain AppSubUrl
|
|
|
|
|
await checkCacheValidity(); |
|
|
|
|
await navigator.serviceWorker.register(joinPaths(AppSubUrl, workerAssetPath)); |
|
|
|
|
await navigator.serviceWorker.register(workerAssetPath); |
|
|
|
|
} catch (err) { |
|
|
|
|
console.error(err); |
|
|
|
|
await invalidateCache(); |
|
|
|
|