diff --git a/packages/data-schemas/src/app/interface.spec.ts b/packages/data-schemas/src/app/interface.spec.ts new file mode 100644 index 0000000000..3d59f394a5 --- /dev/null +++ b/packages/data-schemas/src/app/interface.spec.ts @@ -0,0 +1,29 @@ +import { getConfigDefaults } from 'librechat-data-provider'; +import type { TCustomConfig } from 'librechat-data-provider'; +import { loadDefaultInterface } from './interface'; + +describe('loadDefaultInterface', () => { + it('preserves the configured temporary chat retention period', async () => { + const config: Partial = { + interface: { + temporaryChatRetention: 24, + }, + }; + + const interfaceConfig = await loadDefaultInterface({ + config, + configDefaults: getConfigDefaults(), + }); + + expect(interfaceConfig?.temporaryChatRetention).toBe(24); + }); + + it('omits temporary chat retention when it is not explicitly configured', async () => { + const interfaceConfig = await loadDefaultInterface({ + config: {}, + configDefaults: getConfigDefaults(), + }); + + expect(interfaceConfig).not.toHaveProperty('temporaryChatRetention'); + }); +}); diff --git a/packages/data-schemas/src/app/interface.ts b/packages/data-schemas/src/app/interface.ts index 8768f6fcae..f5ea50fb25 100644 --- a/packages/data-schemas/src/app/interface.ts +++ b/packages/data-schemas/src/app/interface.ts @@ -39,13 +39,14 @@ export async function loadDefaultInterface({ mcpServers: interfaceConfig?.mcpServers ?? defaults.mcpServers, customWelcome: interfaceConfig?.customWelcome ?? defaults.customWelcome, - // Permissions - only include if explicitly configured + // Permissions and related settings - only include if explicitly configured bookmarks: interfaceConfig?.bookmarks, memories: shouldDisableMemories ? false : interfaceConfig?.memories, prompts: interfaceConfig?.prompts, multiConvo: interfaceConfig?.multiConvo, agents: interfaceConfig?.agents, temporaryChat: interfaceConfig?.temporaryChat, + temporaryChatRetention: interfaceConfig?.temporaryChatRetention, runCode: interfaceConfig?.runCode, webSearch: interfaceConfig?.webSearch, fileSearch: interfaceConfig?.fileSearch,