project-nju-learner opened a new issue, #6925: URL: https://github.com/apache/rocketmq-dashboard/issues/6925
### 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 c34535db0819d02f68e50a856cb3d2614f0dc5dd, checked out from source. ### Runtime Environment Windows, Node.js 24.19.0, Vitest 4.1.10 and jsdom. Reproduced with the real React/Ant Design DataSourceTab component and controlled API responses. No live-browser deployment or MySQL instance was used. ### Connected RocketMQ Cluster Not required: this is a frontend async-state defect. The component regression uses deferred connection-test API responses; no live cluster was contacted. ### Build Toolchain _No response_ ### Describe the Bug All data-source dialogs share the same testingKeys['modal'] loading entry. Cancelling a dialog while its connection test is pending leaves that entry set. The next dialog therefore shows a loading Test connection button and cannot start its own test. The old request also displays its success or error after its dialog has closed. ### Steps to Reproduce 1. Open Settings > Data sources and edit a source with authentication None. 2. Start Test connection and keep the request pending. 3. Cancel the dialog and open Edit again. 4. The new dialog's Test connection button is still loading. 5. Let the old request finish: its result is displayed even though its dialog was closed. The deterministic component reproduction follows these steps using a deferred promise. Against unchanged production code, all three reopen cases fail on the new button still having ant-btn-loading. ### What Did You Expect to See? A newly opened dialog can test its own connection immediately. A closed dialog's validation continuation and request completion should not display messages or change the active dialog's loading state. ### What Did You See Instead? The new dialog inherits the old loading state, and the old request can show a stale result. ### Additional Context A focused fix and six lifecycle regression cases are prepared. The DataSourceTab suite passes 25/25 after the fix. The related save-completion race in #5216 concerns a different operation; this change only isolates modal connection tests. AI assistance: OpenAI Codex helped investigate, implement, test and review the patch. No maintainer or human review is claimed. ### 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]
