mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-04-29 20:20:57 +00:00
bug(cli): Prefer IPv4 dns resolution by default. (#5338)
This commit is contained in:
parent
9382334a5e
commit
67d16992cf
4 changed files with 108 additions and 1 deletions
|
|
@ -777,6 +777,48 @@ describe('Settings Loading and Merging', () => {
|
|||
}
|
||||
});
|
||||
|
||||
it('should correctly merge dnsResolutionOrder with workspace taking precedence', () => {
|
||||
(mockFsExistsSync as Mock).mockReturnValue(true);
|
||||
const userSettingsContent = {
|
||||
dnsResolutionOrder: 'ipv4first',
|
||||
};
|
||||
const workspaceSettingsContent = {
|
||||
dnsResolutionOrder: 'verbatim',
|
||||
};
|
||||
|
||||
(fs.readFileSync as Mock).mockImplementation(
|
||||
(p: fs.PathOrFileDescriptor) => {
|
||||
if (p === USER_SETTINGS_PATH)
|
||||
return JSON.stringify(userSettingsContent);
|
||||
if (p === MOCK_WORKSPACE_SETTINGS_PATH)
|
||||
return JSON.stringify(workspaceSettingsContent);
|
||||
return '{}';
|
||||
},
|
||||
);
|
||||
|
||||
const settings = loadSettings(MOCK_WORKSPACE_DIR);
|
||||
expect(settings.merged.dnsResolutionOrder).toBe('verbatim');
|
||||
});
|
||||
|
||||
it('should use user dnsResolutionOrder if workspace is not defined', () => {
|
||||
(mockFsExistsSync as Mock).mockImplementation(
|
||||
(p: fs.PathLike) => p === USER_SETTINGS_PATH,
|
||||
);
|
||||
const userSettingsContent = {
|
||||
dnsResolutionOrder: 'verbatim',
|
||||
};
|
||||
(fs.readFileSync as Mock).mockImplementation(
|
||||
(p: fs.PathOrFileDescriptor) => {
|
||||
if (p === USER_SETTINGS_PATH)
|
||||
return JSON.stringify(userSettingsContent);
|
||||
return '{}';
|
||||
},
|
||||
);
|
||||
|
||||
const settings = loadSettings(MOCK_WORKSPACE_DIR);
|
||||
expect(settings.merged.dnsResolutionOrder).toBe('verbatim');
|
||||
});
|
||||
|
||||
it('should leave unresolved environment variables as is', () => {
|
||||
const userSettingsContent = { apiKey: '$UNDEFINED_VAR' };
|
||||
(mockFsExistsSync as Mock).mockImplementation(
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@ export function getSystemSettingsPath(): string {
|
|||
}
|
||||
}
|
||||
|
||||
export type DnsResolutionOrder = 'ipv4first' | 'verbatim';
|
||||
|
||||
export enum SettingScope {
|
||||
User = 'User',
|
||||
Workspace = 'Workspace',
|
||||
|
|
@ -110,6 +112,7 @@ export interface Settings {
|
|||
disableAutoUpdate?: boolean;
|
||||
|
||||
memoryDiscoveryMaxDirs?: number;
|
||||
dnsResolutionOrder?: DnsResolutionOrder;
|
||||
}
|
||||
|
||||
export interface SettingsError {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue