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

   ### 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
   
   Originally reported on `rocketmq-studio@0228dad5` on 2026-09-23. Current fix 
PR #5253 records fresh 2026-10-04 validation against 
`rocketmq-studio@6a68042fa73a513f40436ca721944b4de48181ec`.
   
   ### Runtime Environment
   
   Settings > Cloud Credentials frontend 
(`web/src/pages/settings/CloudCredentialTab.tsx`). The failure can be 
reproduced with a rejected `listCloudCredentials` request, without a cloud 
account or MySQL.
   
   ### Connected RocketMQ Cluster
   
   No live RocketMQ cluster or cloud account is needed to reproduce this 
frontend request/error path; mocked credential-list responses suffice.
   
   ### Build Toolchain
   
   _No response_
   
   ### Describe the Bug
   
   A failed cloud-credential reload leaves rows and totals from the previous 
filter visible. `loadCredentials` catches the error and shows a transient 
toast, but keeps the previous `credentials` and `total` state; its `finally` 
block clears `loading`. An old Aliyun row can then appear under the Tencent 
filter with enabled Edit and Delete actions.
   
   In `CloudCredentialTab.tsx`, the success branch replaces the rows and count, 
while the failure branch only calls `message.error`. The current fix also 
covers stale actions while the new query is pending and export using the 
previous query during the search debounce window.
   
   ### Steps to Reproduce
   
   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. After the transient error toast and loading state clear, observe that the 
old Aliyun row remains under the Tencent filter with enabled Edit and Delete 
actions; the table total also describes the old result set.
   4. For the pending-query boundary covered by #5253, hold the replacement 
request pending and check that stale row actions are disabled. Change the 
search term and, during debounce, check that export cannot use the previous 
filter.
   
   ### What Did You Expect to See?
   
   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 fresh rows and total. Distinguish an initial load 
failure from a legitimately empty inventory.
   
   Actions should remain disabled while the displayed result belongs to an 
older query, including the search debounce window. Export should wait until a 
changed search term settles so its CSV uses the filter shown by the page; edits 
that do not change the effective query can keep the current result usable.
   
   ### What Did You See Instead?
   
   The old Aliyun row and total remain visible under a new Tencent filter after 
the request fails, with active Edit and Delete controls. During a pending 
changed search, export can still use the old filter.
   
   ### Additional Context
   
   ### Previous report and current fix (2026-10-04)
   
   This replaces 
[#5053](https://github.com/apache/rocketmq-dashboard/issues/5053), 
automatically closed by `github-actions[bot]` for inactivity on 2026-10-04. The 
closure was a stale-workflow action, not a maintainer rejection of the reported 
defect.
   
   The existing fix PR is 
[#5253](https://github.com/apache/rocketmq-dashboard/pull/5253), which remains 
open. October 4 validation, dated CI results, and remaining limitations are 
recorded there. Overall CI is not green.
   
   ### Historical verification (2026-09-26)
   
   The September 26 report referred to original PR #5054 and recorded 15 
focused frontend tests passing. These results are historical; #5253 is the 
current fix PR and records the fresh October 4 validation and CI limitations.
   
   ### Report history and related work
   
   The original #5053 was filed on 2026-09-23. Its current fix PR #5253 remains 
open. Related 
[#5494](https://github.com/apache/rocketmq-dashboard/issues/5494), filed on 
2026-10-03, collects failed-filtered-reload stale rows across ten pages, 
including Cloud Credentials. This focused replacement preserves the earlier 
report and existing PR association. It tracks the credential table's stale 
row/action handling, persistent current-filter retry, and 
pending/debounced-search export boundary. #5253 does not address all ten pages 
in #5494.
   
   #4527 addresses ACL, alert-rule and system-alert loading guards. #5048 
handles the separate Notification Deliveries list. The focused regressions for 
this issue cover failed reload, initial failure, whitespace-only query edits, 
pending actions and the export boundary.
   
   ### 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