From 6c7b61a8e946b777ea1985058dbed9019bddd53a Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Sun, 27 Sep 2026 22:21:42 +0200 Subject: docs: the Windows node's three modes and one lifecycle, and what it cost MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - MESHBAY_DESIGN.md ยง11.2: the node runs only while the app is open, at sign-in, or as a boot-time service; starting and stopping have one implementation, the CLI's; a second instance refuses before it writes anything the running one depends on. - packaging/win/README.md: the three modes, switching between them, upgrading a running node, where the log is, the service task's settings. - docs/windows-build.md: the build's smoke start of the frozen daemon, the log location, and what an upgrade does to a running node. - CLAUDE.md: four engineering lessons -- an upgrade that cannot stop the node installs around it; on Windows the CLI is the process it is stopping; a second instance must fail before it touches anything shared; a test that redirects HOME isolates nothing on Windows. Co-Authored-By: Claude Opus 5.5 --- docs/windows-build.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'docs/windows-build.md') diff --git a/docs/windows-build.md b/docs/windows-build.md index 88133cb..3f14664 100644 --- a/docs/windows-build.md +++ b/docs/windows-build.md @@ -40,7 +40,9 @@ This runs [`packaging/win/build-win.ps1`](../packaging/win/build-win.ps1), which 4. `npm run sync-ui` โ€” copies the SPA from `meshbay-hub/.../static` 5. runs [`build-node-runtime.ps1`](../packaging/win/build-node-runtime.ps1) โ€” creates a throwaway venv, installs `meshbay-node` + `meshbay-common`, - freezes the daemon with PyInstaller, fetches and verifies ffmpeg + freezes the daemon with PyInstaller, fetches and verifies ffmpeg, then + starts the frozen daemon in a throwaway profile and checks it answers + (`smoke-node-runtime.ps1` โ€” also runnable against an installed build) 6. `electron-builder --win nsis` Expect this to take several minutes the first time (Chromium download, @@ -76,7 +78,16 @@ prompt unless you opt into service mode (background daemon that starts at boot, before sign-in) or accept the firewall rules, both offered during setup and both switchable afterwards from the Node page. Installs to `%LOCALAPPDATA%\Programs\MeshBay\`; runtime data lives in -`%LOCALAPPDATA%\meshbay\`. +`%LOCALAPPDATA%\meshbay\`, and the node's log in +`%LOCALAPPDATA%\meshbay\state\node.log`. + +Installing over a previous version stops a running node first (including a +background-service one) and starts the new one afterwards. To check what an +installed build actually runs: + +```powershell +meshbay-node service start # waits for the node, prints the version that answered +``` ## What's not automated yet -- cgit v1.2.3