fix(subClashService): improve merging of clash rules in YAML (#5054)

This commit is contained in:
shazzreab
2026-06-08 15:56:25 +08:00
committed by GitHub
parent d739bcf71e
commit 98ba88037c

View File

@@ -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))