From d36c3a83a9005a1cf24551e0adfc9eb0a75666ef Mon Sep 17 00:00:00 2001 From: Dyna <108321411+Ahaohaohao@users.noreply.github.com> Date: Sun, 6 Jul 2025 11:01:05 +0800 Subject: [PATCH] fix:DNS override server support is left blank by default (#3997) * fix:DNS server support being left blank by default * update logs --- UPDATELOG.md | 1 + src/components/setting/mods/dns-viewer.tsx | 21 +++++---------------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/UPDATELOG.md b/UPDATELOG.md index baa46676..363a16f9 100644 --- a/UPDATELOG.md +++ b/UPDATELOG.md @@ -10,6 +10,7 @@ - 修复导入订阅时非 http 协议链接被错误尝试导入 - 修复切换节点后页面长时间 loading 及缓存过期导致的数据不同步问题 - 修复将快捷键名称更名为 `Clash Verge`之后无法删除图标和无法删除注册表 +- 修复`DNS`覆写服务器支持默认留空 ### ✨ 新增功能 diff --git a/src/components/setting/mods/dns-viewer.tsx b/src/components/setting/mods/dns-viewer.tsx index 625e88eb..10e475e8 100644 --- a/src/components/setting/mods/dns-viewer.tsx +++ b/src/components/setting/mods/dns-viewer.tsx @@ -442,7 +442,7 @@ export const DnsViewer = forwardRef((props, ref) => { // 解析列表字符串为数组 const parseList = (str: string): string[] => { - if (!str) return []; + if (!str?.trim()) return []; return str .split(",") .map((item) => item.trim()) @@ -472,28 +472,17 @@ export const DnsViewer = forwardRef((props, ref) => { ipcidr: parseList(values.fallbackIpcidr), domain: parseList(values.fallbackDomain), }, - }; - // 只在有值时添加其他可选字段 - if (values.fallback) { - dnsConfig["fallback"] = parseList(values.fallback); - } + fallback: parseList(values.fallback), + "proxy-server-nameserver": parseList(values.proxyServerNameserver), + "direct-nameserver": parseList(values.directNameserver), + }; const policy = parseNameserverPolicy(values.nameserverPolicy); if (Object.keys(policy).length > 0) { dnsConfig["nameserver-policy"] = policy; } - if (values.proxyServerNameserver) { - dnsConfig["proxy-server-nameserver"] = parseList( - values.proxyServerNameserver, - ); - } - - if (values.directNameserver) { - dnsConfig["direct-nameserver"] = parseList(values.directNameserver); - } - return dnsConfig; };