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]

Reply via email to