ai-yang opened a new issue, #676:
URL: https://github.com/apache/rocketmq-dashboard/issues/676

   ## Description
   
   The RocketMQ Studio LiteTopic page exposes a namespace filter, but the 
current listing flow does not preserve namespace identity end to end:
   
   - the frontend `LiteTopicItem` type drops the backend `namespace` field;
   - the namespace selector contains no real namespace options;
   - the table does not display namespace and uses a random fallback row key;
   - the backend applies a case-insensitive substring match to namespace 
values, so a filter such as `a` can match unrelated namespaces such as 
`default` and `ai`;
   - overlapping namespace requests can render a stale response under the 
latest selected namespace.
   
   This can mix LiteTopics from different namespaces in a filtered view and 
makes same-pattern rows ambiguous.
   
   ## Baseline
   
   - Repository: `apache/rocketmq-dashboard`
   - Branch: `rocketmq-studio`
   - Baseline commit: `e012ecc69bd7cd4ad80a7028fa1385e97828fc16`
   
   ## Steps to reproduce
   
   1. Open the LiteTopic page.
   2. Observe that the namespace selector only exposes the empty/all option 
even though list responses contain `default` and `ai`.
   3. Call `GET /api/liteTopic/list?namespace=a`.
   4. Observe that both sample namespaces can match because the service uses 
substring matching.
   5. Return two rows with the same `topicPattern` in different namespaces and 
observe that namespace identity is not visible or represented by a stable 
unique row key.
   
   ## Expected behavior
   
   - Namespace identity is preserved and displayed.
   - Namespace options are derived from the unfiltered list.
   - A non-blank namespace filter is trimmed and matched exactly, 
case-insensitively.
   - Pattern matching remains case-insensitive substring matching.
   - Only the latest list/quota request may update the selected namespace view.
   
   ## Proposed scope
   
   - Add `namespace` to the frontend LiteTopic item contract.
   - Populate and stabilize namespace filter options.
   - Add a namespace table column and deterministic composite row key.
   - Clear stale namespace data while switching and ignore stale responses.
   - Make backend namespace filtering exact without changing pattern matching.
   - Add frontend, API, and backend regression tests.
   
   This issue intentionally does not change the `extendTTL` request contract; 
write-operation namespace identity should be discussed separately.
   
   I would like to work on this issue and submit a focused Track 1 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]

Reply via email to