Merge pull request #628 from thecodacus/console-error-fox-due-to-duplicate-keys-in-model-selector

chore: console error fix due to duplicate keys and logs cleanup
This commit is contained in:
Anirban Kar 2024-12-11 02:16:33 +05:30 committed by GitHub
commit 61a6e13378
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 13 additions and 8 deletions

View File

@ -147,7 +147,9 @@ export const BaseChat = React.forwardRef<HTMLDivElement, BaseChatProps>(
return () => clearInterval(interval); return () => clearInterval(interval);
}, [PROVIDER_LIST]); }, [PROVIDER_LIST]);
console.log(transcript); useEffect(() => {
console.log(transcript);
}, [transcript]);
useEffect(() => { useEffect(() => {
// Load API keys from cookies on component mount // Load API keys from cookies on component mount
try { try {

View File

@ -121,8 +121,8 @@ export const ModelSelector = ({
> >
{[...modelList] {[...modelList]
.filter((e) => e.provider == provider?.name && e.name) .filter((e) => e.provider == provider?.name && e.name)
.map((modelOption) => ( .map((modelOption, index) => (
<option key={modelOption.name} value={modelOption.name}> <option key={index} value={modelOption.name}>
{modelOption.label} {modelOption.label}
</option> </option>
))} ))}

View File

@ -1,6 +1,7 @@
import Cookies from 'js-cookie'; import Cookies from 'js-cookie';
import type { ModelInfo, OllamaApiResponse, OllamaModel } from './types'; import type { ModelInfo, OllamaApiResponse, OllamaModel } from './types';
import type { ProviderInfo } from '~/types/model'; import type { ProviderInfo } from '~/types/model';
import { createScopedLogger } from './logger';
export const WORK_DIR_NAME = 'project'; export const WORK_DIR_NAME = 'project';
export const WORK_DIR = `/home/${WORK_DIR_NAME}`; export const WORK_DIR = `/home/${WORK_DIR_NAME}`;
@ -10,6 +11,8 @@ export const PROVIDER_REGEX = /\[Provider: (.*?)\]\n\n/;
export const DEFAULT_MODEL = 'claude-3-5-sonnet-latest'; export const DEFAULT_MODEL = 'claude-3-5-sonnet-latest';
export const PROMPT_COOKIE_KEY = 'cachedPrompt'; export const PROMPT_COOKIE_KEY = 'cachedPrompt';
const logger = createScopedLogger('Constants');
const PROVIDER_LIST: ProviderInfo[] = [ const PROVIDER_LIST: ProviderInfo[] = [
{ {
name: 'Anthropic', name: 'Anthropic',
@ -383,8 +386,8 @@ async function getOllamaModels(): Promise<ModelInfo[]> {
provider: 'Ollama', provider: 'Ollama',
maxTokenAllowed: 8000, maxTokenAllowed: 8000,
})); }));
} catch (e) { } catch (e: any) {
console.error('Error getting Ollama models:', e); logger.warn('Failed to get Ollama models: ', e.message || '');
return []; return [];
} }
} }
@ -471,8 +474,8 @@ async function getLMStudioModels(): Promise<ModelInfo[]> {
label: model.id, label: model.id,
provider: 'LMStudio', provider: 'LMStudio',
})); }));
} catch (e) { } catch (e: any) {
console.error('Error getting LMStudio models:', e); logger.warn('Failed to get LMStudio models: ', e.message || '');
return []; return [];
} }
} }
@ -491,7 +494,7 @@ async function initializeModelList(): Promise<ModelInfo[]> {
} }
} }
} catch (error: any) { } catch (error: any) {
console.warn(`Failed to fetch apikeys from cookies:${error?.message}`); logger.warn(`Failed to fetch apikeys from cookies: ${error?.message}`);
} }
MODEL_LIST = [ MODEL_LIST = [
...( ...(