Hanabi9248 opened a new issue, #4866: URL: https://github.com/apache/rocketmq-dashboard/issues/4866
### Before Creating the Bug Report - [x] I have searched the [open issues](https://github.com/apache/rocketmq-dashboard/issues) of this repository and believe that this is not a duplicate. - [x] This is a defect in RocketMQ Studio, not a usage question and not a defect in another Apache RocketMQ repository. - [x] I can reproduce this on the current `master` branch, or I have stated the exact version I am running below. ### Studio Version rocketmq-studio at 4c697f07acde460e2344375cb1f82669f5b270fd ### Runtime Environment Windows; Node.js 24.19.0, Vitest 4.1.10. Reproduced with the real useAgentRun and useConversationTimeline hooks together, mocking only the API/stream boundaries. ### Connected RocketMQ Cluster No live cluster needed for this frontend regression. ### Build Toolchain _No response_ ### Describe the Bug When a run finishes and the subsequent timeline request fails, the live answer is cleared even though the persisted transcript has not replaced it. useConversationTimeline.refetch catches the request error and resolves, so finishStream treats the refresh as successful and clears blocksRef. ### Steps to Reproduce 1. Render useConversationTimeline(7) and pass its refetch to useAgentRun(7), as the AI page does. 2. Resolve the initial timeline request with an empty transcript. 3. Send a message and deliver a text_delta containing an answer. 4. End the stream and reject the next timeline request with Error("timeline unavailable"). 5. Inspect blocksRef after send settles. ### What Did You Expect to See? Keep the live answer when history cannot be refreshed, and surface the refresh failure. ### What Did You See Instead? blocksRef.current becomes [] although it contained the answer immediately before the refresh. The timeline error is set, but the run cleanup has already discarded the answer. ### Additional Context The existing run-hook refresh-failure test mocks refetchTimeline as rejecting; the actual timeline hook swallows that rejection. A test composing both real hooks reproduces the difference. I can submit a focused fix and regression test. ### Are You Willing to Submit a Pull Request? - [x] Yes, I am willing to submit a pull request. -- 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]
