mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-13 19:20:04 +00:00
4c5c8795ef
* 🐛 fix(model-runtime): emit stop:abort instead of error when stream request is aborted When user cancels a streaming request, the provider SDK throws abort errors (e.g. "Request was aborted"). Previously these were propagated as error chunks, causing the client to display a provider error message. Now abort errors emit a stop:abort event through the SSE pipeline, allowing the client to handle cancellation gracefully. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix(model-runtime): fix type error in abort pipeline test Use `as const` for type literal to satisfy StreamProtocolChunk union type. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✅ test(fetch-sse): add planUpgradeAfterFinish to onFinish expectations #15616 added planUpgradeAfterFinish to the onFinish context but missed updating fetchSSE.test.ts, breaking 13 tests on canary. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * 🐛 fix(model-runtime): harden abort detection against non-Error throws isAbortError assumed error.message is always a string, but catch clauses receive unknown — a non-Error throw (string, object without message) would make the abort check itself throw inside the stream error handler, swallowing both ABORT_CHUNK and the first-chunk error. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>