iloveeyjafjalla opened a new pull request, #6617: URL: https://github.com/apache/rocketmq-dashboard/pull/6617
### Which Issue(s) This PR Fixes The associated bug report will be linked immediately after publication. ### Brief Description The navigation-search input treats an IME confirmation Enter as a command to open the selected page. Composing arrow keys also change the palette selection instead of remaining available to the input method. Return early from this input's keyboard handler for `nativeEvent.isComposing` or the existing Composer-compatible `keyCode === 229` fallback. Ordinary arrow navigation and Enter selection keep their current behavior. The guard does not cancel the composition event's default action. This is the MainLayout navigation palette; #6376 addresses the separate MetricsExplorer input and #6070 the separate Composer input. [UI Events composition semantics](https://w3c.github.io/uievents/#events-composition-key-events) explain why key events also reach the page while text is being composed. ### How Did You Test This Change? Base: `rocketmq-studio` at `779b8c0e7aed2396d3cc72743dcd544ea48e9ae6`; Node 24.15.0, npm 11.12.1. - With the unchanged production component and final test fixture: **3 failures, 1 passing control**. Both composition Enter variants navigated to the Settings outlet. A composing ArrowDown changed the selected route to Topic; ordinary ArrowDown/Enter correctly navigated in the control. - `npm test -- --maxWorkers=1 src/layouts/MainLayout.navigation.test.tsx src/layouts/MainLayout.test.tsx src/layouts/navigationSearch.test.ts`: **3 files, 16/16 passed** after the fix. - `npm run lint`: **0 errors, 10 warnings in unchanged files**. - `npm run build`: TypeScript, production bundle and license gate passed (**133 components, 140 license files**). - Changed-file Prettier and `git diff --check` passed; independent review examined the actual diff and regression evidence. The new tests render real MainLayout, Ant Design Modal/Layout and MemoryRouter, open the actual search control, and dispatch DOM composition/keyboard events into its input. Ant Design motion is disabled only in the test provider so visibility preparation does not depend on animation completion in jsdom. Two preliminary runs included visibility-preparation failures and are excluded from the product-red evidence; only the final no-motion run is used. No timeout or production animation behavior was changed. This verifies component event handling, not native OS/IME or physical-browser behavior. No full frontend/backend/Go, live broker/database/deployment or remote CI success is claimed. AI assistance (Codex) was used for source investigation, implementation, testing and independent review. ### Checklist - [x] One coherent change; Conventional Commit subject - [x] Real component regressions and normal-navigation control named `...Test` - [x] New test file retains the ASF header; no new UI text - [ ] Backend architecture/integration tests: not run (no backend change) -- 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]
