fix(console): visible feedback when a roster row can't open a console - #92
Merged
Conversation
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').
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brett: clicking "prod/mira" in the roster "isn't working."
Root cause
openAgentForRow(main.ts) had two silent-failure paths — no matchingagents.tomlentry, or a matching entry found butdisabled(no url/token configured) — and both only reachednote(), 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 realagents.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
openAgentForRownow 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— cleanvitest run— 103/103 passingvite build— cleanNext 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').