Loyal-Young opened a new pull request, #6048: URL: https://github.com/apache/rocketmq-dashboard/pull/6048
### Which Issue(s) This PR Fixes - Fixes #6046 ### Brief Description Re-check stream ownership after the best-effort speed report, before starting the timeline refresh. A report can finish after navigation, unmount, or a new send; the previous check only protected state cleanup after the extra request had already been sent. The integration tests compose the real useAgentRun and useConversationTimeline hooks. They assert actual timeline API calls and preserve the next run's answer, rather than only spying on a callback. ### How Did You Test This Change? - New regressions on unmodified trunk: 3 failures (navigation, unmount, next send), each showing one unexpected timeline request. - `node node_modules/vitest/vitest.mjs run src/pages/ai/hooks/useAgentRun.timeline.test.ts src/pages/ai/hooks/useAgentRun.test.ts --pool=threads --maxWorkers=1 --reporter=dot`: 22 passed. - Includes positive checks that an owned run reloads after either report success or report failure, and that the next run can finish normally. - ESLint on both changed files: passed. - `node node_modules/typescript/bin/tsc -p tsconfig.app.json --noEmit --pretty false --composite false --incremental false`: passed. - `git diff --check`: passed. ### Checklist - [x] One coherent change; Conventional Commit title. - [x] Regression tests use names ending in Test and scoped mock teardown. - [x] No new UI text, source files or API contracts. - [ ] Backend architecture checks not rerun locally (frontend-only change). ### CI baseline Based on 29fe48abc, checked against rocketmq-studio before submission. That exact upstream commit already fails its [frontend artifact license gate](https://github.com/apache/rocketmq-dashboard/actions/runs/38023023425/job/114127943196) after the web build and tests, and its [backend binary license gate](https://github.com/apache/rocketmq-dashboard/actions/runs/38023023425/job/114127943241). This is baseline evidence, not a claim that the PR's CI is green. ### AI assistance AI assistance was used to trace the asynchronous lifecycle, implement the guard and author regression tests. The diff was inspected and the verification commands above were run in this contribution session. -- 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]
