Skip to content

feat(sidebar): spin a gray indicator on clean workspaces with a working agent - #630

Merged
Ziinc merged 1 commit into
mainfrom
claude/sidebar-agent-spinner
Sep 29, 2026
Merged

Ziinc merged 1 commit into
mainfrom
claude/sidebar-agent-spinner

Conversation

@Ziinc

@Ziinc Ziinc commented Sep 29, 2026 •

Copy link
Copy Markdown
Collaborator

A clean workspace with a running agent had no sidebar indicator, so it looked idle.

Change

getWorkspaceStatusIndicator now returns a neutral spinner for a clean workspace whose agent is streaming output:

  • { color: "neutral", spin: true, label: "Agent working" }, drawn gray (text-muted-foreground);
  • the test id is the same workspace-status-indicator-<id>.
    Behaviour otherwise:
  • Changed and conflicted workspaces keep their yellow and red indicators, which spin while an agent streams, as before.
  • The spinner follows the terminal's existing streaming state. It stops about 2 s after the agent's last output, which is when the terminal reports idle. An agent that is open but idle in a clean workspace shows nothing, the same as an idle agent in a changed workspace shows a static dot.
  • The home repo row has no status indicator at all, and I left it that way. It's a separate change if you want one there.

Tests

  • New unit test src/lib/workspace-status-indicator.test.ts.
  • New integration test test/integration/sidebar-agent-spinner.test.tsx, using the fake agent: a clean workspace shows no indicator; after Cmd+] it shows the "Agent working" spinner; the spinner goes away once the agent is idle. Without the change this test fails.
  • The workspace-agent-session-spinner screenshot spec has a new capture, 04-clean-working. I checked it: feat/session-clean shows the gray spinner, and feat/no-session-clean shows nothing.
  • tsc and lint are clean. Unit tests pass (800/800), and test/integration/workspace/** passes (136/136).
    Generated by Claude Code

…ng agent

The sidebar indicator only showed for conflicted or changed workspaces, so
a clean workspace with a running agent looked idle. It now shows a gray
spinner, labelled "Agent working", while an agent in a clean workspace
streams output. Changed and conflicted workspaces keep their yellow and red
indicators, which spin as before.

Ziinc commented Sep 29, 2026

Copy link
Copy Markdown
Collaborator Author

test-js / test:integration failed in one test: workspace/code.test.tsx › clicking a non-readme file opens FileBrowser and allows line comments to start an agent. It timed out after 10 s waiting for [data-testid="code-line"] to render in the file browser.

I don't think this PR caused it:

I haven't found or made a fix for it. I'm re-running the failed job once. If it fails again I'll treat it as a real failure and dig in.


Generated by Claude Code

@Ziinc
Ziinc merged commit d5ce3c3 into main Sep 29, 2026
31 of 32 checks passed
@Ziinc
Ziinc deleted the claude/sidebar-agent-spinner branch September 29, 2026 07:47

This branch was successfully deployed

1 active deployment
preview — 676a66e2 Deployed Sep 29, 2026 by Ziinc via build #1473
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