diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8901c7948f..4444981601 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,9 +24,6 @@ catalogs: '@cucumber/cucumber': specifier: 12.8.0 version: 12.8.0 - '@date-fns/tz': - specifier: 1.4.1 - version: 1.4.1 '@egoist/tailwindcss-icons': specifier: 1.9.2 version: 1.9.2 @@ -270,9 +267,6 @@ catalogs: cron-parser: specifier: 5.5.0 version: 5.5.0 - date-fns: - specifier: 4.1.0 - version: 4.1.0 dayjs: specifier: 1.11.20 version: 1.11.20 @@ -655,9 +649,6 @@ importers: '@base-ui/react': specifier: 'catalog:' version: 1.4.0(@date-fns/tz@1.4.1)(@types/react@19.2.14)(date-fns@4.1.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@date-fns/tz': - specifier: 'catalog:' - version: 1.4.1 '@emoji-mart/data': specifier: 'catalog:' version: 1.2.1 @@ -760,9 +751,6 @@ importers: cron-parser: specifier: 'catalog:' version: 5.5.0 - date-fns: - specifier: 'catalog:' - version: 4.1.0 dayjs: specifier: 'catalog:' version: 1.11.20 diff --git a/web/app/components/base/ui/select/__tests__/index.spec.tsx b/web/app/components/base/ui/select/__tests__/index.spec.tsx index f33b1eb650..124eb4d60e 100644 --- a/web/app/components/base/ui/select/__tests__/index.spec.tsx +++ b/web/app/components/base/ui/select/__tests__/index.spec.tsx @@ -42,12 +42,10 @@ const renderOpenSelect = ({ describe('Select wrappers', () => { describe('Select root integration', () => { - it('should associate the hidden input with an external form and preserve autocomplete hints', () => { - const formId = 'profile-form' + it('should submit the hidden input value and preserve autocomplete hints inside a form', () => { const { container } = render( - <> -
- @@ -56,13 +54,12 @@ describe('Select wrappers', () => { New York - , +
, ) const hiddenInput = container.querySelector('input[name="city"]') - const form = container.querySelector(`#${formId}`) as HTMLFormElement + const form = screen.getByRole('form', { name: 'profile form' }) as HTMLFormElement - expect(hiddenInput).toHaveAttribute('form', formId) expect(hiddenInput).toHaveAttribute('autocomplete', 'address-level2') expect(new FormData(form).get('city')).toBe('seattle') }) diff --git a/web/app/components/workflow/panel/__tests__/workflow-preview.spec.tsx b/web/app/components/workflow/panel/__tests__/workflow-preview.spec.tsx index 860322d729..e3c85bd2ad 100644 --- a/web/app/components/workflow/panel/__tests__/workflow-preview.spec.tsx +++ b/web/app/components/workflow/panel/__tests__/workflow-preview.spec.tsx @@ -33,7 +33,18 @@ vi.mock('@/app/components/workflow/hooks', () => ({ })) vi.mock('@/app/components/workflow/run/result-panel', () => ({ - default: ({ status }: { status?: string }) =>
{status}
, + default: ({ + status, + onOpenTracingTab, + }: { + status?: string + onOpenTracingTab?: () => void + }) => ( +
+
{status}
+ +
+ ), })) vi.mock('@/app/components/workflow/run/result-text', () => ({ @@ -329,6 +340,33 @@ describe('WorkflowPreview', () => { expect(screen.getByTestId('result-panel')).toBeInTheDocument() }) + it('should switch to the tracing tab when result panel requests it', async () => { + const user = userEvent.setup() + + renderWorkflowComponent( + , + { + initialStoreState: { + workflowRunningData: { + ...createWorkflowRunningData({ + result: createWorkflowResult({ + status: 'partial-succeeded', + files: [], + }), + tracing: [createNodeTracing()], + }), + resultText: 'ready', + } as NonNullable, + }, + }, + ) + + 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:",