From 98ba88037c8f92fd174f06ae3bbc67dff55310f8 Mon Sep 17 00:00:00 2001 From: shazzreab <141734382+shazzreab@users.noreply.github.com> Date: Mon, 8 Jun 2026 15:56:25 +0800 Subject: [PATCH] fix(subClashService): improve merging of clash rules in YAML (#5054) --- sub/subClashService.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sub/subClashService.go b/sub/subClashService.go index c15639bf..23518fa3 100644 --- a/sub/subClashService.go +++ b/sub/subClashService.go @@ -573,10 +573,14 @@ func mergeClashRulesYAML(base map[string]any, raw string) error { case []any: mergeClashRules(base, typed) case map[string]any: - if rules, ok := typed["rules"]; ok { - if ruleList, ok := asAnySlice(rules); ok { - mergeClashRules(base, ruleList) + for key, value := range typed { + if key == "rules" { + if ruleList, ok := asAnySlice(value); ok { + mergeClashRules(base, ruleList) + } + continue } + base[key] = value } default: mergeClashRules(base, linesToClashRules(raw))