Skip to content

feat(agent-status): question glyph for "needs you" state everywhere - #9996

Merged
brennanb2025 merged 3 commits into
mainfrom
brennanb2025/needs-you-question-icon
Jul 22, 2026
Merged

brennanb2025 merged 3 commits into
mainfrom
brennanb2025/needs-you-question-icon

Conversation

@brennanb2025

Copy link
Copy Markdown
Contributor

What

Unifies the "needs you / asking a question / waiting" indicator across every surface: it now renders the dashboard's MessageCircleQuestion chat glyph (in amber) instead of a bare amber dot.

Previously only the agent-dashboard card pill used the chat icon; every other surface showed an amber dot for the same state, and nothing tied them together visually.

Surfaces updated

  • Agent dashboard cards (AgentKanbanCard) — header state glyph
  • In-app dashboard rows (DashboardAgentRow)
  • Agent Dashboard sidebar quick-indicator counts (SidebarNav — the attention / "Needs You" bucket)
  • Worktree-level sidebar status dot (StatusIndicator — permission)
  • Shared agent-row + terminal-tab indicators via the AgentStateDot primitive (compact sidebar agent rows, tab leading icon, AI-Vault rows)

How

  • AgentStateDot: waiting/permission now render MessageCircleQuestion in text-amber-500, mirroring how done renders CircleCheck. This one change covers most surfaces.
  • StatusIndicator: permission renders the same amber glyph (worktree-level status is not driven by AgentStateDot).
  • SidebarNav: the attention bucket count renders the glyph; working/idle stay colored dots.
  • AgentKanbanCard: the header glyph is suppressed when a question summary pill is present, so the card shows "needs you" once, not twice.

Out of scope (intentionally untouched)

  • AgentKanbanBoard "Needs You" column border highlight (a column accent, not a status dot).
  • Unread badge/bell amber in WorktreeCardStatusSlot (unread signal, unrelated state).

Testing

  • Updated AgentStateDot.test.ts and StatusIndicator.test.ts to assert the lucide-message-circle-question + text-amber-500 glyph.
  • Renderer typecheck, oxlint, and affected vitest suites pass.

Screenshots of each surface to follow.

Replace the amber attention dot with the dashboard's MessageCircleQuestion
chat glyph for the waiting/permission "needs you" state across all
surfaces: the agent dashboard cards, in-app dashboard rows, the sidebar's
Agent Dashboard quick-indicator counts, the worktree-level status dot, and
the shared agent-row/terminal-tab indicators.

On the dashboard card the header glyph is suppressed when a question
summary pill is present so "needs you" reads once, not twice.
@coderabbitai

coderabbitai Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Permission and waiting states now render amber question glyphs instead of amber background dots across status indicators. Kanban cards suppress the state dot when an ask summary is present. Sidebar attention buckets use the question glyph while working and idle buckets retain dot indicators. Tests were updated or added to verify the new markup, styling, and conditional rendering behavior.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning It covers Summary and Testing, but the required Screenshots, AI Review Report, Security Audit, and Notes sections are missing or incomplete. Add the missing template sections with screenshots or a visual-change note, an AI review report, a security audit summary, and any platform-specific notes.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: replacing the needs-you indicator with a question glyph across surfaces.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@brennanb2025

Copy link
Copy Markdown
Contributor Author

Screenshots — new "needs you" glyph on every surface

Real anchovy dev build on this branch, one agent seeded into the waiting / "needs you" state.

Agent Dashboard — board card

"Needs You" card shows the amber MessageCircleQuestion glyph once, in the summary pill; the header state glyph is suppressed so it isn't shown twice.

board

card close-up

Agent Dashboard — sidebar quick-indicator

The nav row shows the amber question glyph + count (was an amber dot).

quick indicator

Left worktree sidebar — status + per-agent row

Both the worktree-level status (left of the branch name) and the compact agent row render the glyph (were amber dots).

worktree status + agent row

Full window (context)

sidebar full

The shared AgentStateDot also feeds terminal-tab leading icons and AI-Vault rows via the same branch (unit-tested), not separately screenshotted.

The needs-you unification replaced the amber dot with the amber
MessageCircleQuestion glyph, so update the remaining state assertions in
DashboardAgentRow, WorktreeCardStatusSlot, and TerminalTabLeadingIcon to
match (lucide-message-circle-question + text-amber-500).

@coderabbitai coderabbitai 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.

🧹 Nitpick comments (1)
src/renderer/src/components/sidebar/SidebarNav.test.tsx (1)

261-280: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Assert the complete replacement contract.

This test would still pass if the Needs You row rendered both the question glyph and the old rounded dot, or if the amber class were removed. Verify both absence of the dot and retention of text-amber-500.

Proposed test strengthening
-    expect(attention?.querySelector('.lucide-message-circle-question-mark')).not.toBeNull()
+    const questionIcon = attention?.querySelector('.lucide-message-circle-question-mark')
+    expect(questionIcon).not.toBeNull()
+    expect(questionIcon?.classList.contains('text-amber-500')).toBe(true)
+    expect(attention?.querySelector('.rounded-full')).toBeNull()

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 6a95e0e7-ac9e-45f1-a2b7-415cf1b52c43

📥 Commits

Reviewing files that changed from the base of the PR and between c6d2803 and e9ef0a5.

📒 Files selected for processing (11)
  • src/renderer/src/components/AgentStateDot.test.ts
  • src/renderer/src/components/AgentStateDot.tsx
  • src/renderer/src/components/dashboard-popout/AgentKanbanCard.test.tsx
  • src/renderer/src/components/dashboard-popout/AgentKanbanCard.tsx
  • src/renderer/src/components/dashboard/DashboardAgentRow.test.tsx
  • src/renderer/src/components/sidebar/SidebarNav.test.tsx
  • src/renderer/src/components/sidebar/SidebarNav.tsx
  • src/renderer/src/components/sidebar/StatusIndicator.test.ts
  • src/renderer/src/components/sidebar/StatusIndicator.tsx
  • src/renderer/src/components/sidebar/WorktreeCardStatusSlot.test.tsx
  • src/renderer/src/components/tab-bar/TerminalTabLeadingIcon.test.tsx

@brennanb2025
brennanb2025 merged commit b63d4cd into main Jul 22, 2026
1 check passed
enrick-dev pushed a commit to enrick-dev/orca that referenced this pull request Oct 15, 2026
…tablyai#9996)

* feat(agent-status): show question glyph for needs-you state everywhere

Replace the amber attention dot with the dashboard's MessageCircleQuestion
chat glyph for the waiting/permission "needs you" state across all
surfaces: the agent dashboard cards, in-app dashboard rows, the sidebar's
Agent Dashboard quick-indicator counts, the worktree-level status dot, and
the shared agent-row/terminal-tab indicators.

On the dashboard card the header glyph is suppressed when a question
summary pill is present so "needs you" reads once, not twice.

* test(agent-status): assert amber question glyph, not amber dot

The needs-you unification replaced the amber dot with the amber
MessageCircleQuestion glyph, so update the remaining state assertions in
DashboardAgentRow, WorktreeCardStatusSlot, and TerminalTabLeadingIcon to
match (lucide-message-circle-question + text-amber-500).

* test(agent-status): cover needs-you glyph surfaces
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