| ... | @@ -72,6 +72,7 @@ import { | ... | @@ -72,6 +72,7 @@ import { |
| 72 | CircleAlertIcon, | 72 | CircleAlertIcon, |
| 73 | CircleCheckIcon, | 73 | CircleCheckIcon, |
| 74 | CircleDashedIcon, | 74 | CircleDashedIcon, |
| | 75 | CircleDotDashedIcon, |
| 75 | ClockIcon, | 76 | ClockIcon, |
| 76 | EyeIcon, | 77 | EyeIcon, |
| 77 | FolderIcon, | 78 | FolderIcon, |
| ... | @@ -1313,7 +1314,7 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { | ... | @@ -1313,7 +1314,7 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { |
| 1313 | // Waiting is calm background presence (post-settle background | 1314 | // Waiting is calm background presence (post-settle background |
| 1314 | // roster), not active progress, so the label keeps full strength. | 1315 | // roster), not active progress, so the label keeps full strength. |
| 1315 | label: "Waiting", | 1316 | label: "Waiting", |
| 1316 | icon: null, | 1317 | icon: "waiting" as const, |
| 1317 | className: "text-muted-foreground", | 1318 | className: "text-muted-foreground", |
| 1318 | } | 1319 | } |
| 1319 | : status === "approval" | 1320 | : status === "approval" |
| ... | @@ -2061,6 +2062,8 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { | ... | @@ -2061,6 +2062,8 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { |
| 2061 | > | 2062 | > |
| 2062 | {topStatus.icon === "working" ? ( | 2063 | {topStatus.icon === "working" ? ( |
| 2063 | <CircleDashedIcon aria-hidden className="size-4 shrink-0" /> | 2064 | <CircleDashedIcon aria-hidden className="size-4 shrink-0" /> |
| | 2065 | ) : topStatus.icon === "waiting" ? ( |
| | 2066 | <CircleDotDashedIcon aria-hidden className="size-4 shrink-0" /> |
| 2064 | ) : topStatus.icon === "input" ? ( | 2067 | ) : topStatus.icon === "input" ? ( |
| 2065 | <MessageCircleQuestionIcon aria-hidden className="size-4 shrink-0" /> | 2068 | <MessageCircleQuestionIcon aria-hidden className="size-4 shrink-0" /> |
| 2066 | ) : topStatus.icon === "approval" ? ( | 2069 | ) : topStatus.icon === "approval" ? ( |
| ... | @@ -2078,6 +2081,12 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { | ... | @@ -2078,6 +2081,12 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { |
| 2078 | <span aria-hidden> | 2081 | <span aria-hidden> |
| 2079 | <WorkingDuration startedAt={resolveWorkingStartedAt(thread)} /> | 2082 | <WorkingDuration startedAt={resolveWorkingStartedAt(thread)} /> |
| 2080 | </span> | 2083 | </span> |
| | 2084 | ) : status === "waiting" ? ( |
| | 2085 | // Waiting starts when the turn ends and background |
| | 2086 | // work keeps the thread held. |
| | 2087 | <span aria-hidden> |
| | 2088 | <WorkingDuration startedAt={thread.latestRun?.completedAt ?? null} /> |
| | 2089 | </span> |
| 2081 | ) : null} | 2090 | ) : null} |
| 2082 | </span> | 2091 | </span> |
| 2083 | ) | 2092 | ) |