From 0e641560c51ce8495d6e04ea4f820b4af01eb9b4 Mon Sep 17 00:00:00 2001 From: Michael Matloka Date: Wed, 6 May 2026 13:24:26 +0000 Subject: [PATCH] fix(inbox): show real PR status in inbox list rows The inbox list rows passed skipStatusFetch=true to ReportImplementationPrLink to avoid N parallel `gh` calls, so a merged PR still rendered as "open" green in the list while the detail pane showed it as merged. Drop the skip path so the list and detail use the same shared badge with the same fetched state, and render a neutral gray during the initial load instead of pretending the PR is open. Generated-By: PostHog Code Task-Id: ee5c062f-bf44-4676-9316-f8914a5e0a6d --- .../components/utils/ReportCardContent.tsx | 5 +--- .../utils/ReportImplementationPrLink.tsx | 23 +++++++------------ 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/apps/code/src/renderer/features/inbox/components/utils/ReportCardContent.tsx b/apps/code/src/renderer/features/inbox/components/utils/ReportCardContent.tsx index 0901323a7..83db11fb1 100644 --- a/apps/code/src/renderer/features/inbox/components/utils/ReportCardContent.tsx +++ b/apps/code/src/renderer/features/inbox/components/utils/ReportCardContent.tsx @@ -79,10 +79,7 @@ export function ReportCardContent({ )} {report.implementation_pr_url && ( - + )} diff --git a/apps/code/src/renderer/features/inbox/components/utils/ReportImplementationPrLink.tsx b/apps/code/src/renderer/features/inbox/components/utils/ReportImplementationPrLink.tsx index ec632aee2..ee0327ebe 100644 --- a/apps/code/src/renderer/features/inbox/components/utils/ReportImplementationPrLink.tsx +++ b/apps/code/src/renderer/features/inbox/components/utils/ReportImplementationPrLink.tsx @@ -9,11 +9,6 @@ interface ReportImplementationPrLinkProps { prUrl: string; /** `sm`: inbox list row. `md`: implementation task panel bar. */ size?: ImplementationPrLinkSize; - /** - * When true, skips the tRPC/GitHub status fetch and renders the badge in the - * default open state. Use in list rows to avoid N parallel API calls on mount. - */ - skipStatusFetch?: boolean; } function parseGitHubPrReference(prUrl: string): { @@ -46,22 +41,20 @@ function parseGitHubPrReference(prUrl: string): { export function ReportImplementationPrLink({ prUrl, size = "sm", - skipStatusFetch = false, }: ReportImplementationPrLinkProps) { const { meta: { state, merged, isLoading }, - } = usePrDetails(skipStatusFetch ? null : prUrl); + } = usePrDetails(prUrl); const isSm = size === "sm"; - const colorClass = - isLoading || skipStatusFetch - ? "bg-green-4 text-green-11 hover:bg-green-5" - : merged - ? "bg-violet-4 text-violet-11 hover:bg-violet-5" - : state === "closed" - ? "bg-red-4 text-red-11 hover:bg-red-5" - : "bg-green-4 text-green-11 hover:bg-green-5"; + const colorClass = isLoading + ? "bg-gray-4 text-gray-11 hover:bg-gray-5" + : merged + ? "bg-violet-4 text-violet-11 hover:bg-violet-5" + : state === "closed" + ? "bg-red-4 text-red-11 hover:bg-red-5" + : "bg-green-4 text-green-11 hover:bg-green-5"; const { reference: prReference, prNumber } = parseGitHubPrReference(prUrl);