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",
|
||||
"dependencies": {
|
||||
"@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",
|
||||
"flexsearch": "^0.6.32",
|
||||
"keyword-mark-element": "^0.1.2",
|
||||
@@ -17,8 +17,7 @@
|
||||
"marked": "^1.0.0",
|
||||
"mime-types": "^2.1.27",
|
||||
"pretty-bytes": "^5.3.0",
|
||||
"register-service-worker": "^1.7.1",
|
||||
"wabac": "github:https://github.com/webrecorder/wabac.js#master"
|
||||
"register-service-worker": "^1.7.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"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.loadInfo) {
|
||||
this.loadInfo = {}
|
||||
|
||||
@@ -8,7 +8,7 @@ import {app, session, BrowserWindow, ipcMain, shell} from 'electron';
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
|
||||
import { ArchiveResponse, Rewriter } from 'wabac/src/rewrite';
|
||||
import { ArchiveResponse, Rewriter } from '@webrecorder/wabac/src/rewrite';
|
||||
|
||||
import { PassThrough } from 'stream';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
import { CollectionLoader } from 'wabac/src/loaders';
|
||||
import { CollectionLoader } from '@webrecorder/wabac/src/loaders';
|
||||
|
||||
const { ipcRenderer, contextBridge } = require('electron');
|
||||
|
||||
|
||||
@@ -112,6 +112,7 @@ class Embed extends LitElement
|
||||
source: this.source,
|
||||
customColl: this.coll,
|
||||
config: this.config,
|
||||
basePageUrl: window.location.href.split("#")[0],
|
||||
embed: this.embed,
|
||||
}).toString();
|
||||
|
||||
|
||||
+9
-3
@@ -123,7 +123,7 @@ class Replay extends LitElement
|
||||
this.replayTS = event.data.ts;
|
||||
this.replayUrl = event.data.url;
|
||||
this.title = event.data.title || this.title;
|
||||
this.clearLoading();
|
||||
this.clearLoading(iframe.contentWindow);
|
||||
|
||||
if (event.data.icons) {
|
||||
const icons = event.data.icons;
|
||||
@@ -166,17 +166,23 @@ class Replay extends LitElement
|
||||
const iframe = this.renderRoot.querySelector("iframe");
|
||||
if (!iframe || !iframe.contentDocument || !iframe.contentWindow ||
|
||||
(iframe.contentDocument.readyState === "complete" && !iframe.contentWindow._WBWombat)) {
|
||||
this.clearLoading();
|
||||
this.clearLoading(iframe && iframe.contentWindow);
|
||||
}
|
||||
}, 5000);
|
||||
}
|
||||
|
||||
clearLoading() {
|
||||
clearLoading(iframeWin) {
|
||||
this.isLoading = false;
|
||||
if (this._loadPoll) {
|
||||
window.clearInterval(this._loadPoll);
|
||||
this._loadPoll = null;
|
||||
}
|
||||
|
||||
if (iframeWin) {
|
||||
iframeWin.addEventListener("beforeunload", () => {
|
||||
this.isLoading = true;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
static get styles() {
|
||||
|
||||
@@ -11,11 +11,11 @@ if (self.registration) {
|
||||
staticData.set(prefix + "index.html", {type: "text/html", content: INDEX_HTML});
|
||||
//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);
|
||||
|
||||
} else if (self.postMessage) {
|
||||
// Inited as Web Worker
|
||||
const { WorkerLoader } = require('wabac/src/loaders');
|
||||
const { WorkerLoader } = require('@webrecorder/wabac/src/loaders');
|
||||
const loader = new WorkerLoader(self);
|
||||
}
|
||||
@@ -291,9 +291,9 @@
|
||||
"@webassemblyjs/wast-parser" "1.9.0"
|
||||
"@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"
|
||||
resolved "https://codeload.github.com/webrecorder/wabac.js/tar.gz/47ba5e77b6a1a55eab314e85cb9fad106a5a17ca"
|
||||
resolved "https://codeload.github.com/webrecorder/wabac.js/tar.gz/72128c30f07c5685b13b6cb7b7503a4986fdbe03"
|
||||
dependencies:
|
||||
brotli "github:foliojs/brotli.js"
|
||||
fast-xml-parser "^3.15.1"
|
||||
@@ -6312,7 +6312,7 @@ widest-line@^3.1.0:
|
||||
|
||||
"wombat@github:webrecorder/wombat":
|
||||
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:
|
||||
version "1.7.0"
|
||||
|
||||
Reference in New Issue
Block a user