From d4935aa2a28fcbab8c3556e3532e53667092701e Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Fri, 11 Sep 2026 14:17:55 +0200 Subject: feat: gate the create-group wizard on whether a node is bundled MeshBay Light has no bundled meshbay-node.exe, so the create-group wizard (which assumes it can start a local node) needs its own signal, not just platform.node.available. main.js exposes it over IPC (node:bundled) by checking the packaged resources directory rather than trusting a build-time constant; preload.js and platform.js carry it through the usual contextBridge/wrapper path. winCanElevateServiceMode() replaces the two prior 'app.isPackaged' checks for whether the app can offer service-mode elevation -- Light is packaged but has no service-mode.ps1 to elevate into, so packaged alone was already the wrong test even before this target existed. create-group-page.js gates the wizard step that starts a node on the new capability instead of hiding the whole feature; node-page.js's comment fix is unrelated cosmetic drift caught in the same pass. Co-Authored-By: Claude Sonnet 5 --- packages/meshbay-client/src/preload.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'packages/meshbay-client/src/preload.js') diff --git a/packages/meshbay-client/src/preload.js b/packages/meshbay-client/src/preload.js index 13d4f37..c9c9fe0 100644 --- a/packages/meshbay-client/src/preload.js +++ b/packages/meshbay-client/src/preload.js @@ -105,6 +105,10 @@ contextBridge.exposeInMainWorld('meshbay', { node: { detect: () => ipcRenderer.invoke('node:detect'), installed: () => ipcRenderer.invoke('node:installed'), + // Whether THIS build ships its own node (Full) or not (Light) -- + // distinct from `installed`, which also counts one merely found on + // PATH. Windows only; other platforms always resolve true. + bundled: () => ipcRenderer.invoke('node:bundled'), start: (opts) => ipcRenderer.invoke('node:start', opts), call: (method, path, body) => ipcRenderer.invoke('node:call', method, path, body), pairingCode: () => ipcRenderer.invoke('node:pairing-code'), -- cgit v1.2.3