coder999o opened a new pull request, #6890:
URL: https://github.com/apache/rocketmq-dashboard/pull/6890

   ## What is the purpose of the change
   
   Topic rebuild and synchronization currently report success when 
`createTopic` succeeds but the following route lookup still returns an empty 
array. The synchronization dialog also marks the topic as synced and disables 
its retry button even though the route remains missing.
   
   ## Brief changelog
   
   - Require a nonempty route recheck before reporting rebuild or 
synchronization success.
   - Reuse the existing failure handling and loading cleanup so a topic with no 
confirmed route stays retryable.
   - Cover both recovery actions through an empty post-create recheck followed 
by a successful retry, including the synced tag and disabled-button state.
   
   The existing recovery requests and Apache-only controls are retained; no API 
or schema changes are needed.
   
   ## Verifying this change
   
   - `cd web && npm test -- src/pages/instance/__tests__/TopicPage.test.tsx -t 
'keeps .* retryable until the route recheck returns a broker'` — both cases 
reproduced the defect before the fix; 2 passed after the fix.
   - `cd web && npm test -- src/pages/instance/__tests__/TopicPage.test.tsx 
src/services/topicService.test.ts src/services/topicService.batchDelete.test.ts 
src/api/metadata.test.ts` — 66 tests passed across 4 files.
   - `cd web && npx tsc -b --pretty false` — passed.
   - `cd web && npx eslint src/pages/instance/topic.tsx 
src/pages/instance/__tests__/TopicPage.test.tsx` — passed.
   - `cd web && npx prettier --check src/pages/instance/topic.tsx 
src/pages/instance/__tests__/TopicPage.test.tsx` — passed.
   - `git diff --check` — passed.
   
   The component regressions use mocked service responses. Live browser/Broker 
integration and route propagation timing were not exercised; an empty immediate 
recheck conservatively leaves recovery retryable. The test environment emitted 
existing jsdom pseudo-element and Ant Design layout warnings.
   


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