From 3466f0499272874c36d3671521577898c9e76347 Mon Sep 17 00:00:00 2001 From: sabaimran Date: Mon, 16 Sep 2024 15:04:49 -0700 Subject: [PATCH] Fix handling for new conversation in agents page --- src/interface/web/app/agents/page.tsx | 12 +++++------- src/interface/web/app/common/chatFunctions.ts | 5 ++++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/interface/web/app/agents/page.tsx b/src/interface/web/app/agents/page.tsx index e0449c09..c06ac129 100644 --- a/src/interface/web/app/agents/page.tsx +++ b/src/interface/web/app/agents/page.tsx @@ -38,6 +38,7 @@ import { getIconFromIconName } from "../common/iconUtils"; import { convertColorToTextClass } from "../common/colorUtils"; import { Alert, AlertDescription } from "@/components/ui/alert"; import { useIsMobileWidth } from "../common/utils"; +import { createNewConversation } from "../common/chatFunctions"; export interface AgentData { slug: string; @@ -55,13 +56,10 @@ async function openChat(slug: string, userData: UserProfile | null) { return; } - const response = await fetch(`/api/chat/sessions?agent_slug=${slug}`, { method: "POST" }); - const data = await response.json(); - if (response.status == 200) { - window.location.href = `/chat?conversationId=${data.conversation_id}`; - } else if (response.status == 403 || response.status == 401) { - window.location.href = unauthenticatedRedirectUrl; - } else { + try { + const response = await createNewConversation(slug); + window.location.href = `/chat?v=${response.conversationUniqueId}`; + } catch (error) { alert("Failed to start chat session"); } } diff --git a/src/interface/web/app/common/chatFunctions.ts b/src/interface/web/app/common/chatFunctions.ts index 7ff3c1a9..a970c9e5 100644 --- a/src/interface/web/app/common/chatFunctions.ts +++ b/src/interface/web/app/common/chatFunctions.ts @@ -203,7 +203,10 @@ export async function createNewConversation(slug: string) { const conversationId = data.conversation_id; if (!uniqueId) throw new Error("Unique ID not found in response"); if (!conversationId) throw new Error("Conversation ID not found in response"); - return { conversationId, conversationUniqueId: uniqueId } as NewConversationMetadata; + return { + conversationId: conversationId, + conversationUniqueId: uniqueId, + } as NewConversationMetadata; } catch (error) { console.error("Error creating new conversation:", error); throw error;