Loyal-Young opened a new issue, #5364:
URL: https://github.com/apache/rocketmq-dashboard/issues/5364

   ### Summary
   
   The Proxy page's effect cleanup sets `loadRequestId.current` to the request 
counter captured *before* `loadProxyNodes()` starts, plus one. For the first 
load, both the active request and the cleanup value are 1. A response arriving 
after the page unmounts therefore still passes the request-id guard. It can 
persist its `currentProxyAddr` to browser storage and a pending Refresh handler 
can show a success toast after the operator has left the page.
   
   ### Reproduction
   
   1. Open the Proxy page with a slow `queryProxyHomePage()` response.
   2. Leave the page before the response resolves.
   3. Allow the old response to finish. `applyProxyHome()` still runs and 
writes `proxyAddr` in local storage.
   
   The same issue can occur after a manual refresh when the component unmounts 
with that refresh pending: cleanup may roll the counter back to an earlier 
value instead of invalidating the current request.
   
   ### Expected behavior
   
   Cleanup should advance the current request generation, so no request started 
by an unmounted Proxy page can publish state, persist preferences, or toast. 
Add a regression test that fails on the current cleanup logic.
   
   ### Related work
   
   Open PR #5256 guards a failed health-probe response against a *newer in-page 
list request*. This issue concerns cleanup on page unmount and does not change 
that PR's code path.
   


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