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

umputun / agterm / 33667534062
97%

Build:
DEFAULT BRANCH: master
Ran 02 Sep 2026 06:33PM UTC
Jobs 1
Files 119
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

02 Sep 2026 06:29PM UTC coverage: 97.443%. Remained the same
33667534062

push

github

web-flow
fix(zmx): run a fresh live command as a create-only payload (#533)

* fix(zmx): run a fresh live command as a create-only payload

a fresh live pane took its --command through libghostty initial_input, which the zmx attach client forwards into its outer pty before it switches that pty to raw mode. macOS keeps 1024 bytes in the canonical line buffer and drops the rest, so a command over that size arrived truncated and without its trailing newline, and sat unsubmitted at the shell prompt. Pass the durable command through zmx's create-only argv path instead, the route a restored pane already took. A fresh split pane now gets its command the same way, where before it got none at all.

* fix(test): reap live-test daemons through the app, not the runner

ZmxLiveUITests killed its daemons by running zmx from the test runner, which cannot signal processes the app spawned, and zmx reports that kill(2) EPERM as PermissionDenied, so teardown threw and every run leaked its daemons. Reap through the app's own zmx.kill before terminating it, and refuse to act unless the inventory is complete, the endpoint is this test's own namespace, and every running row is a claimed pane. The namespace guard also rejects the default state directory, so a wrong stateDir cannot reach real sessions.

session.close is not a substitute: paneFinalizer discards the kill result, so it can drop the model while the daemon survives.

* fix(test): report unreapable daemons instead of filtering them away

the teardown kept only rows observed running, so an unresponsive daemon reporting unreadable was neither killed nor counted afterwards and the cleanup passed while it survived. The post-kill poll also demanded a claim, which applyKilledPaneExit removes synchronously, so it threw on the first call and the grace period it exists for was unreachable.

Parse the guarded inventory into typed rows and project it twice. Before the kill, act only on running and claimed rows with complete addressing... (continued)

9602 of 9854 relevant lines covered (97.44%)

4140999.01 hits per line

Jobs
ID Job ID Ran Files Coverage
1 33667534062.1 02 Sep 2026 06:33PM UTC 119
97.44
GitHub Action Run
Source Files on build 33667534062
  • Tree
  • List 119
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33667534062
  • 0e8067dc on github
  • Prev Build on master (#33611615656)
  • Next Build on master (#33668188420)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc