From 0f558a5e8ec433a6d46980ae102283b9e67c0901 Mon Sep 17 00:00:00 2001 From: shokollm <270575765+shokollm@users.noreply.github.com> Date: Fri, 10 Apr 2026 10:21:27 +0000 Subject: [PATCH] fix: handle array error format from FastAPI validation errors --- src/frontend/src/lib/api/client.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/frontend/src/lib/api/client.ts b/src/frontend/src/lib/api/client.ts index 1384e68..2f08455 100644 --- a/src/frontend/src/lib/api/client.ts +++ b/src/frontend/src/lib/api/client.ts @@ -21,7 +21,20 @@ function getAuthHeaders(): HeadersInit { async function handleResponse(response: Response): Promise { if (!response.ok) { const error = await response.json().catch(() => ({ detail: 'An error occurred' })); - throw new Error(error.detail || `HTTP error ${response.status}`); + let errorMessage = 'An error occurred'; + + if (typeof error.detail === 'string') { + errorMessage = error.detail; + } else if (Array.isArray(error.detail)) { + // Handle FastAPI validation error format: [{type, loc, msg, input}] + errorMessage = error.detail.map((e: any) => e.msg || JSON.stringify(e)).join(', '); + } else if (error.message) { + errorMessage = error.message; + } else { + errorMessage = `HTTP error ${response.status}`; + } + + throw new Error(errorMessage); } return response.json(); }