You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 029a959
Browse filesBrowse the repository at this point in the historyBrowse files
fix(execution): classify Chat stream drops and stop async launches writing a terminal pointer
Only useExecutionStream.execute wrapped a transport failure as
SSEStreamInterruptedError; executeWorkflowWithFullLogging rethrew the raw
TypeError, so a mid-run network drop on the Chat run-tool path took the
generic branch: the tool reported "error" to Sim, the confirm route marked
the row failed, and the pointer was cleared while the server kept running
the workflow. The classifier is now one exported helper
(toStreamInterruptedError) used by both execute paths and by the shared
executor's post-acknowledgement catch, so the run tool reaches its
recoverable branch, reports "background", keeps the pointer, and releases
the run to the terminal reconnect.
Async launches wrote the terminal execution pointer only so
bindRunToolToExecution would find something after a reload, but an async
run has no reconnectable stream, so any reconnect against that pointer
404'd into the same synthetic Run Error. The tab-local pending completion
report already carries the execution id, so async launches no longer touch
the pointer and recovery answers from the pending report first, falling
back to the pointer only for a live run this tab was observing. The legacy
clearExecutionPointerAfterReport flag is still honoured for pointers older
clients left behind.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
0 commit comments