diff --git a/apps/code/src/renderer/features/inbox/components/detail/ReportDetailPane.tsx b/apps/code/src/renderer/features/inbox/components/detail/ReportDetailPane.tsx index fde806a44..a6bf1908b 100644 --- a/apps/code/src/renderer/features/inbox/components/detail/ReportDetailPane.tsx +++ b/apps/code/src/renderer/features/inbox/components/detail/ReportDetailPane.tsx @@ -15,6 +15,7 @@ import { XIcon, } from "@phosphor-icons/react"; import { Box, Flex, ScrollArea, Text, Tooltip } from "@radix-ui/themes"; +import { EXTERNAL_LINKS } from "@renderer/utils/links"; import { getDeeplinkProtocol } from "@shared/deeplink"; import type { ActionabilityJudgmentArtefact, @@ -294,6 +295,43 @@ export function ReportDetailPane({ report, onClose }: ReportDetailPaneProps) { gap="2" className="min-w-0 @2xl:px-6 @3xl:px-8 @4xl:px-10 @5xl:px-12 @lg:px-4 @md:px-3 @xl:px-5 px-2 @2xl:pt-3 @3xl:pt-4 @4xl:pt-5 @5xl:pt-6 @lg:pt-2 @md:pt-1.5 @xl:pt-2.5 pt-1 @2xl:pb-6 @3xl:pb-8 @4xl:pb-10 @5xl:pb-12 @lg:pb-4 @md:pb-3 @xl:pb-5 pb-2" > + {/* ── Failed report error ──────────────────────────── */} + {report.status === "failed" && ( + + + + + Report processing failed + + + There was an issue processing this report. This has been + reported to our team. +
+ To get in touch with the team directly,{" "} + + join our Discord + + . +
+
+
+ )} + {/* ── Description ─────────────────────────────────────── */} {report.status !== "ready" ? ( diff --git a/apps/code/src/renderer/features/inbox/components/list/FilterSortMenu.tsx b/apps/code/src/renderer/features/inbox/components/list/FilterSortMenu.tsx index 225280aa2..e383772de 100644 --- a/apps/code/src/renderer/features/inbox/components/list/FilterSortMenu.tsx +++ b/apps/code/src/renderer/features/inbox/components/list/FilterSortMenu.tsx @@ -70,6 +70,7 @@ const FILTERABLE_STATUSES: SignalReportStatus[] = [ "ready", "pending_input", "in_progress", + "failed", "candidate", "potential", ]; diff --git a/apps/code/src/renderer/features/inbox/stores/inboxSignalsFilterStore.test.ts b/apps/code/src/renderer/features/inbox/stores/inboxSignalsFilterStore.test.ts index f48727f6d..00693aa44 100644 --- a/apps/code/src/renderer/features/inbox/stores/inboxSignalsFilterStore.test.ts +++ b/apps/code/src/renderer/features/inbox/stores/inboxSignalsFilterStore.test.ts @@ -12,6 +12,7 @@ describe("inboxSignalsFilterStore", () => { "ready", "pending_input", "in_progress", + "failed", "candidate", "potential", ], @@ -29,6 +30,7 @@ describe("inboxSignalsFilterStore", () => { "ready", "pending_input", "in_progress", + "failed", "candidate", "potential", ]); @@ -119,6 +121,7 @@ describe("inboxSignalsFilterStore", () => { "ready", "pending_input", "in_progress", + "failed", "candidate", "potential", ]); diff --git a/apps/code/src/renderer/features/inbox/stores/inboxSignalsFilterStore.ts b/apps/code/src/renderer/features/inbox/stores/inboxSignalsFilterStore.ts index 624deb407..c53c4c9e5 100644 --- a/apps/code/src/renderer/features/inbox/stores/inboxSignalsFilterStore.ts +++ b/apps/code/src/renderer/features/inbox/stores/inboxSignalsFilterStore.ts @@ -25,6 +25,7 @@ const DEFAULT_STATUS_FILTER: SignalReportStatus[] = [ "ready", "pending_input", "in_progress", + "failed", "candidate", "potential", ]; diff --git a/packages/agent/src/handoff-checkpoint.ts b/packages/agent/src/handoff-checkpoint.ts index cc0abd067..8ef36e7f2 100644 --- a/packages/agent/src/handoff-checkpoint.ts +++ b/packages/agent/src/handoff-checkpoint.ts @@ -18,7 +18,7 @@ export interface HandoffCheckpointTrackerConfig { logger?: Logger; } -type ArtifactTransfer = T & { +type ArtifactTransfer> = T & { rawBytes: number; wireBytes: number; };