lizhimins commented on PR #6694:
URL: 
https://github.com/apache/rocketmq-dashboard/pull/6694#issuecomment-6190311359

   Closing in favour of #6419, which is now merged into `rocketmq-studio` as 
`85f89c959`. The defect is real, your read of the mechanism is exactly right 
(`AssistantBubble` already computed the terminal status at 
`AssistantBubble.tsx:95-96` but never passed it down, so `ToolBlock.tsx:113` 
derived `running` from `block.status` alone), and we like that the fix invents 
no outcome — a neutral `No result` tag with the arguments and any completed 
result preserved is the right shape, and your suite count (32/32) matches the 
diff exactly. We are closing this as a duplicate of **#6419**, which fixes the 
same issue (#6411) over the same four files and conflicts with this branch. Two 
substantive gaps decide it. (1) **`COMPLETED` is not covered, and it is 
reachable**: your prop is typed `'STOPPED' | 'FAILED' | null` 
(`ToolBlock.tsx:88`) and reuses `terminalStatus`, which 
`AssistantBubble.tsx:95-96` narrows to those two — but `AiRunExecutor.decide()` 
falls through to `new Terminal(RunStatus.C
 OMPLETED, …)` at `AiRunExecutor.java:501` when the agent stream ends with no 
success frame and no failure signal, which is precisely the shape that leaves a 
`tool_start` without a `tool_done`; `foldTimeline.ts:133-134` does not settle 
open blocks for any terminal status, so a COMPLETED run keeps the orphaned card 
spinning under this patch. #6419 threads the raw `bubble.runStatus` and treats 
all three as ended. (2) **The output panel still contradicts the card**: 
`ToolBlock.tsx:286` in your tree renders `t('ai.tool.outputPending')`, whose 
value is "工具执行中,暂无结果 / The tool is still running" 
(`web/src/i18n/translations.ts:1869`), while the tag at `:219` now says "No 
result" and the note at `:256` says the run terminated before the tool returned 
— one card making three incompatible claims. #6419 switches that line to 
`ai.tool.outputMissing` and also updates `data-status` at `:135`, which your 
version leaves as `"running"`. It also sits five commits closer to the cu
 rrent base. Smaller notes for a follow-up: `String.fromCharCode(26080, 32467, 
26524)` at `AssistantBubble.test.tsx:319` is the only CJK assertion in that 
file not written as a literal (every other case writes e.g. `'先确认实例能力。'` at 
`:326` or `'执行中'` at `:433` directly), which makes it ungreppable for 
reviewers; and neither your patch nor #6419 covers the live path — 
`BubbleList.tsx:132` renders the streaming bubble as `{ role: 'assistant', 
blocks: liveBlocks ?? [] }` with no run status, so the spinner survives between 
the terminal frame and the timeline refetch, and permanently if that refetch 
fails. That one is worth a separate PR against whichever patch lands, and your 
`MinusCircle` + neutral-tag treatment is the better visual of the two if you 
want to propose it there.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to