zmuxuny opened a new issue, #7186:
URL: https://github.com/apache/rocketmq-dashboard/issues/7186

   ### 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 127c47b06a268cc74224d5f34c56ec7c36ac0d55.
   
   ### Runtime Environment
   
   Node.js 24, Vitest/jsdom, real AlertsPage and React Router/AntD controls. 
Controlled File.text and service promises; no live rules were changed.
   
   ### Connected RocketMQ Cluster
   
   No live cluster. Reproduced with controlled service promises in the real 
AlertsPage regression suite; no live rules were changed.
   
   ### Build Toolchain
   
   _No response_
   
   ### Describe the Bug
   
   Alert domains use keyed page components, but handleImportRules continues 
after awaiting File.text even when that page has unmounted. A pending read can 
therefore dispatch an import into the old CLUSTER domain after navigation to 
BUSINESS or away from the page. Read failures and already-dispatched import 
outcomes can also show global notifications after departure.
   
   ### Steps to Reproduce
   
   1. Select a valid native alert-rule JSON file on the CLUSTER page and defer 
its File.text result.
   2. Navigate back to the BUSINESS page, or leave the page entirely.
   3. Resolve the read. The old handler still calls importAlertRulesTransfer 
with domain CLUSTER.
   4. Alternatively defer the API response, leave, and resolve/reject it: the 
abandoned handler emits a success/error message over the new page.
   
   ### What Did You Expect to See?
   
   A disposed page must not dispatch an import from an unfinished local file 
read. Ignore its later UI continuations. Already-dispatched writes are not 
cancelled or rolled back; the backend result remains authoritative. Same-domain 
navigation and repeated imports should continue to work.
   
   ### What Did You See Instead?
   
   The old handler dispatches importAlertRulesTransfer with domain CLUSTER 
after departure. Pending read failures and already-dispatched API outcomes can 
also emit global notifications over the new page.
   
   ### Additional Context
   
   The real-page regression suite covers domain changes, full unmount, 
away-and-back navigation, pending read errors, API success/failure, StrictMode, 
and repeated same-file selection. Existing merged #6190 isolates keyed editor 
state but does not stop awaited handlers. #6454 addresses repeat-submit 
locking; #6889 addresses export partitioning; neither covers this import 
continuation. The proposed fix remains limited to import lifetime and does not 
alter export, API payloads, validation, or backend behavior. AI assistance was 
used.
   
   ### 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