mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-29 18:46:59 +00:00
Command Center, Settings, Skills, and Command Palette all subscribed to hot stores unconditionally — ticks on every streaming token (title updates), on every connect/disconnect. Components that only need that data on one tab were re-rendering on every stream delta while sitting on an unrelated tab. Fixes: - CommandCenterView: gate / to the Sessions tab via useStoreSelector returning a stable empty array on other tabs - SkillsView: gate to the MCP tab only - SettingsView: memoize navGroups (was rebuilt inline on every render with fresh onSelect closures for every nav item) - OverlayNavItem: memo() so nav items don't re-render when a sibling's active state changes - CommandPalette: extract memoized PaletteRow so items don't re-render on unrelated parent state changes (open/close, theme, etc) - CommandCenterView: memoize navGroups array (was inline JSX) |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||