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

umputun / agterm / 34825920814
94%

Build:
DEFAULT BRANCH: master
Ran 14 Sep 2026 09:08AM UTC
Jobs 1
Files 143
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

14 Sep 2026 09:03AM UTC coverage: 93.049% (+0.1%) from 92.934%
34825920814

push

github

web-flow
Event hooks: run user scripts from hooks.conf on control events (#607)

* docs(plans): add event hooks plan for hooks.conf scripts on control events

* feat(events): add pane.split and pane.scratch kinds and previous status to control events

emit shown/hidden only on a real split or scratch visibility change, including
closeSplit, primary promotion and scratch shell exit; status events carry the
status before the write so a consumer sees the transition without keeping state.

* feat(hooks): parse hooks.conf into event-keyed shell lines

one verb, on <kind> <shell...>, with the shell remainder kept verbatim so
quotes, pipes and an inline # reach /bin/sh untouched. identity is kind plus
command; the line number is display only so a reload after inserting a comment
keeps the hook's state. adds the hooks.conf path and a commented starter file.

* feat(hooks): schedule hook children with one slot per hook and a bounded queue

HookScheduler is host-free and drives an injected HookLauncher: launch either
throws with no child or returns a pid followed by exactly one exit callback.
only exit releases a hook's slot; a delivery failure on a live run is recorded
and bannered but never starts a second child. reload keeps an unchanged hook's
child, queue and counters, retires a removed one until its child exits, and
reattaches a re-added one to that record so its exit starts the new queue.

* feat(hooks): add hooks.reload and hooks.list to the control API and CLI

both are app-global like the keymap pair: a target or --window is ignored.
the two ControlActions requirements get unsupported defaults so outside
conformers keep building; routing lives in its own dispatcher extension.
`agtermctl hooks list` prints one row per hook with pid, elapsed, pending,
dropped, last failure and a retired marker, then parse diagnostics.

* feat(hooks): spawn hook children with the event on stdin

HookProcessRunner is the app-side HookLauncher: a posix pipe with
F_SETNOSIGPIPE set ... (continued)

286 of 292 new or added lines in 17 files covered. (97.95%)

11110 of 11940 relevant lines covered (93.05%)

3417573.4 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
9.09
-0.91% agtermCore/Sources/agtermCore/ControlActionsDefaults.swift
Jobs
ID Job ID Ran Files Coverage
1 34825920814.1 14 Sep 2026 09:08AM UTC 143
93.05
GitHub Action Run
Source Files on build 34825920814
  • Tree
  • List 143
  • Changed 14
  • Source Changed 14
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34825920814
  • a4944436 on github
  • Prev Build on master (#34798157867)
  • Next Build on master (#34914527555)
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