Skip to content

Commit 9f8c7b2

Browse files
committed
Handle stream network errors between client and server gracefully
1 parent af048e7 commit 9f8c7b2

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed

src/client/components/ChatV2/ChatV2.tsx

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,13 @@ export const ChatV2 = () => {
9797
const disclaimerInfo = infoTexts?.find((infoText) => infoText.name === 'disclaimer')?.text[language] ?? null
9898

9999
const processStream = async (stream: ReadableStream) => {
100+
let content = ''
101+
let error = ''
102+
let fileSearch: FileSearchCompletedData
103+
100104
try {
101105
const reader = stream.getReader()
102106

103-
let content = ''
104-
let error = ''
105-
let fileSearch: FileSearchCompletedData
106-
107107
while (true) {
108108
const { value, done } = await reader.read()
109109
if (done) break
@@ -166,18 +166,21 @@ export const ChatV2 = () => {
166166
}
167167
}
168168
}
169-
170-
setMessages((prev: Message[]) =>
171-
prev.concat({
172-
role: 'assistant',
173-
content,
174-
error,
175-
fileSearchResult: fileSearch,
176-
}),
177-
)
178169
} catch (err: any) {
179170
handleCompletionStreamError(err, fileName)
171+
error += '\nResponse stream was interrupted'
180172
} finally {
173+
if (content.length > 0) {
174+
setMessages((prev: Message[]) =>
175+
prev.concat({
176+
role: 'assistant',
177+
content,
178+
error: error.length > 0 ? error : undefined,
179+
fileSearchResult: fileSearch,
180+
}),
181+
)
182+
}
183+
181184
setStreamController(undefined)
182185
setCompletion('')
183186
setIsCompletionDone(true)

src/server/routes/openai.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,6 @@ openaiRouter.post('/stream/v2', upload.single('file'), async (r, res) => {
164164
}
165165
}
166166

167-
console.log('ragIndex', ragIndexId, ragIndex)
168-
169167
const responsesClient = new ResponsesClient({
170168
model: options.model,
171169
ragIndex,

0 commit comments

Comments
 (0)