Fix Windows Harness process startup - #39
Conversation
|
Windows x64 Dev test package is ready.
This package is isolated from the formal installation and uses |
|
Superseding the earlier test artifacts: Windows now launches Harness with a bundled Node.js 24.9.0 runtime instead of the Electron executable/utility process. The packaged
|
|
A validated Windows Dev build is now available as a GitHub Pre-release for faster direct download: The pre-release points to |
|
Windows diagnostic pre-release Changes: 120s Windows startup allowance plus a bundled-Node diagnostic entry that logs Node version/platform/arch, executable path, cwd, DSH_HOME, DSH entry loading, timed wait progress, uncaught errors, and the real process exit code. The packaged Windows smoke test passed before the pre-release was published. |
|
Added two desktop UX improvements:
Verification:
Windows test installer: https://github.com/dataelement/dsh-desktop/releases/download/windows-harness-test-20260815.3/dsh-desktop-dev-windows-x64-setup.exe SHA-256: |
|
Fixed the native workspace picker regression introduced by the previous composition patch. The native interaction requires both the Host backend and the renderless Client surface; both are now pinned. Verified locally:
Windows Server 2022 packaged EXE smoke test also passed. Updated Windows test installer: https://github.com/dataelement/dsh-desktop/releases/download/windows-harness-test-20260815.4/dsh-desktop-dev-windows-x64-setup.exe |
What changed
utilityProcess.fork()instead of respawning the application executable withELECTRON_RUN_AS_NODE.DSH_HOME, stdout/stderr capture, and Node internal-loader flag.0xFFFF7003diagnosis.Why
On Windows Server 2022, the respawned Electron executable terminated before the DSH entrypoint produced any stdout or stderr. Windows returned
4294930435(0xFFFF7003, Crashpad handler unavailable), leaving only the desktop launch preamble inharness.log.Using Electron's Node utility process keeps the Harness child inside Electron's supported process lifecycle and avoids respawning the application executable as a standalone Node process.
Validation
npm test -- --run— 56 tests passed.npm run typecheck— passed.npm run build— passed.