forked from forgejo/forgejo
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/15823
This commit is contained in:
parent
b61092bcb0
commit
8ab815ae93
5 changed files with 81 additions and 31 deletions
|
@ -9,6 +9,16 @@ export function extname(path = '') {
|
|||
return ext || '';
|
||||
}
|
||||
|
||||
// join a list of path segments with slashes, ensuring no double slashes
|
||||
export function joinPaths(...parts) {
|
||||
let str = '';
|
||||
for (const part of parts) {
|
||||
if (!part) continue;
|
||||
str = !str ? part : `${str.replace(/\/$/, '')}/${part.replace(/^\//, '')}`;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
// test whether a variable is an object
|
||||
export function isObject(obj) {
|
||||
return Object.prototype.toString.call(obj) === '[object Object]';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue