unbridled-41 opened a new issue, #3306:
URL: https://github.com/apache/rocketmq-dashboard/issues/3306

   ## Problem
   
   On the ACL page 用户管理 tab, creating or deleting a user only mutates the local 
page array. The server-paginated total is never updated and no refetch is 
triggered, so:
   
   - Creating a user with a full page prepends the new row and silently pushes 
the previously-last row out of view; the pagination total keeps its stale value.
   - Deleting the last row on the last page leaves an empty page: the total 
stays too high, and the empty-page auto-correction (which lives inside the 
fetch effect) never runs because nothing refetches.
   
   ## Evidence / source
   
   - Code inspection of the current `rocketmq-studio` branch (base commit 
36126024): `acl.tsx` `handleUserSubmit` (create branch, `setUsers((prev) => 
[normalizeUser(created), ...prev])`) and `handleDeleteUser` (`setUsers((prev) 
=> prev.filter(...))`) touch neither `userTotal` nor any refresh key, while the 
sibling rules tab bumps `ruleRefreshKey` after its mutations.
   - Deterministic Vitest reproduction in `AclPage.test.tsx`: `reloads the 
server user page after creating an ACL user` and `reloads the server user page 
after deleting one ACL user` both fail on the unfixed source (`pageAclUsers` 
called once instead of twice).
   
   ## Impact
   
   Wrong pagination totals, rows that disappear from view after create, and an 
unrecoverable empty page after deleting the last row on the last page — until 
the user manually changes the page or refetches.
   
   ## Expected behavior / acceptance criteria
   
   - After a successful user create or delete, the authoritative server page is 
reloaded (same pattern as the rules tab).
   - Pagination totals stay synchronized with the server.
   - An emptied page falls back to the previous page via the existing 
correction logic.
   - Regression coverage for both mutation paths; they must fail on the unfixed 
code.
   
   ## Related work
   
   - #2680 (closed) fixed the same defect class for Topic and Consumer Group 
deletion; the ACL user inventory was outside that scope and also exposes the 
create-path symptom.
   
   ## PR
   
   PR #3300 (includes the fix and two regression tests).
   


-- 
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