mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-20 02:10:15 +01:00
🛡️ fix: Preset and Validation Logic for URL Query Params (#7407)
* chore(store/families): linting * refactor: Update `createChatSearchParams` to use `tQueryParamsSchema` for allowed parameters and add `modelLabel` to schema * refactor: Enhance `useQueryParams` to streamline parameter processing and improve submission handling * chore: linting * fix: Add `disableParams` option to conversation handling and related schemas to prevent search params from updating due to use of default preset * fix: Update `createChatSearchParams` to correctly ignore `agent_id` when it matches `EPHEMERAL_AGENT_ID` * chore: revert modelLabel addition to query params, as no longer necessary due to `disableParams` * fix: Refine logic for `disableParams` to ensure correct handling of active preset comparison * fix: Add `disableParams` option to `NewConversationParams` and update related hooks for preset handling * fix: Refactor validation logic in `validateSettingDefinitions` to improve handling of `includeInput` and update conversation schema * fix: Bump version of `librechat-data-provider` to 0.7.83
This commit is contained in:
parent
7a91f6ca62
commit
2f4a03b581
13 changed files with 126 additions and 112 deletions
|
|
@ -71,6 +71,7 @@ const useNewConvo = (index = 0) => {
|
|||
keepLatestMessage?: boolean,
|
||||
keepAddedConvos?: boolean,
|
||||
disableFocus?: boolean,
|
||||
_disableParams?: boolean,
|
||||
) => {
|
||||
const modelsConfig = modelsData ?? modelsQuery.data;
|
||||
const { endpoint = null } = conversation;
|
||||
|
|
@ -87,6 +88,12 @@ const useNewConvo = (index = 0) => {
|
|||
? defaultPreset
|
||||
: preset;
|
||||
|
||||
const disableParams =
|
||||
_disableParams ??
|
||||
(activePreset?.presetId != null &&
|
||||
activePreset.presetId &&
|
||||
activePreset.presetId === defaultPreset?.presetId);
|
||||
|
||||
if (buildDefaultConversation) {
|
||||
let defaultEndpoint = getDefaultEndpoint({
|
||||
convoSetup: activePreset ?? conversation,
|
||||
|
|
@ -148,6 +155,10 @@ const useNewConvo = (index = 0) => {
|
|||
});
|
||||
}
|
||||
|
||||
if (disableParams === true) {
|
||||
conversation.disableParams = true;
|
||||
}
|
||||
|
||||
if (!(keepAddedConvos ?? false)) {
|
||||
clearAllConversations(true);
|
||||
}
|
||||
|
|
@ -160,7 +171,7 @@ const useNewConvo = (index = 0) => {
|
|||
);
|
||||
setConversation({
|
||||
...conversation,
|
||||
conversationId: 'new',
|
||||
conversationId: Constants.NEW_CONVO as string,
|
||||
});
|
||||
} else {
|
||||
logger.log('conversation', 'Setting conversation from `useNewConvo`', conversation);
|
||||
|
|
@ -205,6 +216,7 @@ const useNewConvo = (index = 0) => {
|
|||
buildDefault = true,
|
||||
keepLatestMessage = false,
|
||||
keepAddedConvos = false,
|
||||
disableParams,
|
||||
}: {
|
||||
template?: Partial<TConversation>;
|
||||
preset?: Partial<TPreset>;
|
||||
|
|
@ -213,6 +225,7 @@ const useNewConvo = (index = 0) => {
|
|||
disableFocus?: boolean;
|
||||
keepLatestMessage?: boolean;
|
||||
keepAddedConvos?: boolean;
|
||||
disableParams?: boolean;
|
||||
} = {}) {
|
||||
pauseGlobalAudio();
|
||||
if (!saveBadgesState) {
|
||||
|
|
@ -282,17 +295,19 @@ const useNewConvo = (index = 0) => {
|
|||
keepLatestMessage,
|
||||
keepAddedConvos,
|
||||
disableFocus,
|
||||
disableParams,
|
||||
);
|
||||
},
|
||||
[
|
||||
pauseGlobalAudio,
|
||||
startupConfig,
|
||||
saveDrafts,
|
||||
switchToConversation,
|
||||
files,
|
||||
setFiles,
|
||||
saveDrafts,
|
||||
mutateAsync,
|
||||
resetBadges,
|
||||
startupConfig,
|
||||
saveBadgesState,
|
||||
pauseGlobalAudio,
|
||||
switchToConversation,
|
||||
],
|
||||
);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue