Better error log (#1696)

<!-- CURSOR_SUMMARY -->
> [!NOTE]
> Enhances AI stream error logging to include request ID and detailed
error info in `chat_stream_handlers.ts`.
> 
> - **Backend**
> - **Logging**: In `src/ipc/handlers/chat_stream_handlers.ts` `onError`
handler for `streamText` now logs a detailed message including request
ID and `errorMessage`, replacing the previous generic error log.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
3519f494e8e400403973f014cede9ff771d5a9ad. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Improve error logging in chat text streaming by replacing the generic
log with a structured entry that includes the request ID (when
available), the parsed error message, and the full error object. This
makes failures easier to trace and correlate with backend requests.

<sup>Written for commit 3519f494e8e400403973f014cede9ff771d5a9ad.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
This commit is contained in:
Will Chen
2025-11-03 17:10:35 -08:00
committed by GitHub
parent 8c1df62875
commit 95e1829910

View File

@@ -842,7 +842,6 @@ This conversation includes one or more image attachments. When the user uploads
tools, tools,
messages: chatMessages.filter((m) => m.content), messages: chatMessages.filter((m) => m.content),
onError: (error: any) => { onError: (error: any) => {
logger.error("Error streaming text:", error);
let errorMessage = (error as any)?.error?.message; let errorMessage = (error as any)?.error?.message;
const responseBody = error?.error?.responseBody; const responseBody = error?.error?.responseBody;
if (errorMessage && responseBody) { if (errorMessage && responseBody) {
@@ -852,6 +851,10 @@ This conversation includes one or more image attachments. When the user uploads
const requestIdPrefix = isEngineEnabled const requestIdPrefix = isEngineEnabled
? `[Request ID: ${dyadRequestId}] ` ? `[Request ID: ${dyadRequestId}] `
: ""; : "";
logger.error(
`AI stream text error for request: ${requestIdPrefix} errorMessage=${errorMessage} error=`,
error,
);
event.sender.send("chat:response:error", { event.sender.send("chat:response:error", {
chatId: req.chatId, chatId: req.chatId,
error: `${AI_STREAMING_ERROR_MESSAGE_PREFIX}${requestIdPrefix}${message}`, error: `${AI_STREAMING_ERROR_MESSAGE_PREFIX}${requestIdPrefix}${message}`,