diff --git a/packages/data-schemas/src/app/interface.spec.ts b/packages/data-schemas/src/app/interface.spec.ts index 3d59f394a5..9e289d289b 100644 --- a/packages/data-schemas/src/app/interface.spec.ts +++ b/packages/data-schemas/src/app/interface.spec.ts @@ -3,6 +3,45 @@ import type { TCustomConfig } from 'librechat-data-provider'; import { loadDefaultInterface } from './interface'; describe('loadDefaultInterface', () => { + it('uses the schema default for URL auto-submit when not configured', async () => { + const interfaceConfig = await loadDefaultInterface({ + config: {}, + configDefaults: getConfigDefaults(), + }); + + expect(interfaceConfig?.autoSubmitFromUrl).toBe(true); + }); + + it('preserves disabled URL auto-submit config', async () => { + const config: Partial = { + interface: { + autoSubmitFromUrl: false, + }, + }; + + const interfaceConfig = await loadDefaultInterface({ + config, + configDefaults: getConfigDefaults(), + }); + + expect(interfaceConfig?.autoSubmitFromUrl).toBe(false); + }); + + it('preserves enabled URL auto-submit config', async () => { + const config: Partial = { + interface: { + autoSubmitFromUrl: true, + }, + }; + + const interfaceConfig = await loadDefaultInterface({ + config, + configDefaults: getConfigDefaults(), + }); + + expect(interfaceConfig?.autoSubmitFromUrl).toBe(true); + }); + it('preserves the configured temporary chat retention period', async () => { const config: Partial = { interface: { diff --git a/packages/data-schemas/src/app/interface.ts b/packages/data-schemas/src/app/interface.ts index f5ea50fb25..4e719e8ac5 100644 --- a/packages/data-schemas/src/app/interface.ts +++ b/packages/data-schemas/src/app/interface.ts @@ -38,6 +38,7 @@ export async function loadDefaultInterface({ termsOfService: interfaceConfig?.termsOfService ?? defaults.termsOfService, mcpServers: interfaceConfig?.mcpServers ?? defaults.mcpServers, customWelcome: interfaceConfig?.customWelcome ?? defaults.customWelcome, + autoSubmitFromUrl: interfaceConfig?.autoSubmitFromUrl ?? defaults.autoSubmitFromUrl, // Permissions and related settings - only include if explicitly configured bookmarks: interfaceConfig?.bookmarks,