misc fixes:
- import from '@webrecorder/wabac' package for sw.js, though using github overrides for now - replay: show loading spinner on beforeunload event in iframe - embed: support passing basePageUrl param as part of extraConfig for custom top-level page
This commit is contained in:
+2
-3
@@ -9,7 +9,7 @@
|
|||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-free": "^5.13.0",
|
"@fortawesome/fontawesome-free": "^5.13.0",
|
||||||
"@webrecorder/wabac": "github:https://github.com/webrecorder/wabac.js#master",
|
"@webrecorder/wabac": "github:https://github.com/webrecorder/wabac.js",
|
||||||
"bulma": "^0.8.2",
|
"bulma": "^0.8.2",
|
||||||
"flexsearch": "^0.6.32",
|
"flexsearch": "^0.6.32",
|
||||||
"keyword-mark-element": "^0.1.2",
|
"keyword-mark-element": "^0.1.2",
|
||||||
@@ -17,8 +17,7 @@
|
|||||||
"marked": "^1.0.0",
|
"marked": "^1.0.0",
|
||||||
"mime-types": "^2.1.27",
|
"mime-types": "^2.1.27",
|
||||||
"pretty-bytes": "^5.3.0",
|
"pretty-bytes": "^5.3.0",
|
||||||
"register-service-worker": "^1.7.1",
|
"register-service-worker": "^1.7.1"
|
||||||
"wabac": "github:https://github.com/webrecorder/wabac.js#master"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"css-loader": "^3.5.3",
|
"css-loader": "^3.5.3",
|
||||||
|
|||||||
@@ -304,6 +304,16 @@ class App extends LitElement
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.pageParams.get("basePageUrl")) {
|
||||||
|
if (!this.loadInfo) {
|
||||||
|
this.loadInfo = {extraConfig: {}}
|
||||||
|
}
|
||||||
|
if (!this.loadInfo.extraConfig) {
|
||||||
|
this.loadInfo.extraConfig = {};
|
||||||
|
}
|
||||||
|
this.loadInfo.extraConfig.baseUrl = this.pageParams.get("basePageUrl");
|
||||||
|
}
|
||||||
|
|
||||||
if (this.pageParams.get("customColl")) {
|
if (this.pageParams.get("customColl")) {
|
||||||
if (!this.loadInfo) {
|
if (!this.loadInfo) {
|
||||||
this.loadInfo = {}
|
this.loadInfo = {}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {app, session, BrowserWindow, ipcMain, shell} from 'electron';
|
|||||||
import path from 'path';
|
import path from 'path';
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
|
|
||||||
import { ArchiveResponse, Rewriter } from 'wabac/src/rewrite';
|
import { ArchiveResponse, Rewriter } from '@webrecorder/wabac/src/rewrite';
|
||||||
|
|
||||||
import { PassThrough } from 'stream';
|
import { PassThrough } from 'stream';
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
import { CollectionLoader } from 'wabac/src/loaders';
|
import { CollectionLoader } from '@webrecorder/wabac/src/loaders';
|
||||||
|
|
||||||
const { ipcRenderer, contextBridge } = require('electron');
|
const { ipcRenderer, contextBridge } = require('electron');
|
||||||
|
|
||||||
|
|||||||
@@ -112,6 +112,7 @@ class Embed extends LitElement
|
|||||||
source: this.source,
|
source: this.source,
|
||||||
customColl: this.coll,
|
customColl: this.coll,
|
||||||
config: this.config,
|
config: this.config,
|
||||||
|
basePageUrl: window.location.href.split("#")[0],
|
||||||
embed: this.embed,
|
embed: this.embed,
|
||||||
}).toString();
|
}).toString();
|
||||||
|
|
||||||
|
|||||||
+9
-3
@@ -123,7 +123,7 @@ class Replay extends LitElement
|
|||||||
this.replayTS = event.data.ts;
|
this.replayTS = event.data.ts;
|
||||||
this.replayUrl = event.data.url;
|
this.replayUrl = event.data.url;
|
||||||
this.title = event.data.title || this.title;
|
this.title = event.data.title || this.title;
|
||||||
this.clearLoading();
|
this.clearLoading(iframe.contentWindow);
|
||||||
|
|
||||||
if (event.data.icons) {
|
if (event.data.icons) {
|
||||||
const icons = event.data.icons;
|
const icons = event.data.icons;
|
||||||
@@ -166,17 +166,23 @@ class Replay extends LitElement
|
|||||||
const iframe = this.renderRoot.querySelector("iframe");
|
const iframe = this.renderRoot.querySelector("iframe");
|
||||||
if (!iframe || !iframe.contentDocument || !iframe.contentWindow ||
|
if (!iframe || !iframe.contentDocument || !iframe.contentWindow ||
|
||||||
(iframe.contentDocument.readyState === "complete" && !iframe.contentWindow._WBWombat)) {
|
(iframe.contentDocument.readyState === "complete" && !iframe.contentWindow._WBWombat)) {
|
||||||
this.clearLoading();
|
this.clearLoading(iframe && iframe.contentWindow);
|
||||||
}
|
}
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
|
|
||||||
clearLoading() {
|
clearLoading(iframeWin) {
|
||||||
this.isLoading = false;
|
this.isLoading = false;
|
||||||
if (this._loadPoll) {
|
if (this._loadPoll) {
|
||||||
window.clearInterval(this._loadPoll);
|
window.clearInterval(this._loadPoll);
|
||||||
this._loadPoll = null;
|
this._loadPoll = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (iframeWin) {
|
||||||
|
iframeWin.addEventListener("beforeunload", () => {
|
||||||
|
this.isLoading = true;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static get styles() {
|
static get styles() {
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ if (self.registration) {
|
|||||||
staticData.set(prefix + "index.html", {type: "text/html", content: INDEX_HTML});
|
staticData.set(prefix + "index.html", {type: "text/html", content: INDEX_HTML});
|
||||||
//staticData.set(prefix + "ui.js", {type: "application/javascript", content: UI_JS});
|
//staticData.set(prefix + "ui.js", {type: "application/javascript", content: UI_JS});
|
||||||
|
|
||||||
const { SWReplay } = require('wabac/src/swmain');
|
const { SWReplay } = require('@webrecorder/wabac/src/swmain');
|
||||||
self.sw = new SWReplay(staticData);
|
self.sw = new SWReplay(staticData);
|
||||||
|
|
||||||
} else if (self.postMessage) {
|
} else if (self.postMessage) {
|
||||||
// Inited as Web Worker
|
// Inited as Web Worker
|
||||||
const { WorkerLoader } = require('wabac/src/loaders');
|
const { WorkerLoader } = require('@webrecorder/wabac/src/loaders');
|
||||||
const loader = new WorkerLoader(self);
|
const loader = new WorkerLoader(self);
|
||||||
}
|
}
|
||||||
@@ -291,9 +291,9 @@
|
|||||||
"@webassemblyjs/wast-parser" "1.9.0"
|
"@webassemblyjs/wast-parser" "1.9.0"
|
||||||
"@xtuc/long" "4.2.2"
|
"@xtuc/long" "4.2.2"
|
||||||
|
|
||||||
"@webrecorder/wabac@github:https://github.com/webrecorder/wabac.js#master", "wabac@github:https://github.com/webrecorder/wabac.js#master":
|
"@webrecorder/wabac@github:https://github.com/webrecorder/wabac.js":
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://codeload.github.com/webrecorder/wabac.js/tar.gz/47ba5e77b6a1a55eab314e85cb9fad106a5a17ca"
|
resolved "https://codeload.github.com/webrecorder/wabac.js/tar.gz/72128c30f07c5685b13b6cb7b7503a4986fdbe03"
|
||||||
dependencies:
|
dependencies:
|
||||||
brotli "github:foliojs/brotli.js"
|
brotli "github:foliojs/brotli.js"
|
||||||
fast-xml-parser "^3.15.1"
|
fast-xml-parser "^3.15.1"
|
||||||
@@ -6312,7 +6312,7 @@ widest-line@^3.1.0:
|
|||||||
|
|
||||||
"wombat@github:webrecorder/wombat":
|
"wombat@github:webrecorder/wombat":
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://codeload.github.com/webrecorder/wombat/tar.gz/b05b406b331050318caffa84f27348f689bdf53a"
|
resolved "https://codeload.github.com/webrecorder/wombat/tar.gz/2035caa5fc9dc51dd1d58c7c0781d8be8a652255"
|
||||||
|
|
||||||
worker-farm@^1.7.0:
|
worker-farm@^1.7.0:
|
||||||
version "1.7.0"
|
version "1.7.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user