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]
