Fix session switch race: connect WS after REST fetch completes
...
loadSession was setting currentId before the REST fetch, which triggered
ws.connect() immediately. If WS replay arrived before the REST response,
onStreamStart() would push a streaming message, then the REST response
would overwrite messages.value entirely — leaving streamingMsg pointing
to an orphaned object no longer in the array.
Fix: move currentId and location.hash assignment to after the REST fetch
so the WS connection is established only once messages are populated.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 21 Apr