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

jokius / rook / 29270923041
97%

Build:
DEFAULT BRANCH: master
Ran 13 Jul 2026 05:35PM UTC
Jobs 1
Files 78
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

13 Jul 2026 05:26PM UTC coverage: 97.973% (+0.1%) from 97.862%
29270923041

push

github

jokius
feat: dashboard grid overlay

port of upstream agterm 2f6410f (#202) + its follow-up 8c8c9aa (titlebar).

A view-only grid of up to 9 LIVE session panes over the window (ceil(sqrt(n))
layout), for watching a flock of agents at once. The cell unit is a session+pane,
so a split session shows as two cells. Arrow keys walk a highlight, Enter jumps
into that exact session+pane, Esc closes. Cells host the REAL surfaces (never
screenshots): the deck yields them the same way it yields a zoomed surface, and
each cell is view-only — GhosttySurfaceView.viewOnly refuses hit tests AND first
responder (AppKit routes clicks to the NSView regardless of SwiftUI hit-testing),
resigning first responder on the reparent so the grid's key-catcher owns the
keyboard.

Drivable end to end: `rookctl dashboard <ids…> [--font-size N | --auto-size]`,
`--mru` to fill from the window's recency, `--close`, `--window`; the 9-cell cap
counts PANES and any dropped pane is reported, never silently cut. Four tree
read-backs (dashboardMembers/dashboardHighlighted/dashboardFontSize/
dashboardFontMode). GUI half: ⌘⇧D, Navigate ▸ Dashboard, the palette.

The cell font is a transient per-surface override, never persisted: reportFontSize
drops the CELL_SIZE round-trip while it is active, and pendingFontRestore swallows
the async revert report so restoring the grid font cannot pin a default-following
session's fontSize.

Follow-up 8c8c9aa folded in: while the grid is open the full titlebar is swapped
for a stripped bar with only an exit button, so no chrome button can steal the
key-catcher's first responder and strand Esc.

Fork adaptations: our Markdown/file-tree panels stay MOUNTED but non-interactive
behind the grid (maintainer's call — upstream has no such panels); the cell
highlight pill uses rook's brand colors, since our chrome deliberately does not
expose the theme's selection colors; upstream's GhosttySurfaceView+Config /
AppActions+Focus extractions are re-homed into the files we had ... (continued)

228 of 231 new or added lines in 11 files covered. (98.7%)

25 existing lines in 6 files now uncovered.

5753 of 5872 relevant lines covered (97.97%)

5120170.62 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
93.92
-0.86% rookCore/Sources/rookCore/WindowLibrary.swift

Coverage Regressions

Lines Coverage ∆ File
15
97.1
0.28% rookCore/Sources/rookCore/ControlDispatcher.swift
4
98.22
0.07% rookCore/Sources/rookctlKit/SessionCommands.swift
2
97.95
0.42% rookCore/Sources/rookCore/AgentHooksInstall.swift
2
99.64
-0.03% rookCore/Sources/rookCore/AppStore.swift
1
99.07
-0.93% rookCore/Sources/rookCore/LinkPolicy.swift
1
71.83
-0.7% rookCore/Sources/rookCore/TerminalZoom.swift
Jobs
ID Job ID Ran Files Coverage
1 29270923041.1 13 Jul 2026 05:35PM UTC 78
97.97
GitHub Action Run
Source Files on build 29270923041
  • Tree
  • List 78
  • Changed 22
  • Source Changed 21
  • Coverage Changed 21
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29270923041
  • e2823e97 on github
  • Prev Build on master (#29204470857)
  • Next Build on master (#29405968660)
  • Delete
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