Skip to content

v0.1.0-alpha.68

Choose a tag to compare

@github-actions github-actions released this 03 May 06:04
· 215 commits to main since this release
fix: surface silent SSE failures as visible error block (alpha.68)

User-visible bug: send a message, see the user bubble, then nothing.
No assistant response, no error, no usage pill — like the message
went into a void. Cause: when streamThreadMessage returns 200 but
the body closes without any events firing (edge crashed mid-stream,
thread in bad state, model hiccup before first byte), the SSE
consumer loop exits cleanly without throwing. ChatSurface's send()
catch block never fires; nothing renders an error.

Fix: track an `eventsSeen` counter inside the onEvent callback. If
the stream completes with eventsSeen === 0 AND no `finished` event
landed, append an explicit error block to the chat with retry
context. Same code path the existing `cap_hit` / `unauthorized` /
`upstream_*` errors use, just for the new `empty_stream` code.

Error catalog (mapError) gets an `empty_stream` entry: warning
severity, "No response from the server" title, copy that explains
what happened and suggests both Retry and ⌘N (in case the long
thread is hitting a server-side context limit).

Doesn't fix the underlying server-side cause of empty streams (still
need to investigate why edge sometimes returns 200 + empty body),
but flips the failure mode from "agent silently dropped" to "agent
told you it failed and offered Retry."