ai-yang opened a new pull request, #677:
URL: https://github.com/apache/rocketmq-dashboard/pull/677

   ### Which Issue(s) This PR Fixes
   
   - Fixes #676
   
   ### Brief Description
   
   Preserve namespace as part of the LiteTopic identity and make namespace 
filtering safe under rapid user interaction.
   
   - Keep the backend-provided `namespace` field in the frontend model and 
display it in the table.
   - Build a stable, case-insensitive namespace selector from the initial 
unfiltered result.
   - Use a composite namespace/topic-pattern row key so identical patterns in 
different namespaces remain distinct.
   - Clear stale list/quota state on namespace changes and prevent out-of-order 
responses from overwriting the latest selection.
   - Match backend namespaces using trimmed, case-insensitive exact matching 
while retaining contains matching for topic patterns.
   
   ### Root Cause
   
   The frontend discarded the namespace field and keyed rows only by topic 
pattern, while the backend used contains matching for both pattern and 
namespace. In addition, list and quota requests were not coordinated, so 
delayed responses could restore stale data after a namespace switch.
   
   ### Impact
   
   Users can distinguish and filter same-pattern LiteTopics across namespaces 
without cross-namespace matches or stale results. The public `extendTTL` 
contract is intentionally unchanged.
   
   ### How Did You Test This Change?
   
   - `npm test -- --run src/api/liteTopic.test.ts 
src/pages/studio/__tests__/LiteTopic.test.tsx` (15 tests passed)
   - `npm run lint` (0 errors; 4 pre-existing warnings)
   - `npm run build`
   - Java 21 Docker: full server `mvn -q test` (including Checkstyle)
   - Full frontend suite: 230/231 tests passed. The sole failure is the 
pre-existing random Cluster metric assertion in `ClusterPage.test.tsx`; this PR 
does not modify Cluster code and that defect is being tracked separately.
   


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