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

   ### 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
   
   Frontend regression reproduced with Vitest/jsdom and real Ant Design 
controls. No live cluster or production database used.
   
   ### Connected RocketMQ Cluster
   
   Not required: deferred listSystemAlertsPage and acknowledgeAlert service 
responses reproduce the UI race.
   
   ### Build Toolchain
   
   Node.js 24.19.0; Vitest 4.1.10; project TypeScript configuration.
   
   ### Describe the Bug
   
   Single-row handleAck only updates acknowledged:true locally. It neither 
invalidates a pending alert-list GET nor reloads the current query. A pre-ACK 
snapshot can therefore restore the Acknowledge action after the POST succeeded. 
Persisted acknowledgedBy/acknowledgedAt are also not loaded after a normal 
successful ACK.
   
   ### Steps to Reproduce
   
   1. Load an unacknowledged warning alert and start its Acknowledge request.
   2. While the POST is pending, select the Warning filter. Keep the resulting 
list response pending with an acknowledged:false snapshot.
   3. Complete the ACK successfully, then deliver the earlier list response.
   4. Observe that Acknowledge becomes available again.
   
   A second regression settles ACK and the older read in the same React batch, 
then fails the reconciliation read. A refresh nonce alone still loses the 
successful local ACK in this ordering.
   
   ### What Did You Expect to See?
   
   After a successful write, pre-ACK list responses must not undo the 
acknowledgement. Reload the current filters and page to obtain persisted 
attribution. If that read fails, preserve the local successful ACK and offer 
the existing read retry.
   
   ### What Did You See Instead?
   
   The older GET replaces the acknowledged row with acknowledged:false. Without 
any intervening filter/read, a normal successful ACK shows no persisted 
actor/time until another read occurs.
   
   ### Additional Context
   
   Regression evidence on the stated base: six failing cases plus a passing 
failed-write control. A scoped fix passes all 81 related System 
Alerts/API/service tests and TypeScript checks. Related 
bulk-ACK/loading/summary patches were checked; this report concerns the 
existing single-row ACK completion path.
   
   ### 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