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

   ### Which Issue(s) This PR Fixes
   
   The associated bug report will be linked immediately after publishing this 
PR.
   
   ### Brief Description
   
   Select a consumer group, then let the ordinary list refresh successfully 
return `items: [], total: 0` for the same query. The table becomes empty but 
still offers `删除 (1)` because the selected keys survive the successful read.
   
   Clear the selection only when the current successful request confirms `total 
=== 0`. Keep the existing request-ownership guard, nonempty refreshes, failed 
refreshes, page clamping and partial-delete retry selection. This preserves the 
ordinary reload policy in #4473; it does not prune selection on every nonempty 
page or change the delete-call contract discussed in #6331.
   
   ### How Did You Test This Change?
   
   Base: `rocketmq-studio` at `779b8c0e7aed2396d3cc72743dcd544ea48e9ae6`. Node 
24.15.0, npm 11.12.1; real `ConsumerPage` rendered in the existing Vitest/jsdom 
harness, controlling only the normal service response boundary.
   
   - Old production, same added component tests: **1 failure, 2 passing 
controls**. After the empty successful refresh the row disappeared but the 
stale batch action remained. The unchanged-inventory and rejected-read controls 
passed. The red run used `dad551c712d2eaf9f4db34487126d517ea17c0e4`; Consumer 
production/tests and npm manifest/lock contents are identical at the final base.
   - `npm test -- --maxWorkers=1 
src/pages/instance/__tests__/ConsumerPage.test.tsx -t 
keepsBatchSelectionBoundToConfirmedConsumerInventoryTest`: **3 passed**, 54 
unrelated cases skipped.
   - `npm test -- --maxWorkers=1 
src/pages/instance/__tests__/ConsumerPage.test.tsx 
src/services/consumerService.test.ts src/api/metadata.test.ts`: **83/84 
passed**, including the three added cases and existing partial-delete coverage. 
The unchanged `highlights inconsistent subscriptions and refreshes the check 
result` case failed to find `全部 2 个订阅配置一致`. One sequential isolated comparison 
reproduced that same assertion failure on both the clean final base and the 
candidate. That test's list fixture always has `total: 1`, so the new reset 
does not execute there. Its precise cause remains unknown; this is **not a 
clean suite result**. No assertion or timeout was changed.
   - `npm run lint`: **0 errors, 10 warnings** in unchanged files.
   - `npm run build`: passed TypeScript, production bundle and license gate 
(**133 components, 140 license files**).
   - Prettier on both changed files and `git diff --check`: passed. Independent 
code/diff and validation-boundary review found no blocker for this scoped fix.
   
   No full frontend suite, backend/Go suite, live broker/database/deployment or 
real group deletion was performed. These local results do not claim remote CI 
success. AI assistance (Codex) was used for investigation, implementation, 
tests and independent review.
   
   ### Checklist
   
   - [x] One coherent change; unrelated modifications are not bundled in
   - [x] Conventional Commit subject
   - [x] Regression and compatibility tests added, name ends in `Test`
   - No new UI text, source files, API or architecture changes; backend 
ArchUnit checks were not run.
   


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