From b22fd72119b75504cf935f42857600bc96636fb5 Mon Sep 17 00:00:00 2001 From: Lyon <88232613+pikasTech@users.noreply.github.com> Date: Wed, 24 Jun 2026 08:19:12 +0800 Subject: [PATCH] fix(workbench): bound turn status polling to active request (#2027) --- web/hwlab-cloud-web/src/stores/workbench.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/hwlab-cloud-web/src/stores/workbench.ts b/web/hwlab-cloud-web/src/stores/workbench.ts index 46b6ac71..f7b516e1 100644 --- a/web/hwlab-cloud-web/src/stores/workbench.ts +++ b/web/hwlab-cloud-web/src/stores/workbench.ts @@ -651,6 +651,7 @@ export const useWorkbenchStore = defineStore("workbench", () => { for (const message of [...source].reverse()) { const traceId = firstNonEmptyString(message.traceId, message.runnerTrace?.traceId); if (!traceId || traceIds.has(traceId)) continue; + if (traceId !== requestTraceId) continue; if (!messageHasActiveTurnStatusEvidence(message, traceId)) continue; if (traceNeedsTurnStatusRefresh(traceId, source)) traceIds.add(traceId); if (traceIds.size >= 3) break; @@ -670,7 +671,7 @@ export const useWorkbenchStore = defineStore("workbench", () => { if (turn?.terminal === true || isTerminalMessageStatus(turn?.status)) return false; const message = [...source].reverse().find((item) => firstNonEmptyString(item.traceId, item.runnerTrace?.traceId) === id) ?? null; if (isTerminalMessageStatus(message?.status) || isTerminalMessageStatus(message?.runnerTrace?.status)) return false; - if (message?.runnerTrace && traceSnapshotHasTerminalEvidence(message.runnerTrace)) return true; + if (message?.runnerTrace && traceSnapshotHasTerminalEvidence(message.runnerTrace)) return false; return true; }