Merge pull request #183 from svc-design/codex/fix-askai-button-response-issue

fix: handle non-streaming chat responses
This commit is contained in:
shenlan 2025-08-14 14:21:12 +08:00 committed by GitHub
commit 856f729acc

View File

@ -72,6 +72,16 @@ export function AskAIDialog({
if (!res.ok) throw new Error('Request failed')
const contentType = res.headers.get('content-type') || ''
// Handle non-streaming JSON responses directly.
if (!contentType.includes('text/event-stream')) {
const data = await res.json().catch(() => ({}))
let answer = typeof data === 'string' ? data : data.answer || ''
let retrieved = data.chunks || data.sources || []
update(answer, retrieved)
return { answer, retrieved }
}
const reader = res.body?.getReader()
if (!reader) throw new Error('No reader')