Repository navigation
feat(agent-status): question glyph for "needs you" state everywhere - #9996
Conversation
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.
📝 WalkthroughWalkthroughPermission 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)
✅ Passed checks (3 passed)
✨ Finishing Touches📝 Generate docstrings
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. Comment |
Screenshots — new "needs you" glyph on every surfaceReal 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 Agent Dashboard — sidebar quick-indicatorThe nav row shows the amber question glyph + count (was an amber dot). Left worktree sidebar — status + per-agent rowBoth the worktree-level status (left of the branch name) and the compact agent row render the glyph (were amber dots). Full window (context)The shared |
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).
There was a problem hiding this comment.
🧹 Nitpick comments (1)
src/renderer/src/components/sidebar/SidebarNav.test.tsx (1)
261-280: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAssert 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
📒 Files selected for processing (11)
src/renderer/src/components/AgentStateDot.test.tssrc/renderer/src/components/AgentStateDot.tsxsrc/renderer/src/components/dashboard-popout/AgentKanbanCard.test.tsxsrc/renderer/src/components/dashboard-popout/AgentKanbanCard.tsxsrc/renderer/src/components/dashboard/DashboardAgentRow.test.tsxsrc/renderer/src/components/sidebar/SidebarNav.test.tsxsrc/renderer/src/components/sidebar/SidebarNav.tsxsrc/renderer/src/components/sidebar/StatusIndicator.test.tssrc/renderer/src/components/sidebar/StatusIndicator.tsxsrc/renderer/src/components/sidebar/WorktreeCardStatusSlot.test.tsxsrc/renderer/src/components/tab-bar/TerminalTabLeadingIcon.test.tsx
…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





What
Unifies the "needs you / asking a question / waiting" indicator across every surface: it now renders the dashboard's
MessageCircleQuestionchat 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
AgentKanbanCard) — header state glyphDashboardAgentRow)SidebarNav— theattention/ "Needs You" bucket)StatusIndicator—permission)AgentStateDotprimitive (compact sidebar agent rows, tab leading icon, AI-Vault rows)How
AgentStateDot:waiting/permissionnow renderMessageCircleQuestionintext-amber-500, mirroring howdonerendersCircleCheck. This one change covers most surfaces.StatusIndicator:permissionrenders the same amber glyph (worktree-level status is not driven byAgentStateDot).SidebarNav: theattentionbucket count renders the glyph;working/idlestay 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).WorktreeCardStatusSlot(unread signal, unrelated state).Testing
AgentStateDot.test.tsandStatusIndicator.test.tsto assert thelucide-message-circle-question+text-amber-500glyph.Screenshots of each surface to follow.