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

   ### Before creating the bug report
   
   - [x] Searched open issues and PRs for cloud-credential load failures and 
stale filtered actions. #4527 addresses ACL, alert-rule, and system-alert 
pages; it does not change `CloudCredentialTab`.
   - [x] Reproduced the behavior from the current `rocketmq-studio@0228dad5` 
request/error path; a focused UI regression will follow.
   
   ### Studio version and runtime
   
   `rocketmq-studio@0228dad5`; the Settings > Cloud Credentials page. The 
failure can be reproduced with a rejected `listCloudCredentials` request, 
without a cloud account or MySQL.
   
   ### Problem and reproduction
   
   1. Load the Cloud Credentials tab with an Aliyun credential visible.
   2. Change the vendor filter to Tencent (or change the search/page) while 
making the replacement `listCloudCredentials` request fail.
   3. `loadCredentials` catches the error and shows a transient toast, but 
keeps the previous `credentials` and `total` state. Its `finally` block clears 
`loading`.
   4. The old Aliyun row now appears under the Tencent filter with enabled Edit 
and Delete actions. The table's total also describes the old result set.
   
   This is visible in `web/src/pages/settings/CloudCredentialTab.tsx`: the 
success branch replaces the rows and count, while the failure branch only calls 
`message.error`.
   
   ### Expected behavior
   
   A failed replacement request must not present the previous credential set as 
the result of the new filter, or allow actions on those stale rows. Show a 
persistent load error with a retry that uses the current filters; after a 
successful retry, show the fresh rows and total.
   
   The same error handling should distinguish an initial load failure from a 
legitimately empty credential inventory. This report concerns the credential 
management table, distinct from the ACL/alert page loading guards in #4527 and 
delivery-list failure handling in #5048.
   


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