You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: ship Windows app code in asar to fit legacy Squirrel path limits (#55)
Squirrel 1.x expands every package file through 260-character .NET path
APIs, during releasify and again on end-user machines under
%LOCALAPPDATA%. Loose node_modules paths (deepest: nested OpenTelemetry
copies under spectrum-ts at 166 characters) exceed that budget, so
0.0.36 Windows packaging failed with PathTooLongException.
Windows packages now ship application code inside app.asar (a few
hundred short paths instead of tens of thousands of loose files) and
unpack only what must exist on real disk: scripts, container image,
deploy config, public assets, the desktop directory, node-pty, and
native modules. The desktop shell translates HELM_APP_ROOT, the working
directory, and the Squirrel uninstall helper to the unpacked tree so
Python, PowerShell, WSL, and plain-Node consumers keep reading real
files, while the server itself is imported from inside the archive so
dependency resolution stays there. The photon sidecar, a plain Node
child process that cannot open asar archives, is bundled self-contained
during npm run build and started from the unpacked tree in packaged
builds. macOS, Linux, and development startup paths are unchanged.
Verified by packaging the real app for Linux with the identical asar
configuration: 581 unpacked files with a longest relative path of 118
characters, and the packaged app booted and served /api/setup/status.
Release 0.0.37: version, changelog, and channel-machine pins.
Co-authored-by: Joseph Yaksich <gitcommit90@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|`HELM_CHANNEL_COMPUTER_BACKEND`|`apple` on macOS, `oci` on Linux and Windows | Host isolation backend; `native` and `mock` are explicit development/test overrides. |
Copy file name to clipboardExpand all lines: scripts/package-windows.cjs
+33-12Lines changed: 33 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -80,13 +80,18 @@ function prepareCloudflared(destination) {
80
80
}
81
81
82
82
asyncfunctionmain(){
83
+
// The photon sidecar bundle is produced by `npm run build`. Fail before
84
+
// packaging rather than shipping an app whose sidecar cannot start.
85
+
if(!fs.existsSync(path.join(ROOT,"desktop","photon-sidecar.bundle.mjs")))thrownewError("desktop/photon-sidecar.bundle.mjs is missing; run `npm run build` first.");
0 commit comments