,
+ },
+ },
+ )
+
+ await user.click(screen.getByText('runLog.detail'))
+ await user.click(screen.getByRole('button', { name: 'open-tracing' }))
+
+ expect(screen.getByTestId('tracing-panel')).toHaveTextContent('1')
+ })
+
it('should resize the preview panel within the allowed workflow canvas bounds', async () => {
const { container, store } = renderWorkflowComponent(
,
diff --git a/web/app/components/workflow/panel/workflow-preview.tsx b/web/app/components/workflow/panel/workflow-preview.tsx
index d3950dcbca..e1e442c0cb 100644
--- a/web/app/components/workflow/panel/workflow-preview.tsx
+++ b/web/app/components/workflow/panel/workflow-preview.tsx
@@ -101,6 +101,10 @@ const WorkflowPreview = () => {
await submitHumanInputForm(formToken, formData)
}, [])
+ const handleOpenTracingTab = useCallback(() => {
+ switchTab('TRACING')
+ }, [])
+
return (
{
created_by={(workflowRunningData?.result?.created_by as any)?.name}
steps={workflowRunningData?.result?.total_steps}
exceptionCounts={workflowRunningData?.result?.exceptions_count}
+ onOpenTracingTab={handleOpenTracingTab}
/>
)}
{currentTab === 'DETAIL' && !workflowRunningData?.result && (
diff --git a/web/app/components/workflow/run/__tests__/status.spec.tsx b/web/app/components/workflow/run/__tests__/status.spec.tsx
index 01f32c4c47..24682aa47f 100644
--- a/web/app/components/workflow/run/__tests__/status.spec.tsx
+++ b/web/app/components/workflow/run/__tests__/status.spec.tsx
@@ -1,11 +1,60 @@
import type { WorkflowPausedDetailsResponse } from '@/models/log'
-import { render, screen } from '@testing-library/react'
+import { fireEvent, render, screen } from '@testing-library/react'
+import { cloneElement, isValidElement } from 'react'
import { createDocLinkMock, resolveDocLink } from '../../__tests__/i18n'
import Status from '../status'
const mockDocLink = createDocLinkMock()
const mockUseWorkflowPausedDetails = vi.fn()
+vi.mock('react-i18next', () => ({
+ useTranslation: () => ({
+ t: (key: string, options?: Record) => {
+ const fullKey = options?.ns ? `${options.ns}.${key}` : key
+ if (fullKey === 'workflow.nodes.common.errorHandle.partialSucceeded.tip')
+ return 'There are {{num}} nodes in the process running abnormally, please go to TRACING to check the logs.'
+
+ const params = { ...options }
+ delete params.ns
+ const suffix = Object.keys(params).length > 0 ? `:${JSON.stringify(params)}` : ''
+ return `${fullKey}${suffix}`
+ },
+ }),
+ Trans: ({
+ i18nKey,
+ values,
+ components,
+ }: {
+ i18nKey: string
+ values?: {
+ num?: string | number
+ }
+ components?: Record
+ }) => {
+ if (i18nKey !== 'nodes.common.errorHandle.partialSucceeded.tip')
+ return {i18nKey}
+
+ const tracingLink = components?.tracingLink
+ const tracingNode = isValidElement(tracingLink)
+ ? cloneElement(tracingLink, undefined, 'TRACING')
+ : 'TRACING'
+
+ return (
+
+ There are
+ {' '}
+ {values?.num}
+ {' '}
+ nodes in the process running abnormally, please go to
+ {' '}
+ {tracingNode}
+ {' '}
+ to check the logs.
+
+ )
+ },
+}))
+
vi.mock('@/context/i18n', () => ({
useDocLink: () => mockDocLink,
}))
@@ -64,14 +113,24 @@ describe('Status', () => {
expect(screen.getByText('FAIL')).toBeInTheDocument()
expect(screen.getByText('Something broke')).toBeInTheDocument()
- expect(screen.getByText('workflow.nodes.common.errorHandle.partialSucceeded.tip:{"num":2}')).toBeInTheDocument()
+ expect(screen.getAllByText((_, element) => element?.textContent === 'There are 2 nodes in the process running abnormally, please go to TRACING to check the logs.')).toHaveLength(2)
})
it('renders the partial-succeeded warning summary', () => {
render()
expect(screen.getByText('PARTIAL SUCCESS')).toBeInTheDocument()
- expect(screen.getByText('workflow.nodes.common.errorHandle.partialSucceeded.tip:{"num":3}')).toBeInTheDocument()
+ expect(screen.getAllByText((_, element) => element?.textContent === 'There are 3 nodes in the process running abnormally, please go to TRACING to check the logs.')).toHaveLength(2)
+ })
+
+ it('opens the tracing tab when clicking the TRACING link', () => {
+ const onOpenTracingTab = vi.fn()
+
+ render()
+
+ fireEvent.click(screen.getByRole('link', { name: 'TRACING' }))
+
+ expect(onOpenTracingTab).toHaveBeenCalledTimes(1)
})
it('renders the exception learn-more link', () => {
diff --git a/web/app/components/workflow/run/index.tsx b/web/app/components/workflow/run/index.tsx
index d39e6d43c3..417d38657e 100644
--- a/web/app/components/workflow/run/index.tsx
+++ b/web/app/components/workflow/run/index.tsx
@@ -174,6 +174,7 @@ const RunPanel: FC = ({
exceptionCounts={runDetail.exceptions_count}
isListening={isListening}
workflowRunId={runDetail.id}
+ onOpenTracingTab={() => switchTab('TRACING')}
/>
)}
{!loading && currentTab === 'DETAIL' && !runDetail && isListening && (
diff --git a/web/app/components/workflow/run/result-panel.tsx b/web/app/components/workflow/run/result-panel.tsx
index 58f783e6c4..c7f4a45540 100644
--- a/web/app/components/workflow/run/result-panel.tsx
+++ b/web/app/components/workflow/run/result-panel.tsx
@@ -42,6 +42,7 @@ export type ResultPanelProps = {
execution_metadata?: any
isListening?: boolean
workflowRunId?: string
+ onOpenTracingTab?: () => void
handleShowIterationResultList?: (detail: NodeTracing[][], iterDurationMap: any) => void
handleShowLoopResultList?: (detail: NodeTracing[][], loopDurationMap: any) => void
onShowRetryDetail?: (detail: NodeTracing[]) => void
@@ -69,6 +70,7 @@ const ResultPanel: FC = ({
execution_metadata,
isListening = false,
workflowRunId,
+ onOpenTracingTab,
handleShowIterationResultList,
handleShowLoopResultList,
onShowRetryDetail,
@@ -92,6 +94,7 @@ const ResultPanel: FC = ({
exceptionCounts={exceptionCounts}
isListening={isListening}
workflowRunId={workflowRunId}
+ onOpenTracingTab={onOpenTracingTab}
/>
diff --git a/web/app/components/workflow/run/status.tsx b/web/app/components/workflow/run/status.tsx
index d4ecfcc0fd..233c6207a9 100644
--- a/web/app/components/workflow/run/status.tsx
+++ b/web/app/components/workflow/run/status.tsx
@@ -1,7 +1,7 @@
'use client'
import type { FC } from 'react'
import { useMemo } from 'react'
-import { useTranslation } from 'react-i18next'
+import { Trans, useTranslation } from 'react-i18next'
import Indicator from '@/app/components/header/indicator'
import StatusContainer from '@/app/components/workflow/run/status-container'
import { useDocLink } from '@/context/i18n'
@@ -16,6 +16,7 @@ type ResultProps = {
exceptionCounts?: number
isListening?: boolean
workflowRunId?: string
+ onOpenTracingTab?: () => void
}
const StatusPanel: FC
= ({
@@ -26,6 +27,7 @@ const StatusPanel: FC = ({
exceptionCounts,
isListening = false,
workflowRunId,
+ onOpenTracingTab,
}) => {
const { t } = useTranslation()
const docLink = useDocLink()
@@ -65,6 +67,30 @@ const StatusPanel: FC = ({
return inputURLs
}, [pausedDetails])
+ const partialSucceededTip = exceptionCounts
+ ? (
+ {
+ e.preventDefault()
+ onOpenTracingTab()
+ }}
+ />
+ )
+ : ,
+ }}
+ />
+ )
+ : null
+
return (
@@ -160,7 +186,7 @@ const StatusPanel: FC
= ({
<>
- {t('nodes.common.errorHandle.partialSucceeded.tip', { ns: 'workflow', num: exceptionCounts })}
+ {partialSucceededTip}
>
)
@@ -172,7 +198,7 @@ const StatusPanel: FC = ({
<>
- {t('nodes.common.errorHandle.partialSucceeded.tip', { ns: 'workflow', num: exceptionCounts })}
+ {partialSucceededTip}
>
)
diff --git a/web/i18n/ar-TN/workflow.json b/web/i18n/ar-TN/workflow.json
index e0e498e8d4..56192350c3 100644
--- a/web/i18n/ar-TN/workflow.json
+++ b/web/i18n/ar-TN/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "فرع الفشل",
"nodes.common.errorHandle.none.desc": "ستتوقف العقدة عن العمل في حالة حدوث استثناء ولم يتم التعامل معه",
"nodes.common.errorHandle.none.title": "لا شيء",
- "nodes.common.errorHandle.partialSucceeded.tip": "هناك {{num}} عقد في العملية تعمل بشكل غير طبيعي، يرجى الانتقال إلى التتبع للتحقق من السجلات.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "هناك {{num}} عقد في العملية تعمل بشكل غير طبيعي، يرجى الانتقال إلى التتبع للتحقق من السجلات.",
"nodes.common.errorHandle.tip": "استراتيجية التعامل مع الاستثناءات، يتم تشغيلها عندما تواجه العقدة استثناءً.",
"nodes.common.errorHandle.title": "معالجة الأخطاء",
"nodes.common.inputVars": "متغيرات الإدخال",
diff --git a/web/i18n/de-DE/workflow.json b/web/i18n/de-DE/workflow.json
index 7a1ddeeb1c..75cb0d30ca 100644
--- a/web/i18n/de-DE/workflow.json
+++ b/web/i18n/de-DE/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Fehlgeschlagener Zweig",
"nodes.common.errorHandle.none.desc": "Der Knoten wird nicht mehr ausgeführt, wenn eine Ausnahme auftritt und nicht behandelt wird",
"nodes.common.errorHandle.none.title": "Nichts",
- "nodes.common.errorHandle.partialSucceeded.tip": "Es gibt {{num}} Knoten im Prozess, die nicht normal laufen, bitte gehen Sie zur Ablaufverfolgung, um die Protokolle zu überprüfen.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "Es gibt {{num}} Knoten im Prozess, die nicht normal laufen, bitte gehen Sie zur Ablaufverfolgung, um die Protokolle zu überprüfen.",
"nodes.common.errorHandle.tip": "Ausnahmebehandlungsstrategie, die ausgelöst wird, wenn ein Knoten auf eine Ausnahme stößt.",
"nodes.common.errorHandle.title": "Fehlerbehandlung",
"nodes.common.inputVars": "Eingabevariablen",
diff --git a/web/i18n/en-US/workflow.json b/web/i18n/en-US/workflow.json
index 6f6e5de2cc..42522950b8 100644
--- a/web/i18n/en-US/workflow.json
+++ b/web/i18n/en-US/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Fail Branch",
"nodes.common.errorHandle.none.desc": "The node will stop running if an exception occurs and is not handled",
"nodes.common.errorHandle.none.title": "None",
- "nodes.common.errorHandle.partialSucceeded.tip": "There are {{num}} nodes in the process running abnormally, please go to tracing to check the logs.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "There are {{num}} nodes in the process running abnormally, please go to TRACING to check the logs.",
"nodes.common.errorHandle.tip": "Exception handling strategy, triggered when a node encounters an exception.",
"nodes.common.errorHandle.title": "Error Handling",
"nodes.common.inputVars": "Input Variables",
diff --git a/web/i18n/es-ES/workflow.json b/web/i18n/es-ES/workflow.json
index 1955357c45..5545707b4f 100644
--- a/web/i18n/es-ES/workflow.json
+++ b/web/i18n/es-ES/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Rama de error",
"nodes.common.errorHandle.none.desc": "El nodo dejará de ejecutarse si se produce una excepción y no se controla",
"nodes.common.errorHandle.none.title": "Ninguno",
- "nodes.common.errorHandle.partialSucceeded.tip": "Hay nodos {{num}} en el proceso que se ejecutan de manera anormal, vaya a rastreo para verificar los registros.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "Hay nodos {{num}} en el proceso que se ejecutan de manera anormal, vaya a rastreo para verificar los registros.",
"nodes.common.errorHandle.tip": "Estrategia de control de excepciones, que se desencadena cuando un nodo encuentra una excepción.",
"nodes.common.errorHandle.title": "Manejo de errores",
"nodes.common.inputVars": "Variables de entrada",
diff --git a/web/i18n/fa-IR/workflow.json b/web/i18n/fa-IR/workflow.json
index e957d45267..fbe6685681 100644
--- a/web/i18n/fa-IR/workflow.json
+++ b/web/i18n/fa-IR/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "شاخه شکست",
"nodes.common.errorHandle.none.desc": "اگر استثنایی رخ دهد و مدیریت نشود، گره از کار میافتد",
"nodes.common.errorHandle.none.title": "هیچکدام",
- "nodes.common.errorHandle.partialSucceeded.tip": "{{num}} گره با خطا مواجه شدند؛ برای بررسی لاگها به ردیابی مراجعه کنید.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "{{num}} گره با خطا مواجه شدند؛ برای بررسی لاگها به ردیابی مراجعه کنید.",
"nodes.common.errorHandle.tip": "استراتژی مدیریت استثنا؛ زمانی که گره با خطا مواجه شود فعال میشود.",
"nodes.common.errorHandle.title": "مدیریت خطا",
"nodes.common.inputVars": "متغیرهای ورودی",
diff --git a/web/i18n/fr-FR/workflow.json b/web/i18n/fr-FR/workflow.json
index ec23ac5c98..b7f7048ad2 100644
--- a/web/i18n/fr-FR/workflow.json
+++ b/web/i18n/fr-FR/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Branche d’échec",
"nodes.common.errorHandle.none.desc": "Le nœud cessera de s’exécuter si une exception se produit et n’est pas gérée",
"nodes.common.errorHandle.none.title": "Aucun",
- "nodes.common.errorHandle.partialSucceeded.tip": "Il y a des nœuds {{num}} dans le processus qui fonctionnent anormalement, veuillez aller dans le traçage pour vérifier les journaux.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "Il y a des nœuds {{num}} dans le processus qui fonctionnent anormalement, veuillez aller dans le traçage pour vérifier les journaux.",
"nodes.common.errorHandle.tip": "Stratégie de gestion des exceptions, déclenchée lorsqu’un nœud rencontre une exception.",
"nodes.common.errorHandle.title": "Gestion des erreurs",
"nodes.common.inputVars": "Variables d’entrée",
diff --git a/web/i18n/hi-IN/workflow.json b/web/i18n/hi-IN/workflow.json
index f18de6aa3c..9166eb43d8 100644
--- a/web/i18n/hi-IN/workflow.json
+++ b/web/i18n/hi-IN/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "असफल शाखा",
"nodes.common.errorHandle.none.desc": "यदि कोई अपवाद होता है और हैंडल नहीं किया जाता है, तो नोड चलना बंद कर देगा",
"nodes.common.errorHandle.none.title": "कोई नहीं",
- "nodes.common.errorHandle.partialSucceeded.tip": "प्रक्रिया में {{num}} नोड्स असामान्य रूप से चल रहे हैं, कृपया लॉग की जांच करने के लिए ट्रेसिंग पर जाएं।",
+ "nodes.common.errorHandle.partialSucceeded.tip": "प्रक्रिया में {{num}} नोड्स असामान्य रूप से चल रहे हैं, कृपया लॉग की जांच करने के लिए ट्रेसिंग पर जाएं।",
"nodes.common.errorHandle.tip": "अपवाद हैंडलिंग रणनीति, ट्रिगर जब एक नोड एक अपवाद का सामना करता है।",
"nodes.common.errorHandle.title": "त्रुटि हैंडलिंग",
"nodes.common.inputVars": "इनपुट चर",
diff --git a/web/i18n/id-ID/workflow.json b/web/i18n/id-ID/workflow.json
index 5030489cb1..7e72577e3b 100644
--- a/web/i18n/id-ID/workflow.json
+++ b/web/i18n/id-ID/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Cabang Gagal",
"nodes.common.errorHandle.none.desc": "Node akan berhenti berjalan jika pengecualian terjadi dan tidak ditangani",
"nodes.common.errorHandle.none.title": "Tidak",
- "nodes.common.errorHandle.partialSucceeded.tip": "Ada {{num}} node dalam proses yang berjalan tidak normal, silakan pergi ke tracing untuk memeriksa log.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "Ada {{num}} node dalam proses yang berjalan tidak normal, silakan pergi ke tracing untuk memeriksa log.",
"nodes.common.errorHandle.tip": "Strategi penanganan pengecualian, dipicu ketika simpul menemukan pengecualian.",
"nodes.common.errorHandle.title": "Penanganan Kesalahan",
"nodes.common.inputVars": "Variabel Masukan",
diff --git a/web/i18n/it-IT/workflow.json b/web/i18n/it-IT/workflow.json
index a39e00c5d8..2fde43f694 100644
--- a/web/i18n/it-IT/workflow.json
+++ b/web/i18n/it-IT/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Ramo fallito",
"nodes.common.errorHandle.none.desc": "L'esecuzione del nodo verrà interrotta se si verifica un'eccezione e non viene gestita",
"nodes.common.errorHandle.none.title": "Nessuno",
- "nodes.common.errorHandle.partialSucceeded.tip": "Ci sono {{num}} nodi nel processo che funzionano in modo anomalo, si prega di andare su tracing per controllare i log.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "Ci sono {{num}} nodi nel processo che funzionano in modo anomalo, si prega di andare su tracing per controllare i log.",
"nodes.common.errorHandle.tip": "Strategia di gestione delle eccezioni, attivata quando un nodo rileva un'eccezione.",
"nodes.common.errorHandle.title": "Gestione degli errori",
"nodes.common.inputVars": "Variabili di input",
diff --git a/web/i18n/ja-JP/workflow.json b/web/i18n/ja-JP/workflow.json
index 089468053a..11cf9caa34 100644
--- a/web/i18n/ja-JP/workflow.json
+++ b/web/i18n/ja-JP/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "例外分岐",
"nodes.common.errorHandle.none.desc": "例外発生時に処理を停止",
"nodes.common.errorHandle.none.title": "処理なし",
- "nodes.common.errorHandle.partialSucceeded.tip": "{{num}}個のノードで異常発生。ログはトレース画面で確認可能",
+ "nodes.common.errorHandle.partialSucceeded.tip": "{{num}}個のノードで異常発生。ログはトレース画面で確認可能",
"nodes.common.errorHandle.tip": "ノード例外発生時の処理ポリシーを設定",
"nodes.common.errorHandle.title": "例外処理",
"nodes.common.inputVars": "入力変数",
diff --git a/web/i18n/ko-KR/workflow.json b/web/i18n/ko-KR/workflow.json
index ab602c391c..c93f417361 100644
--- a/web/i18n/ko-KR/workflow.json
+++ b/web/i18n/ko-KR/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "실패 분기",
"nodes.common.errorHandle.none.desc": "예외가 발생하고 처리되지 않으면 노드 실행이 중지됩니다",
"nodes.common.errorHandle.none.title": "없음",
- "nodes.common.errorHandle.partialSucceeded.tip": "프로세스에 {{num}} 노드가 비정상적으로 실행 중입니다. 추적으로 이동하여 로그를 확인하십시오.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "프로세스에 {{num}} 노드가 비정상적으로 실행 중입니다. 추적으로 이동하여 로그를 확인하십시오.",
"nodes.common.errorHandle.tip": "노드에 예외가 발생할 때 트리거되는 예외 처리 전략입니다.",
"nodes.common.errorHandle.title": "오류 처리",
"nodes.common.inputVars": "입력 변수",
diff --git a/web/i18n/nl-NL/workflow.json b/web/i18n/nl-NL/workflow.json
index b706c42962..4a6ccd8937 100644
--- a/web/i18n/nl-NL/workflow.json
+++ b/web/i18n/nl-NL/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Fail Branch",
"nodes.common.errorHandle.none.desc": "The node will stop running if an exception occurs and is not handled",
"nodes.common.errorHandle.none.title": "None",
- "nodes.common.errorHandle.partialSucceeded.tip": "There are {{num}} nodes in the process running abnormally, please go to tracing to check the logs.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "There are {{num}} nodes in the process running abnormally, please go to tracing to check the logs.",
"nodes.common.errorHandle.tip": "Exception handling strategy, triggered when a node encounters an exception.",
"nodes.common.errorHandle.title": "Error Handling",
"nodes.common.inputVars": "Input Variables",
diff --git a/web/i18n/pl-PL/workflow.json b/web/i18n/pl-PL/workflow.json
index 1f54fe6437..57aa50dd4e 100644
--- a/web/i18n/pl-PL/workflow.json
+++ b/web/i18n/pl-PL/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Gałąź Fail (Gałąź Niepowodzenia",
"nodes.common.errorHandle.none.desc": "Węzeł przestanie działać, jeśli wystąpi wyjątek i nie zostanie obsłużony",
"nodes.common.errorHandle.none.title": "Żaden",
- "nodes.common.errorHandle.partialSucceeded.tip": "W procesie {{num}} węzły działają nieprawidłowo, przejdź do śledzenia, aby sprawdzić dzienniki.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "W procesie {{num}} węzły działają nieprawidłowo, przejdź do śledzenia, aby sprawdzić dzienniki.",
"nodes.common.errorHandle.tip": "Strategia obsługi wyjątków, wyzwalana, gdy węzeł napotka wyjątek.",
"nodes.common.errorHandle.title": "Obsługa błędów",
"nodes.common.inputVars": "Zmienne wejściowe",
diff --git a/web/i18n/pt-BR/workflow.json b/web/i18n/pt-BR/workflow.json
index ab1fea2990..a0635ad814 100644
--- a/web/i18n/pt-BR/workflow.json
+++ b/web/i18n/pt-BR/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Ramificação com falha",
"nodes.common.errorHandle.none.desc": "O nó deixará de ser executado se ocorrer uma exceção e não for tratada",
"nodes.common.errorHandle.none.title": "Nenhum",
- "nodes.common.errorHandle.partialSucceeded.tip": "Existem {{num}} nós no processo em execução anormal, vá para rastreamento para verificar os logs.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "Existem {{num}} nós no processo em execução anormal, vá para rastreamento para verificar os logs.",
"nodes.common.errorHandle.tip": "Estratégia de tratamento de exceções, disparada quando um nó encontra uma exceção.",
"nodes.common.errorHandle.title": "Tratamento de erros",
"nodes.common.inputVars": "Variáveis de entrada",
diff --git a/web/i18n/ro-RO/workflow.json b/web/i18n/ro-RO/workflow.json
index dbe331e316..58a0786894 100644
--- a/web/i18n/ro-RO/workflow.json
+++ b/web/i18n/ro-RO/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Ramură Fail",
"nodes.common.errorHandle.none.desc": "Nodul se va opri din rulare dacă apare o excepție și nu este gestionat",
"nodes.common.errorHandle.none.title": "Niciunul",
- "nodes.common.errorHandle.partialSucceeded.tip": "Există {{num}} noduri în proces care rulează anormal, vă rugăm să mergeți la urmărire pentru a verifica jurnalele.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "Există {{num}} noduri în proces care rulează anormal, vă rugăm să mergeți la urmărire pentru a verifica jurnalele.",
"nodes.common.errorHandle.tip": "Strategie de gestionare a excepțiilor, declanșată atunci când un nod întâlnește o excepție.",
"nodes.common.errorHandle.title": "Gestionarea erorilor",
"nodes.common.inputVars": "Variabile de intrare",
diff --git a/web/i18n/ru-RU/workflow.json b/web/i18n/ru-RU/workflow.json
index 48a253b31b..585c9fae93 100644
--- a/web/i18n/ru-RU/workflow.json
+++ b/web/i18n/ru-RU/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Неудачная ветвь",
"nodes.common.errorHandle.none.desc": "Узел перестанет работать, если произойдет исключение и оно не будет обработано",
"nodes.common.errorHandle.none.title": "Никакой",
- "nodes.common.errorHandle.partialSucceeded.tip": "В процессе есть {{num}} узлов, которые работают ненормально, пожалуйста, перейдите к трассировке, чтобы проверить логи.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "В процессе есть {{num}} узлов, которые работают ненормально, пожалуйста, перейдите к трассировке, чтобы проверить логи.",
"nodes.common.errorHandle.tip": "Стратегия обработки исключений, запускаемая при обнаружении исключения на узле.",
"nodes.common.errorHandle.title": "Обработка ошибок",
"nodes.common.inputVars": "Входные переменные",
diff --git a/web/i18n/sl-SI/workflow.json b/web/i18n/sl-SI/workflow.json
index f2b032cfaa..f29c211ed8 100644
--- a/web/i18n/sl-SI/workflow.json
+++ b/web/i18n/sl-SI/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Napaka veja",
"nodes.common.errorHandle.none.desc": "Vozlišče se bo prenehalo izvajati, če pride do izjeme, ki ni obravnavana.",
"nodes.common.errorHandle.none.title": "Noben",
- "nodes.common.errorHandle.partialSucceeded.tip": "V procesu je {{num}} vozlišč, ki delujejo nenormalno, prosim, pojdite na sledenje, da preverite dnevnike.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "V procesu je {{num}} vozlišč, ki delujejo nenormalno, prosim, pojdite na sledenje, da preverite dnevnike.",
"nodes.common.errorHandle.tip": "Strategija ravnanja z izjemo, ki se sproži, ko vozlišče naleti na izjemo.",
"nodes.common.errorHandle.title": "Obvladovanje napak",
"nodes.common.inputVars": "Vhodne spremenljivke",
diff --git a/web/i18n/th-TH/workflow.json b/web/i18n/th-TH/workflow.json
index fb49264d71..130e2c0269 100644
--- a/web/i18n/th-TH/workflow.json
+++ b/web/i18n/th-TH/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "สาขาล้มเหลว",
"nodes.common.errorHandle.none.desc": "โหนดจะหยุดทํางานหากเกิดข้อยกเว้นและไม่ได้รับการจัดการ",
"nodes.common.errorHandle.none.title": "ไม่มีใคร",
- "nodes.common.errorHandle.partialSucceeded.tip": "มีโหนด {{num}} ในกระบวนการที่ทํางานผิดปกติ โปรดไปที่การติดตามเพื่อตรวจสอบบันทึก",
+ "nodes.common.errorHandle.partialSucceeded.tip": "มีโหนด {{num}} ในกระบวนการที่ทํางานผิดปกติ โปรดไปที่การติดตามเพื่อตรวจสอบบันทึก",
"nodes.common.errorHandle.tip": "กลยุทธ์การจัดการข้อยกเว้น ทริกเกอร์เมื่อโหนดพบข้อยกเว้น",
"nodes.common.errorHandle.title": "การจัดการข้อผิดพลาด",
"nodes.common.inputVars": "ตัวแปรอินพุต",
diff --git a/web/i18n/tr-TR/workflow.json b/web/i18n/tr-TR/workflow.json
index 6b87b4e1e8..c6893cfb84 100644
--- a/web/i18n/tr-TR/workflow.json
+++ b/web/i18n/tr-TR/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Başarısız Dal",
"nodes.common.errorHandle.none.desc": "Bir özel durum oluşursa ve işlenmezse düğüm çalışmayı durdurur",
"nodes.common.errorHandle.none.title": "Hiç kimse",
- "nodes.common.errorHandle.partialSucceeded.tip": "İşlemde anormal şekilde çalışan {{num}} düğümleri var, lütfen günlükleri kontrol etmek için izlemeye gidin.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "İşlemde anormal şekilde çalışan {{num}} düğümleri var, lütfen günlükleri kontrol etmek için izlemeye gidin.",
"nodes.common.errorHandle.tip": "Bir düğüm bir özel durumla karşılaştığında tetiklenen özel durum işleme stratejisi.",
"nodes.common.errorHandle.title": "Hata İşleme",
"nodes.common.inputVars": "Giriş Değişkenleri",
diff --git a/web/i18n/uk-UA/workflow.json b/web/i18n/uk-UA/workflow.json
index 70d5378d22..90ee940ae7 100644
--- a/web/i18n/uk-UA/workflow.json
+++ b/web/i18n/uk-UA/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Гілка невдачі",
"nodes.common.errorHandle.none.desc": "Вузол припинить роботу, якщо виникне виняток і не буде оброблений",
"nodes.common.errorHandle.none.title": "Ніхто",
- "nodes.common.errorHandle.partialSucceeded.tip": "У процесі є вузли {{num}}, які працюють ненормально, будь ласка, перейдіть до трасування, щоб перевірити логи.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "У процесі є вузли {{num}}, які працюють ненормально, будь ласка, перейдіть до трасування, щоб перевірити логи.",
"nodes.common.errorHandle.tip": "Стратегія обробки винятків, що спрацьовує, коли вузол стикається з винятком.",
"nodes.common.errorHandle.title": "Обробка помилок",
"nodes.common.inputVars": "Вхідні змінні",
diff --git a/web/i18n/vi-VN/workflow.json b/web/i18n/vi-VN/workflow.json
index 9bf9b4d61c..6ba72b8b3d 100644
--- a/web/i18n/vi-VN/workflow.json
+++ b/web/i18n/vi-VN/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "Chi nhánh thất bại",
"nodes.common.errorHandle.none.desc": "Nút sẽ ngừng chạy nếu xảy ra ngoại lệ và không được xử lý",
"nodes.common.errorHandle.none.title": "Không ai",
- "nodes.common.errorHandle.partialSucceeded.tip": "Có {{num}} node trong quá trình chạy bất thường, vui lòng truy tìm để kiểm tra nhật ký.",
+ "nodes.common.errorHandle.partialSucceeded.tip": "Có {{num}} node trong quá trình chạy bất thường, vui lòng vào truy tìm để kiểm tra nhật ký.",
"nodes.common.errorHandle.tip": "Chiến lược xử lý ngoại lệ, được kích hoạt khi một nút gặp phải ngoại lệ.",
"nodes.common.errorHandle.title": "Xử lý lỗi",
"nodes.common.inputVars": "Biến đầu vào",
diff --git a/web/i18n/zh-Hans/workflow.json b/web/i18n/zh-Hans/workflow.json
index 6bb832f925..c02cad5145 100644
--- a/web/i18n/zh-Hans/workflow.json
+++ b/web/i18n/zh-Hans/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "异常分支",
"nodes.common.errorHandle.none.desc": "当发生异常且未处理时,节点将停止运行",
"nodes.common.errorHandle.none.title": "无",
- "nodes.common.errorHandle.partialSucceeded.tip": "流程中有 {{num}} 个节点运行异常,请前往追踪查看日志。",
+ "nodes.common.errorHandle.partialSucceeded.tip": "流程中有 {{num}} 个节点运行异常,请前往追踪查看日志。",
"nodes.common.errorHandle.tip": "配置异常处理策略,当节点发生异常时触发。",
"nodes.common.errorHandle.title": "异常处理",
"nodes.common.inputVars": "输入变量",
diff --git a/web/i18n/zh-Hant/workflow.json b/web/i18n/zh-Hant/workflow.json
index 865d8b66ae..5c7c9cfc95 100644
--- a/web/i18n/zh-Hant/workflow.json
+++ b/web/i18n/zh-Hant/workflow.json
@@ -433,7 +433,7 @@
"nodes.common.errorHandle.failBranch.title": "失敗分支",
"nodes.common.errorHandle.none.desc": "如果發生異常且未得到處理,節點將停止運行",
"nodes.common.errorHandle.none.title": "沒有",
- "nodes.common.errorHandle.partialSucceeded.tip": "進程中有 {{num}} 個節點運行異常,請前往 tracing 查看日誌。",
+ "nodes.common.errorHandle.partialSucceeded.tip": "進程中有 {{num}} 個節點運行異常,請前往tracing查看日誌。",
"nodes.common.errorHandle.tip": "異常處理策略,當節點遇到異常時觸發。",
"nodes.common.errorHandle.title": "錯誤處理",
"nodes.common.inputVars": "輸入變數",
diff --git a/web/package.json b/web/package.json
index 3ce16d8fb0..8bc31dce31 100644
--- a/web/package.json
+++ b/web/package.json
@@ -56,7 +56,6 @@
"@amplitude/analytics-browser": "catalog:",
"@amplitude/plugin-session-replay-browser": "catalog:",
"@base-ui/react": "catalog:",
- "@date-fns/tz": "catalog:",
"@emoji-mart/data": "catalog:",
"@floating-ui/react": "catalog:",
"@formatjs/intl-localematcher": "catalog:",
@@ -91,7 +90,6 @@
"cmdk": "catalog:",
"copy-to-clipboard": "catalog:",
"cron-parser": "catalog:",
- "date-fns": "catalog:",
"dayjs": "catalog:",
"decimal.js": "catalog:",
"dompurify": "catalog:",