Hanabi9248 opened a new pull request, #4861: URL: https://github.com/apache/rocketmq-dashboard/pull/4861
### Which Issue(s) This PR Fixes Fixes #4860 ### Brief Description After navigating between conversations, the aborted stream can settle after the new stream has started. Its `finishStream` currently clears `chatInFlightRef` before checking the request ID, allowing another send while the new stream is still active. Check ownership before releasing the guard. The regression test starts a new conversation while the old transport is settling, then confirms that a duplicate send does not open a third stream. ### How Did You Test This Change? Windows, Node.js 24.19.0, npm 11.17.0, from `web/`: - `npm test`: 139 files, 1281 tests passed. - `npm run lint`: passed (0 errors, 11 warnings). - `npm run build`: passed. - `git diff --check`: passed. Before the fix, the new test failed with 3 transport calls instead of 2; the 14 existing hook tests passed. The test exercises the real React hook with the existing mocked stream transport. No live RocketMQ/MySQL deployment was used; backend code is unchanged. ### Checklist - [x] One coherent change; unrelated modifications are not bundled in - [x] Commit subject follows Conventional Commits - [x] Regression test added with the `...Test` suffix - [ ] New UI translations (not applicable) - [ ] Backend architecture checks (not run; frontend-only change) - [x] Existing ASF headers retained; no new source files - [ ] User-facing documentation (not applicable) -- 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]
