Skip to content

Conversation

@tony
Copy link
Member

@tony tony commented Jan 24, 2026

Summary

  • Add optional Rust backend integration for tmux command execution and server lifecycle checks.
  • Add lightweight JSONL tracing with pytest integration and per-test context.
  • Add optional OpenTelemetry spans/exporter support (OTLP HTTP).
  • Update pytest plugin to support Rust control-mode subscriptions.
  • Extend CI matrix to exercise the Rust control backend when available.
  • Add otel extra and lockfile updates for OTel dependencies.

Notes

  • The vibe-tmux (Rust backend) dependency is not public yet; CI skips Rust backend tests when it’s unavailable.

Closes tmux-python/tmuxp#983

@tony tony changed the title Add optional Rust backend, tracing/OTel instrumentation, and CI coverage Rust backend Jan 24, 2026
@tony tony self-assigned this Jan 24, 2026
tony added 10 commits January 25, 2026 15:22
why: allow libtmux tests to drive a rust-backed tmux_cmd without altering object APIs.
what:
- route tmux_cmd through vibe_tmux when LIBTMUX_BACKEND=rust
- add LIBTMUX_RUST_CONNECTION_KIND for explicit bin/protocol selection
- align raise_if_dead with rust backend exit semantics
why: Config-backed servers should start and load config without breaking liveness checks.
what:
- run first command with -f via tmux bin when server is down
- align rust-backend server helpers to new signature
- refine rust helper error handling and typing
why: We need per-test timing breakdowns to locate slow paths.
what:
- emit JSONL spans for libtmux rust backend calls
- surface trace summary in pytest terminal output
- capture server is_alive/require_server timing
why: Need per-command context when tracing slow rust backend calls.
what:
- include socket/config/connection_kind on rust_server_cmd span
why: Control-mode refresh hints should not trigger background view capture during tests.
what:
- Subscribe with capture_view=false for rust control-mode test server
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ feature request ] Rewrite in Rust

2 participants