From cd9306d4f9d77fe3dce881cc48336344bba783ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanli=20=E7=9B=90=E7=B2=92?= Date: Wed, 18 Mar 2026 19:36:03 +0800 Subject: [PATCH] fix: preserve repeated shared trace details --- .../result/__tests__/workflow-stream-handlers.spec.ts | 2 ++ .../share/text-generation/result/workflow-stream-handlers.ts | 3 +++ 2 files changed, 5 insertions(+) diff --git a/web/app/components/share/text-generation/result/__tests__/workflow-stream-handlers.spec.ts b/web/app/components/share/text-generation/result/__tests__/workflow-stream-handlers.spec.ts index 8785e77d1e..4c3f1f7652 100644 --- a/web/app/components/share/text-generation/result/__tests__/workflow-stream-handlers.spec.ts +++ b/web/app/components/share/text-generation/result/__tests__/workflow-stream-handlers.spec.ts @@ -196,6 +196,7 @@ describe('workflow-stream-handlers helpers', () => { id: 'iter-trace-2', node_id: 'iter-1', status: NodeRunningStatus.Succeeded, + details: undefined, })) const loopNextProcess = appendParallelNext(iterFinishedProcess, createTrace({ id: 'loop-trace-2', @@ -205,6 +206,7 @@ describe('workflow-stream-handlers helpers', () => { id: 'loop-trace-2', node_id: 'loop-1', status: NodeRunningStatus.Succeeded, + details: undefined, })) expect(loopFinishedProcess.tracing[0]).toEqual(expect.objectContaining({ diff --git a/web/app/components/share/text-generation/result/workflow-stream-handlers.ts b/web/app/components/share/text-generation/result/workflow-stream-handlers.ts index d4ea59d51e..ef8418f9fa 100644 --- a/web/app/components/share/text-generation/result/workflow-stream-handlers.ts +++ b/web/app/components/share/text-generation/result/workflow-stream-handlers.ts @@ -93,8 +93,11 @@ const finishParallelTrace = (current: WorkflowProcess | undefined, data: NodeTra draft.expand = true const traceIndex = findParallelTraceIndex(draft.tracing, data) if (traceIndex > -1) { + const currentTrace = draft.tracing[traceIndex] draft.tracing[traceIndex] = { + ...currentTrace, ...data, + details: data.details ?? currentTrace.details, expand: !!data.error, } }