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

   Fixes #3150
   
   ## Summary
   `/api/groups/page` now accepts an optional `subscriptionMode` query 
parameter (`Push`/`Pop`) and applies the Push/Pop subscription-mode filter on 
the server instead of filtering only the current page in the browser. The total 
count and pagination are computed on the filtered result set, so paging stays 
correct when the filter is active.
   
   ## Why
   The consumer group list previously fetched one page and then filtered it by 
`subscriptionMode` in memory. When a page contained few (or no) groups of the 
selected mode, the table appeared empty or under-filled even though matching 
groups existed on other pages, and the pagination total did not reflect the 
filter. Moving the filter to the backend makes the page, total and CSV export 
agree with each other.
   
   ## Testing
   - Backend:
     - `ConsumerGroupControllerTest` verifies the `subscriptionMode` parameter 
is propagated from the `/api/groups/page` endpoint to `MetadataService` (and 
`null` when omitted).
     - `RocketMQMetadataProviderTest` verifies the database query gains a 
`message_model` condition for `Pop` (equality) and `Push` (NULL or anything but 
Pop, matching the VO fallback semantics).
     - `MetadataServiceTest` verifies the mode is forwarded to both the cluster 
metadata provider and the instance provider, and that blank/unknown modes are 
ignored.
     - `InstanceProviderTest` verifies the shared in-memory cloud-provider 
fallback filters before pagination and recomputes the total.
     - `ApacheInstanceProviderTest` was updated for the new delegation 
signature.
   - Frontend (`ConsumerPage.test.tsx`): changing the Push/Pop mode filter 
triggers a fresh server request carrying `subscriptionMode`, and the default 
request passes `subscriptionMode: undefined`.
   - Local type check: `./node_modules/.bin/tsc -b tsconfig.app.json` exits 0.
   


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