feat: Add Default Temporary Chat User Setting (#10731)

This commit is contained in:
Marco Beretta 2025-12-01 20:12:15 +01:00 committed by Danny Avila
parent 5fac4ffd1c
commit a725fb34da
No known key found for this signature in database
GPG key ID: BF31EEB2C5CA0956
4 changed files with 18 additions and 4 deletions

View file

@ -1,6 +1,7 @@
import { useEffect } from 'react';
import { Spinner } from '@librechat/client';
import { useParams } from 'react-router-dom';
import { useRecoilCallback, useRecoilValue } from 'recoil';
import { Constants, EModelEndpoint } from 'librechat-data-provider';
import { useGetModelsQuery } from 'librechat-data-provider/react-query';
import type { TPreset } from 'librechat-data-provider';
@ -11,13 +12,13 @@ import { ToolCallsMapProvider } from '~/Providers';
import ChatView from '~/components/Chat/ChatView';
import useAuthRedirect from './useAuthRedirect';
import temporaryStore from '~/store/temporary';
import { useRecoilCallback } from 'recoil';
import store from '~/store';
export default function ChatRoute() {
const { data: startupConfig } = useGetStartupConfig();
const { isAuthenticated, user } = useAuthRedirect();
const defaultTemporaryChat = useRecoilValue(temporaryStore.defaultTemporaryChat);
const setIsTemporary = useRecoilCallback(
({ set }) =>
(value: boolean) => {
@ -47,12 +48,14 @@ export default function ChatRoute() {
const isTemporaryChat = conversation && conversation.expiredAt ? true : false;
useEffect(() => {
if (conversationId !== Constants.NEW_CONVO && !isTemporaryChat) {
setIsTemporary(false);
if (conversationId === Constants.NEW_CONVO) {
setIsTemporary(defaultTemporaryChat);
} else if (isTemporaryChat) {
setIsTemporary(isTemporaryChat);
} else {
setIsTemporary(false);
}
}, [conversationId, isTemporaryChat, setIsTemporary]);
}, [conversationId, isTemporaryChat, setIsTemporary, defaultTemporaryChat]);
/** This effect is mainly for the first conversation state change on first load of the page.
* Adjusting this may have unintended consequences on the conversation state.