mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-30 19:09:28 +00:00
The sidebar's messaging section renders one PlatformAvatar (labelIcon) and StatusDot per platform group. The sidebar re-renders on every streaming tick ($sessions/$workingSessionIds/$messagingSessions churn), and both leaves were unmemoized — so every platform's avatar + dot re-rendered on each delta even though their props (platformId/tone/className) never changed. - PlatformAvatar: memo(forwardRef(...)) — pure fn of platformId/name/class/style - StatusDot: memo() — pure fn of tone/class Measured (Messaging open, settled, 2 sessions streaming, 3s window): before: 96 wasted (PlatformAvatar 32, StatusDot 32, + brand icons) after: 0 wasted Both are shared primitives; the memo also helps every other consumer (session rows, gateway menu, session tiles) that renders them under a hot parent. |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||