mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-12 08:51:53 +00:00
`@assistant-ui/store`'s index-keyed child-scope lookup (`tapClientLookup`) throws — rather than returning undefined — when a subscriber reads an index the message/parts list no longer has. During high-frequency store replacement (switching sessions mid-stream, gateway reconnect replay) a subscriber from the previous, longer list is still in React's notification queue and reads one slot past the new, shorter array before it can unmount. The throw (`Index N out of bounds (length: N)`, the classic index === length off-by-one) unwinds all the way to the root error boundary and blanks the entire window, even though the store self-heals on the very next consistent snapshot. Wrap each virtualized message group in a tiny boundary that swallows ONLY this transient lookup race and auto-recovers when the message signature changes (the existing list-mutation key). Any other error re-throws to the root boundary, so genuine bugs still surface. Upstream-tracked and unresolved: assistant-ui/assistant-ui#4051, #3652. Co-authored-by: mollusk <mollusk@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||