From 900f301c25228f8956ce686629b56eee94eaaa04 Mon Sep 17 00:00:00 2001 From: Jonathan Dobson Date: Fri, 7 Nov 2025 12:33:18 -0500 Subject: [PATCH] Two Human Interaction Block Fixes (#3940) --- skyvern-frontend/src/routes/tasks/types.ts | 4 ++++ skyvern-frontend/src/routes/workflows/WorkflowRun.tsx | 8 ++++---- .../workflows/workflowRun/WorkflowRunHumanInteraction.tsx | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/skyvern-frontend/src/routes/tasks/types.ts b/skyvern-frontend/src/routes/tasks/types.ts index 289f771a..eae62cff 100644 --- a/skyvern-frontend/src/routes/tasks/types.ts +++ b/skyvern-frontend/src/routes/tasks/types.ts @@ -51,3 +51,7 @@ export function statusIsRunningOrQueued({ }): boolean { return status === Status.Queued || status === Status.Running; } + +export function statusIsCancellable({ status }: { status: Status }): boolean { + return statusIsNotFinalized({ status }); +} diff --git a/skyvern-frontend/src/routes/workflows/WorkflowRun.tsx b/skyvern-frontend/src/routes/workflows/WorkflowRun.tsx index 1902b255..4ecf8b4a 100644 --- a/skyvern-frontend/src/routes/workflows/WorkflowRun.tsx +++ b/skyvern-frontend/src/routes/workflows/WorkflowRun.tsx @@ -33,7 +33,7 @@ import { } from "@radix-ui/react-icons"; import { useMutation, useQueryClient } from "@tanstack/react-query"; import { Link, Outlet, useSearchParams } from "react-router-dom"; -import { statusIsFinalized, statusIsRunningOrQueued } from "../tasks/types"; +import { statusIsCancellable, statusIsFinalized } from "../tasks/types"; import { useWorkflowRunWithWorkflowQuery } from "./hooks/useWorkflowRunWithWorkflowQuery"; import { WorkflowRunTimeline } from "./workflowRun/WorkflowRunTimeline"; import { useWorkflowRunTimelineQuery } from "./hooks/useWorkflowRunTimelineQuery"; @@ -142,8 +142,8 @@ function WorkflowRun() { }, }); - const workflowRunIsRunningOrQueued = - workflowRun && statusIsRunningOrQueued(workflowRun); + const workflowRunIsCancellable = + workflowRun && statusIsCancellable(workflowRun); const workflowRunIsFinalized = workflowRun && statusIsFinalized(workflowRun); const selection = findActiveItem( @@ -362,7 +362,7 @@ function WorkflowRun() { Edit - {workflowRunIsRunningOrQueued && ( + {workflowRunIsCancellable && ( diff --git a/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunHumanInteraction.tsx b/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunHumanInteraction.tsx index 05265b57..f3f12136 100644 --- a/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunHumanInteraction.tsx +++ b/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunHumanInteraction.tsx @@ -16,7 +16,7 @@ import { DialogTitle, } from "@/components/ui/dialog"; import { toast } from "@/components/ui/use-toast"; -import { useWorkflowRunQuery } from "../hooks/useWorkflowRunQuery"; +import { useWorkflowRunWithWorkflowQuery } from "../hooks/useWorkflowRunWithWorkflowQuery"; import { WorkflowRunBlock } from "../types/workflowRunTypes"; interface Props { @@ -26,7 +26,7 @@ interface Props { export function WorkflowRunHumanInteraction({ workflowRunBlock }: Props) { const credentialGetter = useCredentialGetter(); const queryClient = useQueryClient(); - const { data: workflowRun } = useWorkflowRunQuery(); + const { data: workflowRun } = useWorkflowRunWithWorkflowQuery(); const isPaused = workflowRun && workflowRun.status === WorkflowRunStatus.Paused;