Skip to content

fix(app): make the subagent bar say what it is and drop dead controls - #57922

Open
kitlangton wants to merge 2 commits into
devfrom
subagent-bar
Open

kitlangton wants to merge 2 commits into
devfrom
subagent-bar

Conversation

@kitlangton

@kitlangton kitlangton commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

The bar shown when you view a subagent now says which subagent it is and what it is doing.
It used to be two rows with the agent, provider and model laid out like the composer's pickers, which can't be changed in a subagent session. Nothing said it was a subagent or what its task was.

❌ Before

  1. A faint "Running · 24m 35s" line, then a second row with agent, provider, model and variant.
  2. The model and variant looked like pickers but did nothing.
  3. The task wasn't shown anywhere.

✅ After

  1. One 44px line: "General subagent" followed by its task, cut off with a tooltip that shows the full task and the model.
  2. The state: a spinner or Done/Failed/Interrupted icon, the word, and the elapsed or final time. A change fades in; a finished run opens at rest. Under 24rem wide the word hides.
  3. "Main session" with its Esc hint, unchanged.
- <row>Running · 24m</row><row>agent  provider / model  variant  [Main session]</row>
+ <row>Surveyor subagent  task title…   ● Running · 24m   [Main session]</row>
+ tooltip: full task + model

📊 Proof (before above, after below; fictional titles)

Running, light and dark, done, failed, interrupted:

states

Permission dock above, right-to-left, narrow window, long title with tooltip:

more

The updated component test (bar names the subagent and its task, shows no model, no composer) fails on dev.

👀 Read: subagent-bar.tsx. Dev had since swapped the model's / for a shared slash component; that row is gone here, so the PR's version of the file replaced it. The rest is routine.

Seen in real use · stills were taken before the rebase onto dev · the rebase only touched the model row this PR removes

Checks run
  • bun typecheck in packages/app (after rebase onto dev): no errors
  • component-tests/subagent-bar.spec.ts (before rebase): pass; not re-run after, the browser runner was unavailable

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I put the Child Session story through Playwright on the base and on this branch, with screenshots of each below. The bar is now one line naming the subagent, its task (the child session's title, which the subagent tool sets to the task description), the run state with elapsed time, and the way back. No model is shown. The updated subagent-bar.spec.ts passes, and the packages/app type check passes.

Public API is unchanged: this is a web app UI change only, with two new English strings.

No concerns.

Before

After

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still looks good. My earlier review had no concerns, so there was nothing to address. The rebase onto dev only changed the model row this PR removes. The new commit lets keyboard users reach the task tooltip. In the Child Session story, focusing the task opens a tooltip with the full task and the model. component-tests/subagent-bar.spec.ts passes after the rebase, and tsc -b in packages/app passes.

Public API is unchanged: this is a web app UI change only.

No concerns.

Before

After

Screenshot

@patricksmms

Copy link
Copy Markdown

Two details from my duplicate #62334 (closed in favor of this redesign) that may be worth folding in. I tested the current bar at 390×844 with hasTouch.

  • Make Main session an outlined button with an arrow instead of a ghost-faint label. Once the overflow is clipped the text is readable, but it still reads as metadata rather than a control. The outlined version is in the screenshot below.
  • Give the button itself a 44px hit area under (pointer: coarse). The 44px line fixes the row height, but the back control is 24px tall today; pointer-coarse:h-11 on the button keeps the visual size on desktop while making the touch target comfortable.

Outlined Main session control

I can rebase those two details onto this branch or open a small follow-up if that helps.

@patricksmms

Copy link
Copy Markdown

One practical note: this PR currently shows CONFLICTING with dev, and it predates the quieter one-line bar (#59438). If it is not rebased soon, a minimal fix on dev may land faster. My closed duplicate branch subagent-back-button is rebased on current dev and has the outlined button plus the 44px touch target; happy to turn that into a follow-up once you decide on the redesign.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants