mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-13 09:01:54 +00:00
Salvage of #45240. The dismiss-settled-tool-rows affordance was correct in intent but had two issues against current main: - The thread is virtualized, so a row's component unmounts/remounts as it scrolls. Component-local `useState` dismissal was forgotten on remount and the row popped back. Move dismissal into a session-scoped nanostore keyed by the stable disclosure id (mirrors $toolDisclosureOpen), so a dismissed row stays gone while scrolling but a reload restores real history instead of permanently rewriting it. - The dismiss button lived in DisclosureRow's absolute `trailing` slot — the exact "opacity-0-but-clickable control fights the caret" pattern the trailing comment warns against. Add an in-flow `action` slot that lays out at the far right so an interactive control never overlaps the caret's hit-target, regardless of title length, and move the dismiss button into it. Adds a remount regression test alongside the existing dismissal coverage. |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||