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

umputun / agterm / 33441402834
97%

Build:
DEFAULT BRANCH: master
Ran 31 Aug 2026 09:31PM UTC
Jobs 1
Files 115
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

31 Aug 2026 09:26PM UTC coverage: 97.604% (+0.001%) from 97.603%
33441402834

push

github

web-flow
fix(status): stop one split pane's agent status erasing the other's block (#523)

* feat(status): stop one pane's agent status erasing the other's block

While a session is blocked, a session.status write from a different pane that is
neither blocked nor idle is refused whole - no status change, no statusChangedAt
restamp, no control event, no sound - answering "blocked status owned by pane
<pane>". With an agent in each pane the installed PostToolUse hook's active
erased the other pane's block seconds after it was set, taking the session out
of the attention list and idle auto-follow with it.

A second pane's own blocked still replaces, idle always clears, and same-pane
writes are unrestricted, so a single-pane session behaves exactly as before.
Panes compare after AgentIndicator.normalizedPane, or a promoted survivor's
baked .right fails to match the .left its block is stored as. The rule lives in
applyControlStatus rather than setAgentIndicator, whose other callers are
internal clears and retags that must bypass it.

session.type now fires the same pane-scoped clear as keyDown, through
injectAsUserInput - the input a blocked agent waited for has arrived. An empty
payload queues no keystrokes and so clears nothing, and onUserInput stays
unfired: that stamps the user as present and defers auto-follow, which a script
typing into a background pane must not do.

Two simultaneous blocks in one session still collapse to one; only per-pane
status storage fixes that, tracked in discussion
https://github.com/umputun/agterm/discussions/517

* fix(status): drop the idle carve-out from the pane-precedence rule

The exemption rested on a false claim - that no installed hook emits idle.
Two do, both tagged with their own pane: Codex's session-start action
(agterm-codex-status.sh) and the shell integration's precmd, which fires at the
next prompt after any matched agent exits. So starting codex in the right pane,
or any agent there finishing, erased a left-pane bl... (continued)

20 of 20 new or added lines in 2 files covered. (100.0%)

9207 of 9433 relevant lines covered (97.6%)

4325806.07 hits per line

Jobs
ID Job ID Ran Files Coverage
1 33441402834.1 31 Aug 2026 09:31PM UTC 115
97.6
GitHub Action Run
Source Files on build 33441402834
  • Tree
  • List 115
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33441402834
  • c8860a91 on github
  • Prev Build on master (#33439642769)
  • Next Build on master (#33448742734)
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