mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-21 16:18:55 +00:00
Picking a model from the composer model pill left the pill's tooltip stuck open over the fresh selection: Radix Tooltip opens on ANY trigger focus (its isPointerDownRef guard only covers a pointerdown on the trigger itself), and Radix menus/dialogs restore focus to their trigger on close — so every mouse-driven pick ended with a phantom tip. Same pattern on every Tip-wrapped trigger that opens an overlay. Gate the focus-open to KEYBOARD focus: the trigger's own onFocus runs before Radix's composed handler and calls preventDefault() unless the trigger matches :focus-visible — composeEventHandlers skips onOpen for defaultPrevented events. Chromium keeps focus-visible modality across the menu round-trip, so a mouse pick's focus restore no longer opens the tip, while Tab-focus still shows it (a11y unchanged). Fails open if :focus-visible is unsupported. Tests cover the three branches (suppress on non-keyboard focus, keep on keyboard focus, fail open on selector error); chat/shell suites green. |
||
|---|---|---|
| .. | ||
| app | ||
| components | ||
| contrib | ||
| fonts | ||
| hooks | ||
| i18n | ||
| lib | ||
| plugins | ||
| sdk | ||
| store | ||
| themes | ||
| types | ||
| global.d.ts | ||
| hermes-parity.test.ts | ||
| hermes-profile-scope.test.ts | ||
| hermes.test.ts | ||
| hermes.ts | ||
| main.tsx | ||
| styles.css | ||
| vite-env.d.ts | ||