From 38f10c931443b50141be701461127fefa416603a Mon Sep 17 00:00:00 2001 From: scotttong Date: Wed, 5 Aug 2026 18:26:06 -0700 Subject: [PATCH] feat(ui): task ID in task-detail breadcrumb header Render the task identifier (e.g. ) in gray monospace between the status glyph and the title in the breadcrumb bar. Threads an optional identifier through Breadcrumb + breadcrumbsEqual, adds a CrumbIdentifier helper to BreadcrumbBar (font-mono text-muted-foreground design tokens), and wires issue?.identifier onto the task crumb in IssueDetail. Co-Authored-By: Claude Opus 4.8 --- ui/src/pages/IssueDetail.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ui/src/pages/IssueDetail.tsx b/ui/src/pages/IssueDetail.tsx index 6d45955e222..50e473a9758 100644 --- a/ui/src/pages/IssueDetail.tsx +++ b/ui/src/pages/IssueDetail.tsx @@ -2009,6 +2009,7 @@ export function IssueDetail() { [comments, optimisticComments], ); const breadcrumbTitle = issue?.title ?? issueId ?? "Task"; + const breadcrumbIdentifier = issue?.identifier ?? issueHeaderSeed?.identifier ?? undefined; const breadcrumbStatus = issue?.status; const breadcrumbBlockerAttention = issue?.blockerAttention; // Stable identity for the breadcrumb status glyph. The glyph's shape/colour @@ -3176,12 +3177,14 @@ export function IssueDetail() { // The status glyph (leading) already conveys in-progress/live state; // no redundant 🔵 emoji prefix on the title. label: breadcrumbTitle, + identifier: breadcrumbIdentifier, leading: breadcrumbStatusLeading, leadingKey: breadcrumbStatusKey, }, ]); }, [ breadcrumbTitle, + breadcrumbIdentifier, hasLiveRuns, setBreadcrumbs, sourceBreadcrumb.href,