ask user to install bridge plugin for vault copied to server at runtime

This commit is contained in:
Nystik
2026-03-22 16:17:26 +01:00
parent 452fb17541
commit 5b01a9cdad
7 changed files with 255 additions and 2 deletions

View File

@@ -16,6 +16,7 @@ import * as osShim from "./node/os.js";
import * as netShim from "./node/net.js";
import * as httpShim from "./node/http.js";
import { vaultService } from "../services/vault-service.js";
import { showPluginInstallDialog } from "../ui/bootstrap.js";
const DEBUG = true;
const _accessLog = new Map(); // "module.property" -> count
@@ -208,6 +209,8 @@ window.__currentVaultId =
path: "/",
};
window.__ignisPlugin = info.ignisPlugin || null;
console.log("[ignis] Vault:", window.__vaultConfig);
console.log("[ignis] Obsidian version:", window.__obsidianVersion);
} else {
@@ -259,4 +262,25 @@ window.__currentVaultId =
installRequestUrlShim();
// Check if plugin install prompt is needed (once per session, after workspace loads)
if (
window.__ignisPlugin &&
!window.__ignisPlugin.installed &&
!window.__ignisPlugin.prompted
) {
const vaultId = window.__currentVaultId;
const observer = new MutationObserver(() => {
if (document.querySelector(".workspace")) {
observer.disconnect();
showPluginInstallDialog(vaultId);
}
});
observer.observe(document.documentElement, {
childList: true,
subtree: true,
});
}
console.log("[ignis] Shim loader initialized");