mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
Electron's findInPage selection is per-webContents, not per-route: without an explicit teardown, the highlight overlay (and a stale match counter) from one chat survived navigating to another session or a settings page. The FindBar now closes itself via effect cleanup keyed on the router pathname — the first render never fires it, a route change tears down the previous route's search, and unmount (the session/profile switch paths that remount the global overlays) gets the same teardown. closeFindBar is already idempotent, so a closed bar never re-enters the bridge, and a navigation with the bar closed makes zero bridge calls. Tests (find-bar.test.tsx 42 -> 48): - navigation closes the bar, resets the store, and calls stopFindInPage exactly once (highlight cleanup on session switch) - navigation with the bar closed never reaches into the bridge - keybind registration pins: view.findInPage is mod+f in the view category; mod+f passes comboAllowedInInput (so ⌘F fires from the composer instead of typing 'f'); the find-next/find-previous pair ships unbound while view.toggleReview keeps mod+g; all three actions have en + zh labels for the keybinds panel The component tests now render inside a MemoryRouter (FindBar reads useLocation), with a navigation harness that captures useNavigate. |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||