Force asset reload token on first visit
This commit is contained in:
@@ -133,7 +133,11 @@
|
||||
});
|
||||
}
|
||||
|
||||
var currentAssetToken = new URL(window.location.href).searchParams.get('assetReload') || '';
|
||||
function assetTokenFromLocation() {
|
||||
return new URL(window.location.href).searchParams.get('assetReload') || '';
|
||||
}
|
||||
|
||||
var currentAssetToken = assetTokenFromLocation();
|
||||
if (currentAssetToken) {
|
||||
applyAssetToken(currentAssetToken);
|
||||
new MutationObserver(function () {
|
||||
@@ -155,7 +159,8 @@
|
||||
var token = version.slice(0, 12);
|
||||
var marker = token + ':' + Math.floor(Date.now() / 10000);
|
||||
|
||||
if (sessionGet(reloadKey) === marker) return;
|
||||
if (assetTokenFromLocation() === token) return;
|
||||
if (assetTokenFromLocation() && sessionGet(reloadKey) === marker) return;
|
||||
|
||||
sessionSet(reloadKey, marker);
|
||||
withTimeout(deleteCaches(), 2500).then(function () {
|
||||
@@ -189,9 +194,15 @@
|
||||
}).then(function (data) {
|
||||
if (!data || data.result !== 'ok' || !data.version) return;
|
||||
|
||||
var token = data.version.slice(0, 12);
|
||||
var previous = storeGet(storageKey);
|
||||
storeSet(storageKey, data.version);
|
||||
|
||||
if (assetTokenFromLocation() !== token) {
|
||||
reloadWith(data.version);
|
||||
return;
|
||||
}
|
||||
|
||||
if (previous && previous !== data.version) {
|
||||
reloadWith(data.version);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user