iloveeyjafjalla opened a new pull request, #6203: URL: https://github.com/apache/rocketmq-dashboard/pull/6203
### Which Issue(s) This PR Fixes A dedicated bug report will be linked immediately after this PR is opened. ### Brief Description One client normally has the same ID on multiple brokers but different TCP source ports. Comparing full socket addresses in client diagnostics incorrectly reports a critical ID collision for that normal inventory. Compare only the host for collision classification, handling IPv4/hostname and bracketed IPv6 socket addresses. Preserve original addresses for display, evidence, record identity, duplicate detection and counts; leave unrecognized formats unchanged. Regressions cover the real ClientsPage service-to-diagnostics path, source-port changes, and different hosts still being reported. ### How Did You Test This Change? Baseline: `rocketmq-studio@5e4c39b053c35a5598cc79ff331b8a54e649d7b1`; Windows 11, Node 24.15.0, npm 11.12.1. The separate worktree uses LF checkout files and shares the existing `npm ci` dependency installation through a local junction. No live broker or database test is claimed. - Old production code with the expanded diagnostic/page suite: 32/36 passed, 4 expected failures (same-host IPv4/IPv6 source-port cases and page collision assertion). - `npm test -- --maxWorkers=2 src/utils/clientConnectionDiagnostics.test.ts src/pages/cluster/__tests__/ClientsPage.test.tsx src/api/connections.test.ts`: 3 files, 37/37 passed. - `npm run build`: passed, including the final license gate (133 actual components, 140 legal files). - `npm run lint`: exit 0, no errors, 10 warnings in untouched files. - Prettier and ESLint checks on the three changed files; `git diff --check`: passed. - The complete frontend suite is running; its actual result will be recorded before publication. Limits: this corrects a heuristic false positive. The current aggregate API cannot identify two conflicting processes on the same host separately from normal connections. Ambiguous bare IPv6 and hostname aliases are outside the added parser's scope. Related #5570 / #6088 do not implement this collision fix. AI assistance: OpenAI Codex helped investigate, implement and run checks. Separate automated agents reviewed the production source chain and actual diff; this is not a claim of human or maintainer review. ### Checklist - [x] One coherent fix and its tests - [x] Conventional Commit subject - [x] Relevant regressions added (including page behavior) - [x] New UI translations: N/A, no UI text added - [ ] Java architecture/integration tests: not run, no backend change - [x] Existing ASF headers retained; no new source file - [x] Documentation: N/A, restores the intended diagnostics behavior -- 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]
