From 2ccbd9a44c5d3723222f20561deb14310337f9a0 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Sat, 5 Jul 2025 22:00:06 +0530 Subject: [PATCH] Update ChatWindow.tsx --- src/components/ChatWindow.tsx | 37 ++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/src/components/ChatWindow.tsx b/src/components/ChatWindow.tsx index 93c8a0c..ad75d1b 100644 --- a/src/components/ChatWindow.tsx +++ b/src/components/ChatWindow.tsx @@ -83,13 +83,35 @@ const checkConfig = async ( if (!chatModel || !chatModelProvider) { const chatModelProviders = providers.chatModelProviders; + if ( + !chatModelProviders || + Object.keys(chatModelProviders).length === 0 + ) { + setHasError(true); + return toast.error('No chat model providers found'); + } else if ( + chatModelProviders.length === 1 && + Object.keys(chatModelProviders['custom_openai']).length === 0 + ) { + setHasError(true); + return toast.error( + "Seems like you're trying to use the custom OpenAI provider. Please configure it using the settings page or the config file to use it.", + ); + } + chatModelProvider = - chatModelProvider || Object.keys(chatModelProviders)[0]; + chatModelProvider || + Object.keys(chatModelProviders).find( + (v) => Object.keys(chatModelProviders[v]).length > 0, + ) || + null; + + if (!chatModelProvider) { + setHasError(true); + return toast.error('No chat models found.'); + } chatModel = Object.keys(chatModelProviders[chatModelProvider])[0]; - - if (!chatModelProviders || Object.keys(chatModelProviders).length === 0) - return toast.error('No chat models available'); } if (!embeddingModel || !embeddingModelProvider) { @@ -123,7 +145,12 @@ const checkConfig = async ( chatModelProvider = chatModelProvidersKeys.find( (key) => Object.keys(chatModelProviders[key]).length > 0, - ) || chatModelProvidersKeys[0]; + ) || null; + + if (!chatModelProvider) { + setHasError(true); + return toast.error('No chat models found.'); + } localStorage.setItem('chatModelProvider', chatModelProvider); }