From 6c213378ef30211d6470788b3a87e468fd3d46d9 Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Wed, 29 Jul 2026 16:59:22 -0700 Subject: [PATCH] fix(dashboard): remove per-worktree status dot from agent cards --- .../dashboard-popout/AgentKanbanCard.test.tsx | 4 ++-- .../dashboard-popout/AgentKanbanCard.tsx | 20 ------------------- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/src/renderer/src/components/dashboard-popout/AgentKanbanCard.test.tsx b/src/renderer/src/components/dashboard-popout/AgentKanbanCard.test.tsx index e875c2a919b..24394cae866 100644 --- a/src/renderer/src/components/dashboard-popout/AgentKanbanCard.test.tsx +++ b/src/renderer/src/components/dashboard-popout/AgentKanbanCard.test.tsx @@ -144,7 +144,7 @@ describe('AgentKanbanCard', () => { expect(onOpenTerminal).toHaveBeenCalledTimes(1) }) - it('labels one subagent and the workspace status accessibly', () => { + it('labels one subagent accessibly and never renders a workspace-status dot', () => { renderCard({ card: card({ workspaceStatusId: 'in-review', @@ -156,7 +156,7 @@ describe('AgentKanbanCard', () => { }) expect(screen.getByRole('button', { name: '1 subagent' })).toBeInTheDocument() - expect(screen.getByRole('img', { name: 'In review' })).toBeInTheDocument() + expect(screen.queryByRole('img', { name: 'In review' })).not.toBeInTheDocument() }) it('tints attention amber and done green, leaving every other state neutral', () => { diff --git a/src/renderer/src/components/dashboard-popout/AgentKanbanCard.tsx b/src/renderer/src/components/dashboard-popout/AgentKanbanCard.tsx index e4b18fff93a..556d5f563c1 100644 --- a/src/renderer/src/components/dashboard-popout/AgentKanbanCard.tsx +++ b/src/renderer/src/components/dashboard-popout/AgentKanbanCard.tsx @@ -17,7 +17,6 @@ import { cn } from '@/lib/utils' import type { DashboardCard } from '../../../../shared/dashboard-snapshot' import type { RepoIcon } from '../../../../shared/repo-icon' import { translate } from '@/i18n/i18n' -import { getWorkspaceStatusVisualMeta } from '../sidebar/workspace-status' /** Compact "started N ago" (the card is glanceable — coarse units are fine). */ function formatStartedAgo(startedAt: number, now: number): string { @@ -93,9 +92,6 @@ function sameCard(a: DashboardCard, b: DashboardCard): boolean { a.leafId === b.leafId && a.repoName === b.repoName && a.worktreeName === b.worktreeName && - a.workspaceStatusId === b.workspaceStatusId && - a.workspaceStatusLabel === b.workspaceStatusLabel && - a.workspaceStatusColor === b.workspaceStatusColor && a.hasReview === b.hasReview && a.review?.number === b.review?.number && a.review?.state === b.review?.state && @@ -200,14 +196,6 @@ export const AgentKanbanCard = memo( }: AgentKanbanCardProps): React.JSX.Element { useTranslation() const [subagentsOpen, setSubagentsOpen] = useState(false) - const workspaceStatusMeta = - card.workspaceStatusId && card.workspaceStatusLabel - ? getWorkspaceStatusVisualMeta({ - id: card.workspaceStatusId, - label: card.workspaceStatusLabel, - color: card.workspaceStatusColor - }) - : null // Why: the two outcomes worth scanning for get a tinted card — amber for // "answer me", green for "finished, look at it". Everything else stays // neutral so the tint keeps meaning something. @@ -322,14 +310,6 @@ export const AgentKanbanCard = memo( onClick={() => onOpenTerminal(card)} className="flex w-full items-center gap-2 rounded-md text-left text-[11px] text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none" > - {workspaceStatusMeta ? ( - - ) : null}