zmuxuny opened a new pull request, #5054: URL: https://github.com/apache/rocketmq-dashboard/pull/5054
### Which Issue(s) This PR Fixes - Fixes #5053 ### Brief Description A failed cloud-credential reload left rows and totals from the previous filter visible, with Edit and Delete enabled after loading ended. Clear the stale result on failure and show a persistent error with a retry for the current query. Track which query produced the displayed rows so actions stay disabled while a filter or page change is pending, including the search debounce window. Search edits that do not change the effective query keep the current result usable. ### How Did You Test This Change? - Added a regression that loads an Aliyun row, changes to the Tencent filter, rejects the replacement request, checks that the old actions are disabled while pending and the old row is removed on failure, then retries and receives the Tencent row. The pending-action assertion failed on the unmodified branch. - Added initial-load failure and whitespace-only search boundary tests. - `cd web && npx vitest run src/pages/settings/__tests__/CloudCredentialTab.test.tsx` — 14 tests passed. - `cd web && npx tsc --noEmit -p tsconfig.app.json` — passed. - `cd web && npx eslint src/pages/settings/CloudCredentialTab.tsx src/pages/settings/__tests__/CloudCredentialTab.test.tsx` — passed. - `cd web && npx prettier --check src/pages/settings/CloudCredentialTab.tsx src/pages/settings/__tests__/CloudCredentialTab.test.tsx` and `git diff --check` — passed. ### Checklist - [x] One coherent bug fix; no unrelated changes - [x] Conventional commit subject - [x] Regression tests added for non-trivial behavior - [x] Existing Chinese/English strings reused; no new UI text - [x] No new source files or API contracts -- 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]
