From 881888ef1085689648ca8afaca863712c40e7119 Mon Sep 17 00:00:00 2001 From: Mannu Date: Mon, 11 May 2026 01:44:08 +0530 Subject: [PATCH] Fix AI chat: handle undefined sessions - Add error state to display API errors - Safe guard sessions.map with (sessions || []) - Show error message on API failure Co-Authored-By: Claude Opus 4.7 --- src/app/ai/page.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/app/ai/page.tsx b/src/app/ai/page.tsx index c7d2cb6..3148830 100644 --- a/src/app/ai/page.tsx +++ b/src/app/ai/page.tsx @@ -25,6 +25,7 @@ export default function AIChatPage() { const [input, setInput] = useState(""); const [loading, setLoading] = useState(false); const [sidebarOpen, setSidebarOpen] = useState(true); + const [error, setError] = useState(""); useEffect(() => { if (childId) { @@ -37,7 +38,13 @@ export default function AIChatPage() { try { const res = await fetch(`/api/chat?childId=${childId}`); const data = await res.json(); + if (data.error) { + setError(data.error); + console.error("API error:", data.error); + return; + } setSessions(data.sessions || []); + setError(""); } catch (err) { console.error("Failed to fetch:", err); } @@ -113,6 +120,11 @@ export default function AIChatPage() { return (
+ {error && ( +
+ Error: {error} +
+ )} {/* Sidebar */}
@@ -121,7 +133,7 @@ export default function AIChatPage() {
- {sessions.map(session => ( + {(sessions || []).map(session => (
setCurrentSessionId(session.id)}