loading fixes:
- update to wabac.js to fix regression with WARC loading, including accidental indexing of metadata records - add periodic ping to service worker during loading, to avoid serviceworker shutdown in firefox - ui: only show 'try again' button if trying again may be possible - dependencies: use wabac 2.6.5 bump to 1.3.11
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
## CHANGES
|
||||
|
||||
v1.3.11
|
||||
- Loading: Fix regression in indexing of WARCs, including ignoring metadata records that were accidentally being indexed.
|
||||
- Loading: Add periodic ping when loading to avoid serviceworker shutdown in Firefox.
|
||||
- UI: On load failure, only add 'try again' option when reasonable.
|
||||
- Dependencies: wabac 2.6.5
|
||||
|
||||
v1.3.10
|
||||
- Loading: Improved loading of video, especially on Safari, cache range requests via loading
|
||||
- Loading: Improved loading stability from service worker waiting for loading event to finish!
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "replaywebpage",
|
||||
"productName": "ReplayWeb.page",
|
||||
"version": "1.3.10",
|
||||
"version": "1.3.11",
|
||||
"description": "Serverless Web Archive Replay",
|
||||
"repository": "https://github.com/webrecorder/replayweb.page",
|
||||
"homepage": "https://replayweb.page/",
|
||||
@@ -9,7 +9,7 @@
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-free": "^5.13.0",
|
||||
"@webrecorder/wabac": "^2.6.4",
|
||||
"@webrecorder/wabac": "^2.6.5",
|
||||
"bulma": "^0.9.0",
|
||||
"electron-log": "^4.3.0",
|
||||
"electron-updater": "^4.3.5",
|
||||
|
||||
+27
-6
@@ -24,6 +24,10 @@ class Loader extends LitElement
|
||||
this.tryFileHandle = !!window.showOpenFilePicker;
|
||||
|
||||
this.fileHandle = null;
|
||||
|
||||
this.errorAllowRetry = false;
|
||||
|
||||
this.pingInterval = "";
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
@@ -40,7 +44,8 @@ class Loader extends LitElement
|
||||
status: { type: String },
|
||||
coll: { type: String },
|
||||
embed: { type: String },
|
||||
tryFileHandle: { type: Boolean }
|
||||
tryFileHandle: { type: Boolean },
|
||||
errorAllowRetry: { type: Boolean }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,6 +67,7 @@ class Loader extends LitElement
|
||||
if (event.data.error) {
|
||||
this.error = event.data.error;
|
||||
this.state = "errored";
|
||||
this.errorAllowRetry = true;
|
||||
this.fileHandle = event.data.fileHandle;
|
||||
if (this.error === "missing_local_file") {
|
||||
this.tryFileHandle = false;
|
||||
@@ -84,6 +90,9 @@ class Loader extends LitElement
|
||||
}
|
||||
this.progress = this.total;
|
||||
this.percent = 100;
|
||||
if (this.pingInterval) {
|
||||
clearInterval(this.pingInterval);
|
||||
}
|
||||
this.dispatchEvent(new CustomEvent("coll-loaded", {detail: event.data}));
|
||||
}
|
||||
break;
|
||||
@@ -106,6 +115,7 @@ Please try loading this page from an HTTPS URL`;
|
||||
} else {
|
||||
this.error = "Sorry, this browser is not supported. Please try a different browser\n(If you're using Firefox, try without Private Mode)";
|
||||
}
|
||||
this.errorAllowRetry = false;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -131,6 +141,7 @@ Please try loading this page from an HTTPS URL`;
|
||||
this.error = `\
|
||||
File URLs can not be entered directly or shared.
|
||||
You can select a file to upload from the main page by clicking the \'Choose File...\' button.`;
|
||||
this.errorAllowRetry = false;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -163,12 +174,18 @@ You can select a file to upload from the main page by clicking the \'Choose File
|
||||
}
|
||||
|
||||
if (!navigator.serviceWorker.controller) {
|
||||
navigator.serviceWorker.addEventListener("controllerchange", (event) => {
|
||||
navigator.serviceWorker.controller.postMessage(msg);
|
||||
await new Promise((resolve) => {
|
||||
navigator.serviceWorker.addEventListener("controllerchange", () => resolve);
|
||||
});
|
||||
} else {
|
||||
navigator.serviceWorker.controller.postMessage(msg);
|
||||
}
|
||||
|
||||
navigator.serviceWorker.controller.postMessage(msg);
|
||||
|
||||
// ping service worker with messages to avoid shutdown while loading
|
||||
// (mostly for Firefox)
|
||||
this.pingInterval = setInterval(() => {
|
||||
navigator.serviceWorker.controller.postMessage({"msg_type": "ping"});
|
||||
}, 15000);
|
||||
}
|
||||
|
||||
googledriveInit() {
|
||||
@@ -188,6 +205,9 @@ You can select a file to upload from the main page by clicking the \'Choose File
|
||||
onCancel() {
|
||||
if (navigator.serviceWorker && navigator.serviceWorker.controller) {
|
||||
navigator.serviceWorker.controller.postMessage({"msg_type": "cancelLoad", "name": this.coll});
|
||||
if (this.pingInterval) {
|
||||
clearInterval(this.pingInterval);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -282,7 +302,8 @@ You can select a file to upload from the main page by clicking the \'Choose File
|
||||
<div class="has-text-left">
|
||||
<div class="error has-text-danger">${this.error}</div>
|
||||
<div>
|
||||
<a class="button is-warning" @click=${(e) => window.parent.location.reload()}>Try Again</a>
|
||||
${this.errorAllowRetry ? html`
|
||||
<a class="button is-warning" @click=${(e) => window.parent.location.reload()}>Try Again</a>` : ``}
|
||||
${this.embed ? html`` : html`
|
||||
<a href="/" class="button is-warning">Back</a>`}
|
||||
</div>`;
|
||||
|
||||
@@ -760,10 +760,10 @@
|
||||
"@webassemblyjs/wast-parser" "1.9.0"
|
||||
"@xtuc/long" "4.2.2"
|
||||
|
||||
"@webrecorder/wabac@^2.6.4":
|
||||
version "2.6.4"
|
||||
resolved "https://registry.yarnpkg.com/@webrecorder/wabac/-/wabac-2.6.4.tgz#9125c51aae67cb762e0c6927093e8e09a6c160c1"
|
||||
integrity sha512-3GAd5h0Hat0oPNXXCu4FYkTi4LuFUHi8juHgsBFhwAFdL2lVa7chHHu2MzQsQNDwJ3EDmkuu7452c3I4h50Qdw==
|
||||
"@webrecorder/wabac@^2.6.5":
|
||||
version "2.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@webrecorder/wabac/-/wabac-2.6.5.tgz#d765adde075dfebed6e7ea849a22d0693142dfbb"
|
||||
integrity sha512-h3J0tp8lGQPF3ovSMsO6pOORuW6QMDirTiNDxF/ekqLpnV+kvfYM484BbEzf54VO8jwb/MgC81IYKH6YaVjAgA==
|
||||
dependencies:
|
||||
"@webrecorder/wombat" "^3.1.2"
|
||||
brotli "github:foliojs/brotli.js"
|
||||
|
||||
Reference in New Issue
Block a user