mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-25 11:46:12 +01:00
⚙️ refactor: Enhance Logging, Navigation And Error Handling (#5910)
* refactor: Ensure Axios Errors are less Verbose if No Response * refactor: Improve error handling in logAxiosError function * fix: Prevent ModelSelect from rendering for Agent Endpoints * refactor: Enhance logging functions with type parameter for better clarity * refactor: Update buildDefaultConvo function to use optional endpoint parameter since we pass a default value for undefined * refactor: Replace console logs with logger warnings and errors in useNavigateToConvo hook, and handle removed endpoint edge case * chore: import order
This commit is contained in:
parent
93dd365fda
commit
a65647a7de
5 changed files with 57 additions and 56 deletions
|
|
@ -8,14 +8,14 @@ import type { TConversation } from 'librechat-data-provider';
|
|||
import { getLocalStorageItems } from './localStorage';
|
||||
|
||||
const buildDefaultConvo = ({
|
||||
models,
|
||||
conversation,
|
||||
endpoint = null,
|
||||
models,
|
||||
lastConversationSetup,
|
||||
}: {
|
||||
conversation: TConversation;
|
||||
endpoint: EModelEndpoint | null;
|
||||
models: string[];
|
||||
conversation: TConversation;
|
||||
endpoint?: EModelEndpoint | null;
|
||||
lastConversationSetup: TConversation | null;
|
||||
}): TConversation => {
|
||||
const { lastSelectedModel, lastSelectedTools } = getLocalStorageItems();
|
||||
|
|
@ -33,7 +33,7 @@ const buildDefaultConvo = ({
|
|||
const model = lastConversationSetup?.model ?? lastSelectedModel?.[endpoint] ?? '';
|
||||
const secondaryModel: string | null =
|
||||
endpoint === EModelEndpoint.gptPlugins
|
||||
? lastConversationSetup?.agentOptions?.model ?? lastSelectedModel?.secondaryModel ?? null
|
||||
? (lastConversationSetup?.agentOptions?.model ?? lastSelectedModel?.secondaryModel ?? null)
|
||||
: null;
|
||||
|
||||
let possibleModels: string[], secondaryModels: string[];
|
||||
|
|
|
|||
|
|
@ -4,12 +4,17 @@ const loggerFilter = import.meta.env.VITE_LOGGER_FILTER || '';
|
|||
|
||||
type LogFunction = (...args: unknown[]) => void;
|
||||
|
||||
const createLogFunction = (consoleMethod: LogFunction): LogFunction => {
|
||||
const createLogFunction = (
|
||||
consoleMethod: LogFunction,
|
||||
type?: 'log' | 'warn' | 'error' | 'info' | 'debug' | 'dir',
|
||||
): LogFunction => {
|
||||
return (...args: unknown[]) => {
|
||||
if (isDevelopment || isLoggerEnabled) {
|
||||
const tag = typeof args[0] === 'string' ? args[0] : '';
|
||||
if (shouldLog(tag)) {
|
||||
if (tag && args.length > 1) {
|
||||
if (tag && typeof args[1] === 'string' && type === 'error') {
|
||||
consoleMethod(`[${tag}] ${args[1]}`, ...args.slice(2));
|
||||
} else if (tag && args.length > 1) {
|
||||
consoleMethod(`[${tag}]`, ...args.slice(1));
|
||||
} else {
|
||||
consoleMethod(...args);
|
||||
|
|
@ -20,12 +25,12 @@ const createLogFunction = (consoleMethod: LogFunction): LogFunction => {
|
|||
};
|
||||
|
||||
const logger = {
|
||||
log: createLogFunction(console.log),
|
||||
warn: createLogFunction(console.warn),
|
||||
error: createLogFunction(console.error),
|
||||
info: createLogFunction(console.info),
|
||||
debug: createLogFunction(console.debug),
|
||||
dir: createLogFunction(console.dir),
|
||||
log: createLogFunction(console.log, 'log'),
|
||||
dir: createLogFunction(console.dir, 'dir'),
|
||||
warn: createLogFunction(console.warn, 'warn'),
|
||||
info: createLogFunction(console.info, 'info'),
|
||||
error: createLogFunction(console.error, 'error'),
|
||||
debug: createLogFunction(console.debug, 'debug'),
|
||||
};
|
||||
|
||||
function shouldLog(tag: string): boolean {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue