zmuxuny opened a new pull request, #7377: URL: https://github.com/apache/rocketmq-dashboard/pull/7377
### Which Issue(s) This PR Fixes Fixes #7097. Fixes #7116. Continuation of #7102 after its stale-bot closure, preserving the #7118 instance-list contribution that was consolidated there. The existing fork branch is refreshed onto rocketmq-studio 7abf8adaf660d75f2d686bbe8741be76c3a5ddd3; head 377e70da71b853f210fa3466eda6814866ecbfe2. ### Brief Description Use one page-local authentication revision for Axios, both AI streaming fetch paths, and instance-list request coalescing. Each login/logout advances ownership, including same-user relogin and clearing authentication outside the Zustand store. An old request may still settle, but cannot clear a newer session or displace its shared pending instance request. Same-session sharing, query/data-mode keys, defensive copies and promise-identity cleanup remain intact. Related open #7373 covers the late-401 portion independently. This continuation additionally covers cross-login instance coalescing and the real Axios-to-instance-service integration. These share a revision contract and should be reconciled as one implementation, rather than merged as two competing session counters. Scope is one SPA lifetime. This does not cancel issued requests, change backend authorization, synchronize tabs or claim a cross-user data leak. AI assisted coding and testing. ### How Did You Test This Change? Re-run on this exact head on 2026-11-04, Node 24.22.1: - Five focused files (authStorage, client, ai, instanceService and instanceService.session): 94/94 tests passed. - ESLint and Prettier on all nine changed files: passed. - npm run build: passed, including TypeScript, Vite and license check (134 actual components, 141 license files). - Current-base negative control: copying these tests onto unchanged 7abf8ada production code gives 14 failing / 80 passing tests. Failures exercise stale 401s, cross-login coalescing and the missing revision API; no production files were changed in that control. Commands: cd web; npm test -- src/stores/authStorage.test.ts src/api/client.test.ts src/api/ai.test.ts src/services/instanceService.test.ts src/services/instanceService.session.test.ts --maxWorkers=2; npm run build. These are local results, not a new hosted-CI pass. Full frontend-suite validation is not claimed: an independent run of unchanged current-base ConsumerPage tests still timed out in 14/72 cases. No ConsumerPage or dependency changes are included in this diff. ### Checklist - [x] One coherent session-ownership change with integration regressions - [x] Existing contribution authorship and signed commits retained - [x] Regression tests added; new test source has ASF license header - [x] No new UI text, backend changes or dependency updates - [ ] Full hosted CI pending -- 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]
