Skip to content

feat(desktop): stable Slack-style status line in the composer activity bar - #4662

Open
TolgaCinisli wants to merge 2 commits into
block:mainfrom
TolgaCinisli:cnsl/pr-b-stable-status-line
Open

feat(desktop): stable Slack-style status line in the composer activity bar#4662
TolgaCinisli wants to merge 2 commits into
block:mainfrom
TolgaCinisli:cnsl/pr-b-stable-status-line

Conversation

@TolgaCinisli

Copy link
Copy Markdown

Summary

The inline bot activity bar rotated through the last 5 distinct transcript
headlines every 2.2s. During a long agent turn that reads as flicker — three or
four unrelated strings looping — and there is no way to tell how far along the
turn is.

Replace the rotation with one line that updates in place:

Assistant · Bash: npm test · 2m 10s · 12 tools · ctx 118K/1M
  • Current activity — the running tool with a clamped preview, or the turn
    phase (Thinking / Planning / Responding) when no tool is in flight.
  • Elapsed — ticks once a second, anchored to the agent working signal.
  • Tool count — per turn, resets when a new turn starts; suppressed rows
    excluded.
  • Context — the latest usage reading, session-level so it survives turns.

Shell rows prefer the human-authored description argument over the raw
command text. The bar is a status line, not a terminal — sed -n '420,432p' src/… reads as noise there, while "Read the store cache" is the thing a person
wants. The session panel still shows the full command.

The projection is a pure function in a new botActivityStatus.ts; only the
elapsed segment needs the component's clock. Popover and session panel are
untouched.

Related issue

None found — searched open issues and PRs for "activity bar" / "status line" /
"rotating".

Testing

  • New botActivityStatus.test.mjs — 11 cases covering running-tool preference,
    phase fallback, turn/channel scoping, suppressed rows, usage parsing,
    basename shortening, the idle shape, segment formatting, and the
    description-over-command preference.
  • pnpm -C desktop test — 4052 passing
  • pnpm -C desktop typecheck — clean
  • biome check on the touched files — clean
  • Manual: ran multi-minute agent turns in a channel; the line updates in place
    with no flicker and the counters reset cleanly on the next turn.

CNSL00 added 2 commits August 4, 2026 03:51
The inline bot activity bar rotated through the last 5 distinct transcript
headlines every 2.2s, which read as flicker during long agent turns. Replace
the rotation with one line that updates in place:

  Assistant · Bash: npm test · 2m 10s · 12 tools · ctx 118K/1M

Current activity (running tool + clamped preview, or phase), ticking elapsed
anchored to the agent working signal, per-turn tool count, and the latest
usage reading. Popover and session panel are untouched.

Signed-off-by: Tolga Cinisli <tolgacinisli@gmail.com>
…line

Shell rows rendered the raw command text, so the composer bar showed noise
like `sed -n '420,432p' src/…` instead of what the agent was doing. Claude
Code (and other harnesses) send a human-authored `description` argument with
every shell call — prefer it when present, falling back to the descriptor
preview otherwise. The session panel still shows the full command; the bar is
a status line, not a terminal.

Signed-off-by: Tolga Cinisli <tolgacinisli@gmail.com>
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.

2 participants