zmuxuny opened a new pull request, #6757: URL: https://github.com/apache/rocketmq-dashboard/pull/6757
### Which Issue(s) This PR Fixes Fixes #6746 ### Brief Description Successful single/bulk status toggles only patched visible rule objects. Under Enabled-only or Disabled-only filters, rules that no longer matched stayed listed and totals/backfill remained stale. Reload the current server-backed query after filtered toggles or navigation during a pending toggle. Guard old page updates with a query generation, preserve only current partial-failure selections, and disable row/bulk actions during reconciliation. Ordinary unfiltered in-place updates remain unchanged. ### How Did You Test This Change? - Baseline a92c2314: real-page single and bulk regressions both fail because a disabled row remains in Enabled-only results. - `cd web && npx vitest run src/pages/ops/__tests__/AlertsPage.test.tsx --maxWorkers=1`: 47/47 pass, independently rerun. - Coverage: both filter directions, single/bulk pending-reload actions, partial bulk failures, latest page/search/filter ownership, stale response rejection, domain isolation, and existing unfiltered controls. - `NODE_OPTIONS=--max-old-space-size=1536 npm run build`: pass, including TypeScript and license check (132 actual components,139 license files). - Changed-file ESLint: zero errors, five existing alerts.tsx warnings. Prettier and diff-check pass. - Node24.19.0; full frontend suite and Java tests not run locally. ### Checklist - [x] One coherent post-toggle reconciliation fix - [x] Conventional Commit subject - [x] Regression tests added - [x] No new UI strings, dependencies or source files AI-assisted implementation/testing, independently reviewed and verified. -- 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]
