diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx index 5c7642f..877f523 100644 --- a/src/components/Sidebar.tsx +++ b/src/components/Sidebar.tsx @@ -64,12 +64,12 @@ function DesktopSidebar({ return (
{activePanel && ( -
+
{activePanel.label} @@ -165,7 +165,7 @@ export default function Sidebar({ panels }: { panels: SidebarPanel[] }) { const isOpen = !!activePanel; return ( -
+
{/* Desktop */} {isWide && ( null); + + if (!res.ok) { + let message = "Request failed"; + + if (res.status === 500) { + message = "Server error (likely model too large or OOM)"; + } else if (res.status === 401) { + message = "Unauthorized"; + } else { + message = data?.message || data?.error || message; + } + + throw new Error(message); + } + const assistant = data?.choices?.[0]?.message; - if (assistant) setMessages((prev) => [...prev, assistant]); + if (assistant) { + setMessages((prev) => [...prev, assistant]); + } + } catch (err: any) { console.error(err); - setNotification( - err?.message || 'Something went wrong while sending request', - ); + + const message = + err?.message || 'Something went wrong while sending request'; + + setMessages((prev) => [ + ...prev, + { + role: 'assistant', + content: `❌ ${message}`, + }, + ]); + + setNotification(message); setTimeout(() => setNotification(null), 3000); } finally {