zjncs opened a new pull request, #7255:
URL: https://github.com/apache/rocketmq-dashboard/pull/7255

   ## Problem
   
   `AclService.updateUser` ends with `return maskCredentials(saved);` 
(`AclService.java:282`) — it masks but skips the UTC shift the read path 
applies (`forWire` at `:222-226`; `revealUserCredentials` at `:583` uses 
`withUtcWire`). The users tab does not just prefill a form: `handleUserSubmit` 
and `handleToggleAdmin` patch the visible table row from the update response 
(`acl.tsx:485-493`, `:535-543`) before the reload lands, so the row's Created 
cell — rendered via `parseUtcDateTime` per the #6686 wire convention 
(`acl.tsx:738-748`) — briefly shows the stored server-local wall clock parsed 
as UTC (shifted by the server zone, +8h in the default compose deploy), then 
visibly jumps when the read-path reload arrives.
   
   ## Fix
   
   `return forWire(saved);` — `forWire` masks credentials **and** shifts 
`gmtCreate` to the UTC wire, exactly the read-path shape. One line.
   
   ## Verification
   
   - Rewrote the `updateUser` echo test in `AclServiceTest.java` (the old one 
pinned the unshifted echo): RED — 1 failure of 91; GREEN after the fix — 
**91/91, BUILD SUCCESS** (`mvn -Dtest=AclServiceTest test`, JDK 21). The test 
asserts `gmtCreate` 10:00 → 02:00 (Asia/Shanghai), credentials masked, and the 
stored base untouched.
   
   ## Risk / conflict disclosure
   
   No behavior change beyond the intended wire format. Open PR #7139 touches a 
different function of the same file (`createAndUpdatePlainAccessConfig`); hunks 
do not overlap.


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