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]
