diff --git a/CHANGES.md b/CHANGES.md index da273a6..d78ae7d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,9 @@ ## CHANGES +v1.8.12 +- Loading: Fixes embed 'Purge Cache + Reload', ensure '?serveIndex=1' is always set on all service worker loading + v1.8.11 - Loading: Use default html index, avoid custom html injection (via wabac.js 2.16.12) diff --git a/package.json b/package.json index 3ce304b..7041615 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "replaywebpage", "productName": "ReplayWeb.page", - "version": "1.8.11", + "version": "1.8.12", "description": "Serverless Web Archive Replay", "repository": "https://github.com/webrecorder/replayweb.page", "homepage": "https://replayweb.page/", diff --git a/src/appmain.ts b/src/appmain.ts index 932f94a..d8a6ba4 100644 --- a/src/appmain.ts +++ b/src/appmain.ts @@ -447,6 +447,7 @@ export class ReplayWebApp extends LitElement { if (this.useRuffle) { qp.set("injectScripts", "ruffle/ruffle.js"); } + qp.set("serveIndex", "1"); query = qp.toString(); if (query.length) { name += "?" + query; diff --git a/src/sw.js b/src/sw.js new file mode 100644 index 0000000..117f1e6 --- /dev/null +++ b/src/sw.js @@ -0,0 +1,29 @@ +import INDEX_HTML from "../index.html"; + +import { SWReplay } from "@webrecorder/wabac/src/swmain"; + +import { WorkerLoader } from "@webrecorder/wabac/src/loaders"; + +if (self.registration) { + const staticData = new Map(); + + const prefix = self.registration.scope; + + staticData.set(prefix, { type: "text/html", content: INDEX_HTML }); + staticData.set(prefix + "index.html", { + type: "text/html", + content: INDEX_HTML, + }); + + const sp = new URLSearchParams(self.location.search); + + const defaultConfig = {}; + + if (sp.get("ruffle") == "1") { + defaultConfig.injectScripts = ["ruffle/ruffle.js"]; + } + + self.sw = new SWReplay({ staticData, defaultConfig }); +} else { + new WorkerLoader(self); +}