• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jzombie / term-wm / 29138246044
75%

Build:
DEFAULT BRANCH: main
Ran 11 Jul 2026 03:39AM UTC
Jobs 1
Files 102
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Jul 2026 03:35AM UTC coverage: 74.902% (+0.9%) from 74.017%
29138246044

push

github

web-flow
feat: Session server/client infrastructure, PTY deadlock fix, and E2E tests (#104)

* feat: Session server/client infrastructure, PTY deadlock fix, and E2E
tests
Full message:
New crates:
  - term-session-client: standalone TUI viewer connecting to a session
    server
    over muxio IPC. Handles keyboard, mouse, resize, and clipboard (OSC
    52).
  - term-session-server: PTY session manager exposing
    spawn/resize/input/output
    via muxio RPC with streaming channels for PTY I/O.
  - term-session-muxio-service-definitions: shared RPC method
    definitions
    (Spawn, ResizePty, CloseSession, WriteInput, ListSessions,
    PushOutput).
  - term-session-mock: deterministic test binary with
    echo/sleep/exit/osc52
    subcommands. Cross-platform via Win32 VT mode configuration.

PTY engine fix (pty.rs):
  - Added cvar.notify_all() in Pty::screen() to wake the reader thread
    from I/O burst budget parking, preventing a permanent deadlock.
  - Added Pty::generate_snapshot() for capturing formatted terminal
    state.

Session server changes:
  - Added Session::sync_screen() to clear dirty/wake reader without
    draining the pending buffer, so early output reaches subscribers.
  - Fixed subscription handler to send accumulated raw PTY bytes
    alongside the terminal snapshot (previously discarded).
  - Replaced try_lock() with async lock().await to eliminate silent
    subscriber registration failures under lock contention (Windows).
  - Removed redundant vt100::Parser from Session (delegates to Pty).

Test infrastructure:
  - tests/common/: shared helpers (get_mock_bin, find_osc52_payload,
    find_sgr_mouse_token, spawn_session, wait_for_output, etc).
  - tests/integration_session.rs: 10 E2E tests covering spawn, I/O
    round-trip, mouse forwarding, OSC 52 clipboard, resize,
    list/close sessions, reconnect, and term-bench execution.
  - Cross-platform: token scanners handle both standard \x1b]52;
    and Windows-translated ←]52; (ESC as lef... (continued)

950 of 1512 new or added lines in 14 files covered. (62.83%)

2 existing lines in 1 file now uncovered.

22589 of 30158 relevant lines covered (74.9%)

191.0 hits per line

Uncovered Changes

Lines Coverage ∆ File
275
0.0
crates/term-session-client/src/lib.rs
89
0.0
crates/term-session-client/src/remote_pane.rs
82
0.0
crates/term-session-muxio-service-definitions/src/push_frame.rs
38
62.38
crates/term-session-muxio-service-definitions/src/methods.rs
27
88.51
crates/term-session-server/src/session_server.rs
17
0.0
crates/term-session-server/src/main.rs
16
71.43
crates/term-session-mock/src/main.rs
14
77.05
crates/term-session-server/src/session.rs
4
0.0
crates/term-session-client/src/main.rs

Coverage Regressions

Lines Coverage ∆ File
2
88.26
4.78% crates/term-wm-pty-engine/src/pty.rs
Jobs
ID Job ID Ran Files Coverage
1 29138246044.1 11 Jul 2026 03:39AM UTC 102
74.9
GitHub Action Run
Source Files on build 29138246044
  • Tree
  • List 102
  • Changed 11
  • Source Changed 5
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29138246044
  • 043b5f8f on github
  • Prev Build on main (#29128907872)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc