Preserve complex profile items during deduplication
Some checks failed
release Linux / build (push) Has been cancelled
release Linux / build and release deb x64 & arm64 (push) Has been cancelled
release Linux / build and release rpm x64 & arm64 (push) Has been cancelled
release Linux / build and release rpm riscv64 (push) Has been cancelled
release macOS / build (push) Has been cancelled
release Windows desktop (Avalonia UI) / build (push) Has been cancelled
release Windows / build (push) Has been cancelled
release Linux / release-zip (push) Has been cancelled
release macOS / release-zip (push) Has been cancelled
release macOS / package and release macOS dmg (push) Has been cancelled
release Windows desktop (Avalonia UI) / release-zip (push) Has been cancelled
release Windows / release-zip (push) Has been cancelled

https://github.com/2dust/v2rayN/issues/9184
This commit is contained in:
2dust 2026-04-25 10:55:51 +08:00
parent 0af29f50c0
commit 6e85f79852

View file

@ -1041,13 +1041,19 @@ public static class ConfigHandler
foreach (var item in lstProfile) foreach (var item in lstProfile)
{ {
if (!lstKeep.Exists(i => CompareProfileItem(i, item, false))) if (item.IsComplex())
{ {
lstKeep.Add(item); lstKeep.Add(item);
continue;
}
if (lstKeep.Exists(i => CompareProfileItem(i, item, false)))
{
lstRemove.Add(item);
} }
else else
{ {
lstRemove.Add(item); lstKeep.Add(item);
} }
} }
await RemoveServers(config, lstRemove); await RemoveServers(config, lstRemove);