perf(desktop): ship Windows server tree as a server.asar sidecar

Windows was the only platform whose installer unpacked the entire server
node_modules tree (thousands of loose files) next to app.asar, purely so a
future WSL backend could read it — dominating NSIS install and update time
for every user while the WSL backend is off by default.

Package the server bundle + a hoisted, win32+linux production dependency
tree into resources/server.asar instead (native binaries in the
server.asar.unpacked sibling). The Windows primary runs the server from
inside the archive via the asar-aware ELECTRON_RUN_AS_NODE runtime — the
same mechanism macOS/Linux already use for app.asar — and enabling the WSL
backend extracts the sidecar once into a version-keyed directory under the
desktop state dir (DesktopWslServerTree), swept and re-extracted on app
updates. Extraction failures surface through the existing WSL preflight
retry/reason channel.

app.asar now carries only the desktop main-process dependencies on Windows;
macOS and Linux packaging is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1e2eba366eWout Stiens committed on 8/10/2026, 1:58:55 PMparent78f462c
10 files changedLine totals unavailable