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

   ### 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.19.0, Vitest 4.1.10/jsdom, real React Router and real Ant Design 
Modal.confirm. Backend services are mocked at the boundary; no real resources 
were deleted.
   
   ### Connected RocketMQ Cluster
   
   No live broker needed: the failure is frontend mutation dispatch. Two 
synthetic instances, instance-a and instance-b, each contain orders-consumer.
   
   ### Build Toolchain
   
   Node.js 24.19.0 / npm 11.9.0; existing installed project dependencies.
   
   ### Describe the Bug
   
   ConsumerPageContent is keyed by instance, but its single/batch deletion 
confirmations use static Modal.confirm. These separate-root dialogs survive the 
owning component unmount, retaining onOk callbacks with the previous instance 
ID. An operator can navigate to another instance/page and still confirm 
deletion against the abandoned instance. The dialog only displays the group 
name or count. The same page also uses static confirmations for creation and 
high-risk settings, which should share the ownership fix.
   
   ### Steps to Reproduce
   
   1. Open the consumer page for instance-a and open single or batch deletion 
for orders-consumer.
   2. With the confirmation open, use browser history to leave the page or 
return to instance-b's consumer page.
   3. The old dialog remains over the new page.
   4. Confirm it. In the controlled real-component test, wait until 
instance-b's list request has occurred before clicking.
   
   ### What Did You Expect to See?
   
   Leaving the owning instance/page dismisses its pending mutation 
confirmations. Abandoned confirmations and delayed validation continuations 
must not start mutations. Current-page confirmation behavior remains available.
   
   ### What Did You See Instead?
   
   After instance-b loads, the old single confirmation calls 
deleteConsumerGroup('orders-consumer', 'instance-a'); batch calls 
batchDeleteConsumerGroups(['orders-consumer'], 'instance-a'). The real-AntD 
diagnostic has 4 failing regressions (single/batch route exit and old-instance 
dispatch) and 2 passing current-page controls.
   
   ### Additional Context
   
   All-state issue/PR search and near-match patch inspection found no 
equivalent fix. #1707 keys consumer page state; #4490 is the topic boundary; 
#6531/#7046 add deletion error feedback; #6182 updates settings risk baselines. 
None disposes these static confirmations. A bounded fix can scope all four 
confirmation flows to their owning page without changing backend APIs or 
globally destroying other dialogs. Reproduction uses service mocks, not a 
deployed cluster.
   
   ### 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