Skip to content

feat(host): the Rust host is the default (#76 phase 4a) - #155

Merged
cachewraith merged 1 commit into
mainfrom
feat/rust-host-default-20261027
Oct 27, 2026
Merged

cachewraith merged 1 commit into
mainfrom
feat/rust-host-default-20261027

Conversation

@cachewraith

Copy link
Copy Markdown
Owner

Phase 4a of #76: terminal panes run in the Rust background host by default on Linux, macOS and Windows.

  • Fallback setting: Settings → Advanced now has "Use the Node host" (settings.nodeHost, off; WRAITHGRID_NODE_HOST=1 in tests) in place of "Use the Rust host". It replaces rustHost. Every existing config saved rustHost: false, so changing its default would have moved nobody; the old key is simply dropped on load (the settings schema strips unknown keys), and everyone lands on Rust.
  • No binary: a build without the Rust binary runs the Node host as before.
  • Remote machines: they get the Rust bridge too when this build has the remote binaries, else wraithgrid host-stdio as before.
  • Tests: bun run test:e2e now builds the Rust host first, so CI's e2e runs the default. rust-host.spec checks both the default (Rust) and the fallback (Node).
  • Docs: ADR 0004 is Accepted; the decision is logged in docs/DECISIONS.md.

Kept on purpose: the Node host and node-pty stay for one release as the way back. Windows and macOS have only been checked in CI (smoke test, parity suite). Phase 4b removes them once a release has run on Rust.

Tests: typecheck, lint, 491 unit tests, e2e on the default Rust host: 50 passed, 1 skipped.

Refs #76

🤖 Generated with Claude Code

Terminal panes run in the Rust background host by default on Linux,
macOS and Windows. Settings → Advanced "Use the Node host"
(settings.nodeHost, off; WRAITHGRID_NODE_HOST=1 in tests) goes back to
the Node one. It replaces rustHost, which every config saved as false:
the key is dropped on load, so everyone moves to Rust. A build without
the binary runs the Node host as before.

test:e2e builds the Rust host first, so e2e runs the default;
rust-host.spec checks both ways. ADR 0004 is Accepted. The Node host and
node-pty stay one release as the fallback (phase 4b removes them).

Refs #76

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cachewraith
cachewraith merged commit 442ae39 into main Oct 27, 2026
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