RockteMQ-AI commented on issue #3291:
URL:
https://github.com/apache/rocketmq-dashboard/issues/3291#issuecomment-5549525201
**Issue Evaluation**
Category: `enhancement` | Status: **Evaluated**
**Feasibility:** Feasible
**Scope:** Frontend `ClientsPage` (`web/src/pages/cluster/clients.tsx`),
service layer already supports the parameters
**Compatibility:** No breaking changes — backend already accepts `clusterId`
and `type` as optional query params
Verified against the current codebase:
1. **Backend** (`ClientController.java`): `/api/clients` already accepts
`clusterId` and `type` as optional `@RequestParam` filters.
2. **API layer** (`web/src/api/connections.ts`): `ClientConnectionQuery`
interface already defines `clusterId?` and `type?`, and `listConnections()`
passes them as query params.
3. **Service layer** (`web/src/services/connectionsService.ts`): Already
filters by `clusterId` and `type` in both mock and real modes.
4. **Page** (`web/src/pages/cluster/clients.tsx`): Calls `listConnections({
namesrvAddr: selectedEndpoint })` — only passes `namesrvAddr`, ignoring the
available filters.
The fix is well-scoped:
- Pass `clusterId` when `clusterFilter !== "ALL"` to the `listConnections()`
call
- Add a page-level type selector (Producer/Consumer) and pass it as `type`
- Reset to page 1 when either filter changes
- Avoid redundant API calls when only local column filters change (current
table `onFilter` is client-side only)
- Keep existing diagnostics, export, and error behavior intact
This is a good first issue for contributors familiar with the React frontend.
---
*Automated evaluation by github-manager*
--
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]