Skip to content

Fix desktop runtime for the v2 alpha - #651

Merged
forhappy merged 12 commits into
crab-v2from
codex/fix-alpha-desktop-platforms
Nov 5, 2026
Merged

forhappy merged 12 commits into
crab-v2from
codex/fix-alpha-desktop-platforms

Conversation

@forhappy

@forhappy forhappy commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

On Windows, use named pipes for the PTY daemon and start the Windows command processor when no shell is selected. Launch the durable daemon through the system shell so it cannot retain Electron's handles after the app quits. Keep Git subprocesses off the agent's RPC stdin; Git for Windows otherwise stalls before remote get-url runs. Commands that supply Git input keep their own pipes.

Linux now polls inherited PTY descriptors for readiness and releases them after pending writes finish. Windows repository, worktree, and workspace labels show the folder name. Use native path and Git fixtures; limit only live descriptor transfer and POSIX permission assertions to Unix.

Validation:

  • Windows: 3,696 JavaScript tests passed with seven approved Unix-specific skips. The packaged updater closed cleanly while the daemon stayed alive; all 23 native spawner tests passed. A minimal Tokio probe reproduced the Git hang and verified that closed stdin fixes it. The rebuilt Windows sidecar and full packaged storage check are still running.
  • Linux: 3,703 desktop tests passed. Real inherited PTY input, output, and cleanup passed on Linux and macOS, and the prior Linux code reproduced the idle exit.
  • macOS: rebuilt sidecar passed repository open, read, close, and stdin EOF; all 16 Git patch tests passed, including commands that pipe input.

Keep token and PID files on disk while all daemon peers resolve the same
profile-bound IPC address. Protect live tokens during duplicate startup.
Poll inherited nonblocking descriptors for readiness. Finish borrowed
writes before the terminal reader closes the descriptor.
Use the native command processor for default Windows sessions. Exercise
concurrent requests through the client that correlates their replies.
Keep POSIX descriptor and mode assertions on Unix. Verify the actual
packaged daemon and use native paths in shell working-directory fixtures.
@forhappy forhappy changed the title Fix desktop terminal transport for the v2 alpha Fix desktop terminal transport and Windows repository labels Nov 5, 2026
@forhappy forhappy changed the title Fix desktop terminal transport and Windows repository labels Fix desktop runtime for the v2 alpha Nov 5, 2026
@forhappy
forhappy marked this pull request as ready for review November 5, 2026 07:48
@forhappy
forhappy merged commit aea7ef5 into crab-v2 Nov 5, 2026
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