fix: show detailed error messages for session creation failures

Return full error stack traces from the sessions API and display
the actual server error in the frontend, instead of a generic
"Failed to create session" message.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
7418andClaude Opus 4.6 committed 2026-02-06 22:29:44 +08:00
1 parent 2e6fc2af7d
commit 454c7b0e6c
2 files changed
+8 -3

No files matched your search

+4 -2
View File
@@ -8,7 +8,8 @@ export async function GET() {
const response: SessionsResponse = { sessions };
return Response.json(response);
} catch (error) {
const message = error instanceof Error ? error.message : 'Failed to fetch sessions';
const message = error instanceof Error ? error.stack || error.message : String(error);
console.error('[GET /api/chat/sessions] Error:', message);
return Response.json({ error: message }, { status: 500 });
}
}
@@ -26,7 +27,8 @@ export async function POST(request: NextRequest) {
const response: SessionResponse = { session };
return Response.json(response, { status: 201 });
} catch (error) {
const message = error instanceof Error ? error.message : 'Failed to create session';
const message = error instanceof Error ? error.stack || error.message : String(error);
console.error('[POST /api/chat/sessions] Error:', message);
return Response.json({ error: message }, { status: 500 });
}
}
+4 -1
View File
@@ -111,7 +111,10 @@ export default function NewChatPage() {
body: JSON.stringify(createBody),
});
if (!createRes.ok) throw new Error('Failed to create session');
if (!createRes.ok) {
const errBody = await createRes.json().catch(() => ({}));
throw new Error(errBody.error || `Failed to create session (${createRes.status})`);
}
const { session }: SessionResponse = await createRes.json();
sessionId = session.id;