diff --git a/apps/gateway/src/main.ts b/apps/gateway/src/main.ts index d44ee18..b5b4932 100644 --- a/apps/gateway/src/main.ts +++ b/apps/gateway/src/main.ts @@ -40,6 +40,7 @@ async function bootstrap(): Promise { app.enableCors({ origin: process.env['GATEWAY_CORS_ORIGIN'] ?? 'http://localhost:3000', credentials: true, + methods: ['GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'], }); await app.register(helmet as never, { contentSecurityPolicy: false }); diff --git a/apps/web/src/app/(dashboard)/chat/page.tsx b/apps/web/src/app/(dashboard)/chat/page.tsx index a04867d..68bea36 100644 --- a/apps/web/src/app/(dashboard)/chat/page.tsx +++ b/apps/web/src/app/(dashboard)/chat/page.tsx @@ -151,11 +151,15 @@ export default function ChatPage(): React.ReactElement { const handleDelete = useCallback( async (id: string) => { - await api(`/api/conversations/${id}`, { method: 'DELETE' }); - setConversations((prev) => prev.filter((c) => c.id !== id)); - if (activeId === id) { - setActiveId(null); - setMessages([]); + try { + await api(`/api/conversations/${id}`, { method: 'DELETE' }); + setConversations((prev) => prev.filter((c) => c.id !== id)); + if (activeId === id) { + setActiveId(null); + setMessages([]); + } + } catch (err) { + console.error('[ChatPage] Failed to delete conversation:', err); } }, [activeId],