fix(windows): suppress console popup on child_process calls (#498)
On Windows, v0.9.5's detached shared daemon (#411) has no inherited console, so any console-subsystem child it spawns gets a fresh visible console window unless the spawn passes `windowsHide: true`. The fix adds the flag to all ten `spawnSync` / `execFileSync` / `execSync` call sites across extraction, sync, installer, and the WASM-flags relaunch. macOS/Linux ignore the option, so this is a no-op elsewhere. Fixes #485, #510, #530. Co-authored work: - #498 (csw-chen) — full sweep across extraction, sync, installer, and wasm-runtime. **This is the change being merged.** - #505 (yushengruohui) — independently identified and fixed the 7 git execFileSync sites. Superseded by #498's broader sweep; same diagnosis. - #521 (JirA44) — independently identified and fixed the WASM-runtime spawnSync re-exec. Superseded by #498's broader sweep; same diagnosis. Validated on Windows 11 ARM64 (Parallels): a detached parent's 15 git spawns produce 15 visible black flash-windows without the fix and 0 with it.
This commit is contained in:
@@ -167,6 +167,20 @@ and adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
calls pay nothing. Most visible on the "deleted everything between
|
||||
sessions" case, where MCP now returns the correct empty index instead
|
||||
of stale rows. Validated end-to-end on a 10,640-file VS Code index.
|
||||
- **Windows: black console windows no longer flash on every file save / MCP
|
||||
reconnect (#485, #510, #530).** v0.9.5 moved the MCP server to a detached
|
||||
shared daemon (#411). Detached processes have no inherited console on
|
||||
Windows, so any console-subsystem child they spawn (the daemon's `git`
|
||||
invocations during auto-sync, the WASM-runtime `node` re-exec, the
|
||||
installer's `npm` shell-out) is created with a fresh console window
|
||||
visible to the user unless the spawn passes `windowsHide: true` (which
|
||||
libuv translates to `STARTF_USESHOWWINDOW | SW_HIDE`, so the window is
|
||||
created hidden and never flashes). All ten `spawnSync` / `execFileSync` /
|
||||
`execSync` call sites across extraction, sync, installer, and the
|
||||
WASM-flags relaunch now pass `windowsHide: true`. macOS/Linux ignore the
|
||||
option, so this is a no-op elsewhere. The daemon launcher itself
|
||||
(`src/mcp/index.ts`) already passed the flag — these children had been
|
||||
missed.
|
||||
- **`codegraph index` / `init -i` summary now reports the true edge count.**
|
||||
The per-file counter in the orchestrator only saw extraction-phase edges,
|
||||
so resolution and synthesizer edges (often >50% of the graph on
|
||||
|
||||
Reference in New Issue
Block a user