Aias00 opened a new issue, #2566:
URL: https://github.com/apache/rocketmq-dashboard/issues/2566

   ## Problem
   
   Instance-scoped Studio pages treat instance inventory and capability 
discovery failures as permissive states, but the fallback is incomplete.
   
   - `useInstanceFilter` documents that an inventory-load failure falls back to 
no filtering. In fact, with `/instance/:instanceId/...` routes it only accepts 
IDs contained in the fetched inventory. A rejected `listInstances()` leaves 
`selectedInstanceId` undefined, so Topic, Consumer, Message, ACL, and DLQ skip 
their data loads.
   - `MainLayout` treats a missing capability set as all capabilities and 
preserves that state when discovery fails. Users can therefore navigate to 
operations that the backend rejects for the selected provider, for example 
cloud-instance DLQ requests returning 501.
   
   ## Scope
   
   - Preserve a syntactically valid route instance ID while inventory loading 
fails, and expose retry/error state to callers.
   - Make unknown or failed capability discovery fail closed for 
capability-gated navigation.
   - Keep routes, selectors, and menu behavior consistent so unsupported 
operations are not presented as available.
   - Add shared regression coverage for failure and retry states.
   
   ## Affected code
   
   - `web/src/hooks/useInstanceFilter.ts`
   - `web/src/layouts/MainLayout.tsx`
   - instance-scoped Topic, Consumer, Message, ACL, and DLQ pages
   
   ## Verification
   
   - Hook tests for failed inventory load, retained route selection, and retry.
   - Layout tests for failed capability discovery and supported/unsupported 
navigation.
   - Frontend build.


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