Skip to content

fix(desktop): unblock packaged release smoke - #650

Merged
forhappy merged 1 commit into
crab-v2from
codex/fix-linux-release-smoke
Nov 5, 2026
Merged

forhappy merged 1 commit into
crab-v2from
codex/fix-linux-release-smoke

Conversation

@forhappy

@forhappy forhappy commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Linux packaged smoke hangs after Electron quits because the persistent PTY daemon inherits Chromium descriptors, retaining DevTools sockets and browser files. Close those descriptors at the Linux daemon exec boundary while preserving its Node IPC channel. macOS/Windows retain their existing fork path; daemon upgrades originate inside the already isolated Node daemon and deliberately transfer PTY descriptors.

The storage qualifier also reruns native tests without selecting their bundled CLI. Bind both native consumers to the CLI inside the selected package, and honor the existing CRAB_PACKAGED_APP path for qualification outside release/.

Validation:

  • Reproduced the Linux hang with actual Electron; fixed build exits promptly, leaves its PTY daemon alive, and retains zero browser-profile files.
  • Linux: 23 spawner tests pass. macOS: 46 spawner/mode tests pass.
  • Fresh production CLI/sidecar build and unsigned macOS arm64 ZIP succeed.
  • Owned native RustFS: all 252 agent tests and all three packaged app smoke tests pass, including encrypted credentials, restart, cloud writes, clone and hydration.
  • All 15 packaging/release tests, TypeScript checks, Cargo format and diff checks pass.

Cross-platform publication remains gated on the fresh tagged workflow. Linux VFS coordinator descriptor auditing remains follow-up work within the documented desktop NFS qualification gate.

Close inherited Chromium descriptors before starting the Linux PTY daemon.
Bind native qualification tests to the CLI in the selected packaged app.
@forhappy
forhappy merged commit 9f7b3f4 into crab-v2 Nov 5, 2026
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant