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

   ### Which Issue(s) This PR Fixes
   
   - Fixes #5053.
   
   ### Problem
   
   A failed cloud-credential reload left rows and totals from the previous 
filter visible, with Edit and Delete enabled after loading ended. A pending 
search could also export data for the old filter while the page already showed 
the new search text.
   
   ### Changes
   
   Clear stale results 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. Export stays disabled until a changed search term 
settles, so its CSV uses the filter shown by the page.
   
   ### Previous Submission
   
   This replaces #5054, which the inactivity bot closed after seven days 
without activity. The original PR preserves the earlier context and 
regression-test history. The issue remains open and the fix is still needed.
   
   The original branch was refreshed onto `rocketmq-studio@a460673f`, 
preserving upstream changes. Tested head: 
`1d5048c410d05c1357cd872d37cacf9c66ac6f49`.
   
   ### How Did You Test This Change?
   
   Validation rerun on the refreshed branch on 2026-10-01:
   
   - `cd web && npx vitest run 
src/pages/settings/__tests__/CloudCredentialTab.test.tsx`: **15 passed**.
   - The regression loads an Aliyun row, changes to the Tencent filter, rejects 
the new request, verifies that old actions are disabled while pending and stale 
rows disappear on failure, then retries successfully with the Tencent row.
   - Additional coverage includes initial-load failure, whitespace-only search 
changes, and the pending-search export boundary. The pending-action and export 
assertions failed before their corresponding fixes.
   - ESLint and Prettier passed for `CloudCredentialTab.tsx` and its test. `git 
diff --check`: passed.
   
   Known verification limits:
   
   - The refreshed branch's TypeScript check is blocked by the unchanged 
upstream `MetricsExplorer.test.tsx:516` TS2353 error (`query` is absent from 
the inferred parameter type), also reproduced on clean upstream. This 
supersedes the old PR's historical TypeScript pass.
   - The full frontend build is not claimed as passing. The separate 
final-artifact license gate tracked in #5019 was not revalidated past the 
TypeScript blocker.
   - Full CI is pending for this new PR. The refreshed base includes #5020 and 
#5029.
   
   ### Checklist
   
   - [x] One coherent bug fix; no unrelated changes
   - [x] Conventional Commit subjects
   - [x] Regression coverage for interrupted and repeated flows
   - [x] Existing Chinese/English strings reused; no new UI text
   - [x] No new source files or API contract
   - [ ] Full CI is green
   


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