diff --git a/web/app/components/workflow/hooks/use-workflow-run.ts b/web/app/components/workflow/hooks/use-workflow-run.ts
index 5bea2ca6ad..b9c6e0b8d8 100644
--- a/web/app/components/workflow/hooks/use-workflow-run.ts
+++ b/web/app/components/workflow/hooks/use-workflow-run.ts
@@ -202,7 +202,10 @@ export const useWorkflowRun = () => {
setWorkflowRunningData,
} = workflowStore.getState()
setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
- draft.tracing!.push(data as any)
+ draft.tracing!.push({
+ ...data,
+ status: 'running',
+ } as any)
}))
const nodes = getNodes()
diff --git a/web/app/components/workflow/panel/run-history.tsx b/web/app/components/workflow/panel/run-history.tsx
index fef090fd0a..85f2fd62c0 100644
--- a/web/app/components/workflow/panel/run-history.tsx
+++ b/web/app/components/workflow/panel/run-history.tsx
@@ -9,7 +9,7 @@ import {
useWorkflowRun,
} from '../hooks'
import { CheckCircle, XClose } from '@/app/components/base/icons/src/vender/line/general'
-import { AlertCircle } from '@/app/components/base/icons/src/vender/line/alertsAndFeedback'
+import { AlertCircle, AlertTriangle } from '@/app/components/base/icons/src/vender/line/alertsAndFeedback'
import {
useStore,
useWorkflowStore,
@@ -77,9 +77,14 @@ const RunHistory = () => {
handleBackupDraft()
}}
>
+ {
+ !isChatMode && item.status === WorkflowRunningStatus.Stopped && (
+
+ )
+ }
{
!isChatMode && item.status === WorkflowRunningStatus.Failed && (
-
+
)
}
{
diff --git a/web/app/components/workflow/panel/workflow-preview.tsx b/web/app/components/workflow/panel/workflow-preview.tsx
index 6b5c887b75..f74be9550b 100644
--- a/web/app/components/workflow/panel/workflow-preview.tsx
+++ b/web/app/components/workflow/panel/workflow-preview.tsx
@@ -7,6 +7,7 @@ import { useTranslation } from 'react-i18next'
import ResultPanel from '../run/result-panel'
import TracingPanel from '../run/tracing-panel'
import { useStore } from '../store'
+import Loading from '@/app/components/base/loading'
const WorkflowPreview = () => {
const { t } = useTranslation()
@@ -22,9 +23,9 @@ const WorkflowPreview = () => {
flex flex-col w-[420px] h-full rounded-2xl border-[0.5px] border-gray-200 shadow-xl bg-white
`}>
- Test Run#${workflowRunningData?.result.sequence_number}
+ Test Run#{workflowRunningData?.result.sequence_number}
-
+
{
onClick={() => switchTab('TRACING')}
>{t('runLog.tracing')}
- {currentTab === 'RESULT' && (
-
- )}
- {currentTab === 'TRACING' && (
-
- )}
+
+ {currentTab === 'RESULT' && (
+
+ )}
+ {currentTab === 'RESULT' && !workflowRunningData?.result && (
+
+
+
+ )}
+ {currentTab === 'TRACING' && (
+
+ )}
+ {currentTab === 'TRACING' && !workflowRunningData?.tracing?.length && (
+
+
+
+ )}
+
)
diff --git a/web/app/components/workflow/run/index.tsx b/web/app/components/workflow/run/index.tsx
index 4ab6a9dbbc..180d5f880a 100644
--- a/web/app/components/workflow/run/index.tsx
+++ b/web/app/components/workflow/run/index.tsx
@@ -106,7 +106,7 @@ const RunPanel: FC = ({ activeTab = 'RESULT', runID }) => {
>{t('runLog.tracing')}
{/* panel detal */}
-
+
{loading && (
diff --git a/web/app/components/workflow/run/node.tsx b/web/app/components/workflow/run/node.tsx
index 63c03067a2..076242ce8b 100644
--- a/web/app/components/workflow/run/node.tsx
+++ b/web/app/components/workflow/run/node.tsx
@@ -69,7 +69,7 @@ const NodePanel: FC
= ({ nodeInfo, collapsed = true, className }) => {
)}
{nodeInfo.status === 'running' && (
-