Unregister non-matching serviceworkers (#15834)
* Unregister non-matching serviceworkers With the addition of the /assets url, users who visited a previous version of the site now may have two active service workers, one with the old scope `/` and one with scope `/assets`. This check for serviceworkers that do not match the current script path and unregisters them. Also included is a small refactor to publicpath.js which was simplified because AssetUrlPrefix is always present now. Also it makes use of the new joinPaths helper too. Fixes: https://github.com/go-gitea/gitea/pull/15823tokarchuk/v1.17
parent
b61092bcb0
commit
8ab815ae93
@ -1,10 +1,6 @@ |
|||||||
// This sets up the URL prefix used in webpack's chunk loading.
|
// This sets up the URL prefix used in webpack's chunk loading.
|
||||||
// This file must be imported before any lazy-loading is being attempted.
|
// This file must be imported before any lazy-loading is being attempted.
|
||||||
|
import {joinPaths} from './utils.js'; |
||||||
const {AssetUrlPrefix} = window.config; |
const {AssetUrlPrefix} = window.config; |
||||||
|
|
||||||
if (AssetUrlPrefix) { |
__webpack_public_path__ = joinPaths(AssetUrlPrefix, '/'); |
||||||
__webpack_public_path__ = AssetUrlPrefix.endsWith('/') ? AssetUrlPrefix : `${AssetUrlPrefix}/`; |
|
||||||
} else { |
|
||||||
const url = new URL(document.currentScript.src); |
|
||||||
__webpack_public_path__ = url.pathname.replace(/\/[^/]*?\/[^/]*?$/, '/'); |
|
||||||
} |
|
||||||
|
Loading…
Reference in new issue