loading: add 'noCache' option for <replay-web-page> embeds, ensure option is passed to wabac.js loader
dependencies: update to wabac.js 2.12.3 to fully support noCache for WARCs bump to 1.6.4
This commit is contained in:
@@ -386,6 +386,14 @@ class ReplayWebApp extends LitElement
|
||||
this.loadInfo.noWebWorker = true;
|
||||
}
|
||||
|
||||
|
||||
if (this.pageParams.get("noCache") === "1") {
|
||||
if (!this.loadInfo) {
|
||||
this.loadInfo = {};
|
||||
}
|
||||
this.loadInfo.noCache = true;
|
||||
}
|
||||
|
||||
if (IS_APP && this.sourceUrl.startsWith("file://")) {
|
||||
// eslint-disable-next-line no-undef
|
||||
const url = new URL(__APP_FILE_SERVE_PREFIX__);
|
||||
|
||||
@@ -35,6 +35,7 @@ class Embed extends LitElement
|
||||
this.reloadCount = 0;
|
||||
this.noSandbox = false;
|
||||
this.noWebWorker = false;
|
||||
this.noCache = false;
|
||||
this.logo = rwpLogo;
|
||||
}
|
||||
|
||||
@@ -70,6 +71,7 @@ class Embed extends LitElement
|
||||
deepLink: { type: Boolean },
|
||||
noSandbox: { type: Boolean },
|
||||
noWebWorker: { type: Boolean },
|
||||
noCache: { type: Boolean },
|
||||
|
||||
errorMessage: { type: String }
|
||||
};
|
||||
@@ -178,6 +180,10 @@ class Embed extends LitElement
|
||||
params.noWebWorker = "1";
|
||||
}
|
||||
|
||||
if (this.noCache) {
|
||||
params.noCache = "1";
|
||||
}
|
||||
|
||||
this.paramString = new URLSearchParams(params).toString();
|
||||
|
||||
this.hashString = new URLSearchParams({
|
||||
|
||||
+18
-12
@@ -185,27 +185,33 @@ You can select a file to upload from the main page by clicking the 'Choose File.
|
||||
source = {sourceUrl};
|
||||
}
|
||||
|
||||
source.newFullImport = (this.loadInfo && this.loadInfo.newFullImport);
|
||||
|
||||
this.state = "started";
|
||||
|
||||
let type = undefined;
|
||||
let extraConfig = undefined;
|
||||
|
||||
if (this.loadInfo) {
|
||||
source.newFullImport = this.loadInfo.newFullImport;
|
||||
source.noCache = this.loadInfo.noCache;
|
||||
|
||||
if (this.loadInfo.extraConfig) {
|
||||
extraConfig = this.loadInfo.extraConfig;
|
||||
}
|
||||
// todo: too special case?
|
||||
if (sourceUrl.startsWith("proxy:") && extraConfig && extraConfig.recording) {
|
||||
type = "recordingproxy";
|
||||
}
|
||||
}
|
||||
|
||||
const msg = {
|
||||
msg_type: "addColl",
|
||||
name: this.coll,
|
||||
extraConfig,
|
||||
type,
|
||||
skipExisting: true,
|
||||
file: source
|
||||
};
|
||||
|
||||
if (this.loadInfo) {
|
||||
if (this.loadInfo.extraConfig) {
|
||||
msg.extraConfig = this.loadInfo.extraConfig;
|
||||
}
|
||||
// todo: too special case?
|
||||
if (sourceUrl.startsWith("proxy:") && msg.extraConfig && msg.extraConfig.recording) {
|
||||
msg.type = "recordingproxy";
|
||||
}
|
||||
}
|
||||
|
||||
if (!navigator.serviceWorker.controller) {
|
||||
await new Promise((resolve) => {
|
||||
navigator.serviceWorker.addEventListener("controllerchange", () => resolve());
|
||||
|
||||
Reference in New Issue
Block a user