Frun1na opened a new issue, #6103: URL: https://github.com/apache/rocketmq-dashboard/issues/6103
### Before Creating the Bug Report - [x] I have searched the [open issues](https://github.com/apache/rocketmq-dashboard/issues) of this repository and believe that this is not a duplicate. - [x] This is a defect in RocketMQ Studio, not a usage question and not a defect in another Apache RocketMQ repository. - [x] I can reproduce this on the current `rocketmq-studio` branch, or I have stated the exact version I am running below. ### Studio Version branch: `rocketmq-studio` git commit id: `5e4c39b0` deployed as: reproduced by a unit test against that commit (the affected code is the web client) ### Runtime Environment OS: Ubuntu on WSL2 MySQL: not applicable — the defect is in the web client's table filtering browser: not applicable — reproduced in a jsdom unit test (vitest + Testing Library) ### Connected RocketMQ Cluster RocketMQ version: not applicable — reproduced with a stubbed client-connection response in a unit test access mode: not applicable deployment: not applicable ### Describe the Bug The clients table reports a client whose broker-reported language has no known counterpart as "unknown" and counts it in the language/version distribution, but the language column's filter cannot select those rows. - the distribution bucket is built with the `UNKNOWN_LANGUAGE` sentinel (`web/src/pages/cluster/clients.tsx:310`) and rendered as "未知 <version>: N"; - the tag for such a row falls back to the localized "unknown" label (`renderLanguageTag`, `:390-397`); - the language column's filter, however, lists only the eight languages of `languageConfig` (`:495-498`) and matches `record.language === value`, so a row with `language: null` matches no option; - the CSV export has the same gap: `matches('language', connection.language ?? '')` (`:374`). The protocol column already got the matching treatment when its null case appeared (the merge commit for #5453 added an unknown protocol option and made the export use the same sentinel, precisely so the rows behind the `-: N` statistic could be filtered); the language column was not updated the same way. ### Steps to Reproduce Reproduced by a unit test rather than against a cluster; the connection stub is the only setup needed: 1. Render `ClientsPage` with `listConnections` returning one row with `language: null` (the broker reported a `LanguageCode` with no `ClientLanguage` counterpart) and one Java row. 2. Look at the language filter: it offers Java, Go, … but nothing that selects the "未知 5.0.7: 1" bucket the distribution just displayed. 3. Export with such a filter — there is no filter to select in the first place. ### What Did You Expect to See? The same option the protocol column has, so the rows the distribution counts as "unknown" can be filtered and exported like any other language. ### What Did You See Instead? A language filter that cannot select the rows the page itself labels as unknown. ### Additional Context - A fix with a regression test follows in a pull request. - The case is pinned by a unit test that fails on `5e4c39b0` (`Unable to find an element with the text: 未知` in the filter dropdown) and passes with the fix. - The version column has no filter at all, so the per-version split inside the unknown bucket stays unselectable; that is out of scope here. ### Are You Willing to Submit a Pull Request? - [x] Yes, I am willing to submit a pull request. -- 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]
