Skip to content

fix(console): visible feedback when a roster row can't open a console - #92

Merged
brettchien merged 1 commit into
mainfrom
fix/roster-open-agent-feedback
Aug 19, 2026
Merged

fix(console): visible feedback when a roster row can't open a console#92
brettchien merged 1 commit into
mainfrom
fix/roster-open-agent-feedback

Conversation

@brettchien

Copy link
Copy Markdown
Contributor

Brett: clicking "prod/mira" in the roster "isn't working."

Root cause

openAgentForRow (main.ts) had two silent-failure paths — no matching agents.toml entry, or a matching entry found but disabled (no url/token configured) — and both only reached note(), which writes to the Activity tab of the (closed by default) Debug drawer. A click that can't open anything looked identical to a dead button. Couldn't fully confirm which of the two Brett is hitting for mira without his real agents.toml (mira's ECS service is scaled to 0 today, so plausibly it's just not a configured entry) — but the silent failure was worth fixing regardless.

What

openAgentForRow now takes the clicked roster button and flashes it on either failure path — relabeled ("not configured" / "no console") and disabled for ~1.8s, then restored — so the click visibly does something. Also fixed the "not found" message, which used to always claim "no agent console registered" even for the management agent's own roster row (misleading — it is registered, just already open as the persistent console above).

Verification

  • tsc --noEmit — clean
  • vitest run — 103/103 passing
  • vite build — clean
  • Playwright: an ordinary configured agent (mira) still opens normally; the management agent's roster row (no synthetic-clickable target) now flashes "no console" for ~1.8s instead of doing nothing.

Next click on mira's row will tell us (via the note + flash label) which of the two cases it actually is.

🤖 Generated by Orca ('ecs-claude').

Brett: clicking "prod/mira" in the roster "isn't working."

`openAgentForRow` (main.ts) already had two silent-failure paths — no
matching `agents.toml` entry, or a matching entry found `disabled` (no
url/token configured) — and both only reached `note()`, which writes to the
Activity tab of the (closed by default) Debug drawer. A click that can't
open anything looked identical to a dead button; nothing at the point of the
click told you why. This is almost certainly what's actually going on for
mira in Brett's real config (mira's ECS service is scaled to 0 today, so it
may not be a live/configured `agents.toml` entry) — but the silent failure
itself was worth fixing regardless of which of the two cases it is.

Now `openAgentForRow` takes the clicked roster button and, on either failure
path, flashes it — relabeled ("not configured" / "no console") and disabled
for ~1.8s — before restoring, so the click visibly does *something* right
where it happened. Also tightened the "not found" message: it used to always
say "no agent console registered," which was misleading for the management
agent's own roster row (it *is* registered — its console is just the
persistent one above, already open) — now notes that possibility too.

## Verification
- `tsc --noEmit` — clean
- `vitest run` — 103/103 passing (no behavior in tested pure modules changed)
- `vite build` — clean
- Playwright: confirmed an ordinary configured agent (mira) still opens
  normally on click, and the management agent's roster row (which has no
  `data-agent` selector to synthetic-click) now flashes "no console" for
  ~1.8s instead of silently doing nothing, then restores its label.

Still need Brett to confirm on his real config whether mira's `agents.toml`
entry exists/is configured — the flash + note will now say which case it is
next time he clicks it.

🤖 Generated by Orca ('ecs-claude').
@brettchien
brettchien merged commit ccba7b8 into main Aug 19, 2026
2 checks passed
@brettchien
brettchien deleted the fix/roster-open-agent-feedback branch August 19, 2026 08:17
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