Service workers fixed (I think)
This commit is contained in:
+13
-11
@@ -1,17 +1,16 @@
|
||||
import { Editor } from "./editor";
|
||||
import { safeRun } from "../common/util";
|
||||
import { safeRun } from "@silverbulletmd/common/util";
|
||||
import { Space } from "@silverbulletmd/common/spaces/space";
|
||||
import { HttpSpacePrimitives } from "@silverbulletmd/common/spaces/http_space_primitives";
|
||||
|
||||
// let localSpace = new Space(new IndexedDBSpacePrimitives("pages"), true);
|
||||
// localSpace.watch();
|
||||
|
||||
// @ts-ignore
|
||||
let isDesktop = typeof window.desktop !== "undefined";
|
||||
|
||||
let serverSpace = new Space(new HttpSpacePrimitives(""), true);
|
||||
serverSpace.watch();
|
||||
|
||||
console.log("Booting...");
|
||||
|
||||
// // @ts-ignore
|
||||
// window.syncer = async () => {
|
||||
// let lastLocalSync = +(localStorage.getItem("lastLocalSync") || "0"),
|
||||
@@ -39,10 +38,13 @@ safeRun(async () => {
|
||||
// @ts-ignore
|
||||
window.editor = editor;
|
||||
|
||||
if (!isDesktop) {
|
||||
navigator.serviceWorker
|
||||
.register(new URL("service_worker.ts", import.meta.url), { type: "module" })
|
||||
.then((r) => {
|
||||
console.log("Service worker registered", r);
|
||||
});
|
||||
}
|
||||
// if (!isDesktop) {
|
||||
// if (localStorage.getItem("disable_sw") !== "true") {
|
||||
navigator.serviceWorker
|
||||
.register(new URL("service_worker.ts", import.meta.url), { type: "module" })
|
||||
.then((r) => {
|
||||
console.log("Service worker registered...");
|
||||
});
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
@@ -158,12 +158,6 @@ export class Editor {
|
||||
}, 100);
|
||||
|
||||
this.space.on({
|
||||
pageCreated: (meta) => {
|
||||
console.log("Page created", meta);
|
||||
},
|
||||
pageDeleted: (meta) => {
|
||||
console.log("Page delete", meta);
|
||||
},
|
||||
pageChanged: (meta) => {
|
||||
if (this.currentPage === meta.name) {
|
||||
console.log("Page changed on disk, reloading");
|
||||
|
||||
@@ -2,19 +2,23 @@ import { manifest, version } from "@parcel/service-worker";
|
||||
|
||||
async function install() {
|
||||
const cache = await caches.open(version);
|
||||
// console.log("Installing", manifest);
|
||||
console.log("Installing", manifest, "version", version);
|
||||
await cache.addAll(manifest);
|
||||
// console.log("DOne");
|
||||
// @ts-ignore
|
||||
self.skipWaiting(); // This automatically enables the service worker, preventing from caching stuff forever if there's a page open
|
||||
console.log("Installed");
|
||||
}
|
||||
|
||||
//@ts-ignore
|
||||
self.addEventListener("install", (e) => e.waitUntil(install()));
|
||||
|
||||
async function activate() {
|
||||
const keys = await caches.keys();
|
||||
// console.log("Activating");
|
||||
// console.log("Activating for ", keys, "new version", version);
|
||||
await Promise.all(keys.map((key) => key !== version && caches.delete(key)));
|
||||
// console.log("DOne activating");
|
||||
}
|
||||
|
||||
//@ts-ignore
|
||||
self.addEventListener("activate", (e) => e.waitUntil(activate()));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user