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 31, 2026 16:50
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
tony added 2 commits February 8, 2026 08:34
why: Keep libtmux spans connected to vibe-tmux and propagate traceparent into Rust backend calls.
what:
- Add traceparent scope helper and current-span extraction fallback
- Wrap rust backend calls with traceparent context in common/server paths
…with scope/detail

why: Slash in Component/File and Subcomponent/method reads as path separator, not "or"
what:
- Replace Component/File with scope, Subcomponent/method with detail
- Standardize AI commit type entries
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

1 participant