zmuxuny opened a new pull request, #7387: URL: https://github.com/apache/rocketmq-dashboard/pull/7387
### Which Issue(s) This PR Fixes Fixes #6742. Fixes #6743. Replacement for stale-closed #6745, retaining its consolidated LiteTopic work from #6744 and original authorship. The existing branch is refreshed against rocketmq-studio at 7abf8adaf660d75f2d686bbe8741be76c3a5ddd3. ### Brief Description Keep a completed write from restoring the query that was active when the write started: - Maintenance-window deletion refreshes its captured page only while that page request still owns the dialog. A newer page request keeps ownership even while its response is pending. Deleting the final item still backs up a page when the operator has not navigated elsewhere. - LiteTopic TTL completion refreshes the latest submitted pattern and namespace from displayQueryRef, rather than stale captured input fields. It does not apply filter text that the operator has not searched, and the existing request-generation guard rejects older responses. The five added regressions cover completed and pending maintenance-page navigation, a newer submitted topic query, unsent filter text, and a pending namespace query. These are the same delayed-write/current-query boundary in two views. The current #6166/#5636/#5497 delete handlers and #5859 TTL handler do not cover this newer-query ownership boundary. ### How Did You Test This Change? Local checks re-run on 2026-11-04 at exact head dead4212e5896a727c993ef1ba516d56df849327, with Node 24.22.1 and the unchanged 20-second test timeout: - Five new regressions across SystemAlertsPage.test.tsx and LiteTopic.test.tsx: 5/5 passed, including a second run after the negative control. - Negative control: restoring the two production components from the base makes all five regressions fail on old-page/old-query behavior. Restoring candidate source makes them pass again. - npx tsc -b and npm run lint: passed across the frontend. - Prettier on all four changed files and git diff --check: passed. - npm run build: passed, including Vite and the license check (134 components, 141 license files). - Full affected suites: 60 passed / 5 failed in 368.50 seconds (SystemAlertsPage 32/36; LiteTopic 28/29). All five added regressions passed. Four existing cases exceeded the unchanged 20-second timeout; one existing delivery-retry assertion observed three mock calls instead of two. - All five failed cases then passed on both unchanged base production and this candidate in focused groups: silence-label 1/1, delivery-retry 1/1, filters 2/2 and consumed-count 1/1 on each tree. No production or test changes were made for those comparisons. This does not prove one cause for all failures. The failed full-suite result is retained; a full component-suite pass is not claimed. Full affected-suite command: cd web && npx vitest run src/pages/ops/__tests__/SystemAlertsPage.test.tsx src/pages/studio/__tests__/LiteTopic.test.tsx --maxWorkers=1. These are local results. No whole-frontend-suite or hosted-CI pass is claimed. Hosted CI for this replacement head remains pending. ### Checklist - [x] One coherent current-query contract after delayed writes - [x] Existing consolidated contribution history and authorship retained - [x] Five behavioral regressions cover completed and pending newer queries - [x] No new UI strings, dependencies or backend changes - [x] Type checking, lint, formatting and production build passed - [ ] Full affected component suites were not green (five existing failures; focused base/candidate comparisons each passed 5/5) - [ ] Hosted CI pending AI assistance was used for review and validation; the diff and results were checked before submission. -- 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]
