Skip to content

refactor: replace Zig terminal forwarder with Rust - #709

Merged
steipete merged 6 commits into
mainfrom
agent/replace-zig-with-rust
Jul 11, 2026
Merged

refactor: replace Zig terminal forwarder with Rust#709
steipete merged 6 commits into
mainfrom
agent/replace-zig-with-rust

Conversation

@steipete

Copy link
Copy Markdown
Collaborator

Summary

  • replace the Zig terminal forwarder with a Rust crate pinned to Rust 1.97.0
  • migrate macOS, web, npm, Docker, and CI build paths to Cargo while retaining universal Darwin binaries and the Linux glibc 2.28 floor
  • preserve forwarder behavior across PTY I/O, IPC control, session metadata, title filtering, signals, git metadata, and asciinema output
  • make PTY backpressure interruptible, preserve non-UTF-8 Unix paths, and forward signals throughout child cleanup
  • update build, testing, release, and publishing documentation; remove active Zig build/toolchain references

Validation

  • Rust: fmt, Clippy with warnings denied, 51 unit tests, release build, and native Python E2E; strict shutdown suite repeated five times
  • macOS: arm64/x86_64 universal build and smoke-run for both slices; app-embedded forwarder E2E
  • web: check and production build; 126 test files passed, 1,624 tests passed, 103 intentionally skipped
  • Linux: x64 and arm64 forwarder E2E in matching containers; maximum required GLIBC version verified at 2.28
  • npm/Docker: x64 and arm64 package smoke tests; package-only Docker build, health check, Rust dispatch, and real PTY session
  • docs/workflows: 57/57 documentation references, shell/JSON/JavaScript syntax checks, scoped actionlint
  • final structured review clean; source-blind behavior validation found no confirmed failures

@claude

claude Bot commented Jul 11, 2026

Copy link
Copy Markdown

Claude encountered an error —— View job


I'll analyze this and get back to you.

@github-actions

github-actions Bot commented Jul 11, 2026

Copy link
Copy Markdown

🔍 Code Quality Report

This comment is automatically updated with linting results from CI.

Node.js Biome Formatting ✅ Status: Passed

Node.js Biome Linting ✅ Status: Passed

Node.js TypeScript Type Checking ✅ Status: Passed

Node.js Build ✅ Status: Passed

Node.js Tests ✅ Status: Passed

Node.js Security Audit ✅ Status: Passed

Node.js Test Coverage ✅ Status: Passed

Client Coverage:
• Lines: 45.75%
• Functions: 40.83%
• Branches: 36.36%
• Statements: 45.87%

Server Coverage:
• Lines: 33.64%
• Functions: 40.44%
• Branches: 28.06%
• Statements: 33.22%

Mac Formatting (SwiftFormat) ✅ Status: Passed

Mac Linting (SwiftLint) ✅ Status: Passed

@steipete
steipete merged commit f5c9b38 into main Jul 11, 2026
14 checks passed
@steipete
steipete deleted the agent/replace-zig-with-rust branch July 11, 2026 04:59
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