From 45cfbb2e75aa61663a73319515294e79c3b99696 Mon Sep 17 00:00:00 2001 From: Celal Zamanoglu <95054566+celalzamanoglu@users.noreply.github.com> Date: Wed, 11 Feb 2026 02:23:32 +0300 Subject: [PATCH] Surface block failure_reason in UI for all block types (#SKY-7620) (#4672) --- .../workflows/debugger/DebuggerRunOutput.tsx | 70 ++++++++++--------- .../workflowRun/WorkflowRunOutput.tsx | 70 ++++++++++--------- .../WorkflowRunTimelineItemInfoSection.tsx | 28 ++++++-- 3 files changed, 98 insertions(+), 70 deletions(-) diff --git a/skyvern-frontend/src/routes/workflows/debugger/DebuggerRunOutput.tsx b/skyvern-frontend/src/routes/workflows/debugger/DebuggerRunOutput.tsx index 22ad4721..29548262 100644 --- a/skyvern-frontend/src/routes/workflows/debugger/DebuggerRunOutput.tsx +++ b/skyvern-frontend/src/routes/workflows/debugger/DebuggerRunOutput.tsx @@ -12,6 +12,7 @@ import { useWorkflowRunTimelineQuery } from "../hooks/useWorkflowRunTimelineQuer import { Status } from "@/api/types"; import { AutoResizingTextarea } from "@/components/AutoResizingTextarea/AutoResizingTextarea"; import { isTaskVariantBlock } from "../types/workflowTypes"; +import { statusIsAFailureType } from "@/routes/tasks/types"; function DebuggerRunOutput() { const { data: workflowRunTimeline, isLoading: workflowRunTimelineIsLoading } = @@ -49,6 +50,12 @@ function DebuggerRunOutput() { isTaskVariantBlock(activeBlock) && activeBlock.status === Status.Completed; + const showFailureReason = + activeBlock && + activeBlock.status !== null && + (statusIsAFailureType({ status: activeBlock.status }) || + activeBlock.status === Status.Canceled); + const outputs = workflowRun?.outputs; const fileUrls = workflowRun?.downloaded_file_urls ?? []; const observerOutput = workflowRun?.task_v2?.output; @@ -72,41 +79,36 @@ function DebuggerRunOutput() {