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

umputun / agterm / 30432168989
98%

Build:
DEFAULT BRANCH: master
Ran 29 Jul 2026 07:37AM UTC
Jobs 1
Files 83
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

29 Jul 2026 07:34AM UTC coverage: 97.452% (-0.5%) from 97.918%
30432168989

push

github

web-flow
add native control picker to the control API (#316)

* chore: initialize control pick worktree

* feat: add control pick protocol

* feat: add control pick state

* feat: route control pick commands

* feat: host control pick requests

* feat: support explicit palette items

* feat: mount control pick palette

* feat: cancel picks on lifecycle exits

* feat: report pending control picks

* feat: add control pick CLI

* test: cover control pick end to end

* test: verify control pick acceptance

* docs: document control pick commands

* fix: harden control picker integration

* fix: address picker review findings and unblock hosted tests

keep terminal pick results keyed by pick id so a later picker cannot erase an
answer its blocking caller has not polled yet, bounded per window and app-wide.
key the picker palette by the pending id so a picker swap inside one main-queue
drain gets fresh state instead of the previous picker's rows.

reuse takeFrontmost for pick.open --follow rather than a second copy, and gate
its sidebar reconcile on the settings model instead of the GhosttyApp mirror.
skip libghostty init in an application-hosted unit-test run: the new hosted
picker tests were the first to reach GhosttyApp.shared, and booting it there
crashes the CI runner.

cancel the picker from agtermctl pick when its poll can no longer continue,
correct the prompt wire doc, document requestFocus, and resolve a palette row by
its first hittable match — a row with a subtitle answers to its identifier twice
and the title child is never clickable.

* fix: cancel the picker on a thrown poll and evict retained results by answer age

wrap the blocking poll's send in do/catch so a transport failure mid-wait — a
refused connect, a truncated or empty reply — still dismisses the picker before
rethrowing. without it the CLI exits while the window keeps pick.pending set, so
every later pick.open there is refused and the window stays focus-blocked until a
human presses Esc.

... (continued)

271 of 309 new or added lines in 10 files covered. (87.7%)

6617 of 6790 relevant lines covered (97.45%)

4428008.24 hits per line

Uncovered Changes

Lines Coverage ∆ File
32
85.71
-10.71% agtermCore/Sources/agtermctlKit/MiscCommands.swift
4
93.33
agtermCore/Sources/agtermCore/Pick.swift
2
96.36
agtermCore/Sources/agtermCore/ControlDispatcher+Pick.swift
Jobs
ID Job ID Ran Files Coverage
1 30432168989.1 29 Jul 2026 07:37AM UTC 83
97.45
GitHub Action Run
Source Files on build 30432168989
  • Tree
  • List 83
  • Changed 7
  • Source Changed 7
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30432168989
  • 6b6323ed on github
  • Prev Build on master (#30417082325)
  • Next Build on master (#30472859950)
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