Skip to content

feat: list a machine's agents in the agents section - #66

Merged
zamarrowski merged 4 commits into
mainfrom
feat/machine-agents-section
Nov 7, 2026
Merged

zamarrowski merged 4 commits into
mainfrom
feat/machine-agents-section

Conversation

@zamarrowski

Copy link
Copy Markdown
Contributor

Upstream #663 (0.13.4): a linked machine's agents in the sidebar's agents section, from what status/view already list for each machine.

What it does

  • Order (Session::section_agents): each project's own agents, then those of machines' projects paired with it, then those with no pair.
  • A tree per machine (model/tree.rs, keyed Here(pane) or There(machine, ThereId)): two servers both count pane ids from 1, so a parent, a fold and a cycle only count within one server. Ids stay ThereId. Local rows use the same walk, which also keeps a cycle's rows, where the old one lost them.
  • Rows (sidebar/machine_agents.rs): the ☁ vps tag; a down machine dimmed, the spinner still, <place> · <status> · seen 2 min ago; narrow rows drop +n, then the tag, then the status (fit_tags).
  • A click shows that tab as a click on its tab row does, with no focus sent there. The element id holds boot, so a press before a restart and a release after it click nothing.
  • The fold is that pane's on the machine (collapse/expand --pane through --remote), not optimistic, fixed at the press, with three checks in upstream's order (linked, boot, the pane listed) and their toasts. An ssh failure or refusal says could not collapse the agent on vps: <reason> with the address replaced by the name; 15 s without an answer kills it and says so (cli::run_on_within).
  • No ✕, and a menu with only the fold, on a row with children.

Not as the brief asked

The fold cannot be sent with boot. collapse --pane 9 --boot x exits 2 on 0.13.19 (unexpected argument '--boot'): #677 gave the flag to close and rename only, and a requests --follow line takes what the command line takes. Filed as usecornercase/cornercase-terminal#709. boot is compared here against the last line instead, which leaves the moment between that line and the command, for a click that only hides rows and can be undone. Upstream's vps restarted; nothing was changed there waits on it. There is no muted line for it, since the menu holds only the fold and nothing is missing for a person; design/machines.md says so.

Compact mode: this window has none, so there is no Agents › list to fill.

Checked live

cornercase 0.13.19, Linux x86_64 under Xvfb with lavapipe, a fake ssh between two servers on one box, agents_section on in the bench's config, stacked and side by side, the pair at its narrowest:

  • The order, with a parent and two children on vps (one in another workspace) beside a pane here with the same id 9; down, never linked, adds no rows.
  • A fold, read back with there status --json; there collapse showing here; +2 ☁ vps with a pending child's mark.
  • The menu, none on a row without children; a click, with there status's shown unmoved; the lit row moving up to a parent when folded.
  • vps held: an ssh failure's toast, rows dimmed and counting, the menu at rest, vps unreachable: nothing was sent, the card, and back.
  • An ssh made slow: the spinner, the job in the bar, no answer in 15 s.
  • A menu left open over there close --pane 9 and over a restart there: that agent is no longer on vps and vps restarted, each with : nothing was sent.

Not checked

A real sshd and network, two linked machines and a tag dropping for lack of room (plain tests cover both), a working spinner on these rows (status_of, shared with tab rows), a window itself on another server, macOS, Windows.

@coderabbitai

coderabbitai Bot commented Nov 7, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 54 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration

Commits

Reviewing files that changed from the base of the PR and between ce030b9 and b074bc9.

Files ignored due to path filters: 1

  • Cargo.lock is excluded by !**/*.lock, !Cargo.lock
Files selected for processing: 29

  • CHANGELOG.md
  • Cargo.toml
  • README.md
  • design/architecture.md
  • design/machines.md
  • design/sidebar.md
  • src/cli.rs
  • src/model.rs
  • src/model/machines.rs
  • src/model/machines/seen.rs
  • src/model/machines/seen/agents.rs
  • src/model/machines/seen/agents/tests.rs
  • src/model/machines/tests.rs
  • src/model/tests.rs
  • src/model/tree.rs
  • src/model/tree/tests.rs
  • src/sidebar.rs
  • src/sidebar/agents.rs
  • src/sidebar/agents/tests.rs
  • src/sidebar/arrange.rs
  • src/sidebar/machine_acts.rs
  • src/sidebar/machine_acts/tests.rs
  • src/sidebar/machine_agents.rs
  • src/sidebar/machine_agents/tests.rs
  • src/sidebar/machine_rows.rs
  • src/sidebar/workspace.rs
  • src/store/jobs.rs
  • src/store/machines_there.rs
  • tests/fixtures/machines/agents_status.json
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

…ection

# Conflicts:
#	CHANGELOG.md
#	Cargo.lock
#	Cargo.toml
#	README.md
#	design/architecture.md
#	design/sidebar.md
#	src/cli.rs
#	src/model/machines.rs
#	src/model/machines/seen.rs
#	src/model/machines/tests.rs
…ection

# Conflicts:
#	CHANGELOG.md
#	Cargo.lock
#	Cargo.toml
#	design/architecture.md
@zamarrowski
zamarrowski merged commit 01f70bd into main Nov 7, 2026
13 checks passed
@zamarrowski
zamarrowski deleted the feat/machine-agents-section branch November 7, 2026 03:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant