Fix the problem that the proxy group is empty in global mode.

(cherry picked from commit ca96cd1d82)
This commit is contained in:
chen08209
2024-05-03 23:07:38 +08:00
parent d711935e2e
commit a904b55d11

View File

@@ -74,15 +74,12 @@ class ClashCore {
final proxiesRawString = proxiesRaw.cast<Utf8>().toDartString();
return Isolate.run<List<Group>>(() {
final proxies = json.decode(proxiesRawString);
final groupsRaw = (proxies[UsedProxy.GLOBAL.name]["all"] as List)
.where((e) {
final groupNames =
(proxies[UsedProxy.GLOBAL.name]["all"] as List).where((e) {
final proxy = proxies[e];
final excludeName = !UsedProxyExtension.valueList
.where((element) => element != UsedProxy.GLOBAL.name)
.contains(proxy['name']);
final validType = GroupTypeExtension.valueList.contains(proxy['type']);
return excludeName && validType;
}).map((groupName) {
return GroupTypeExtension.valueList.contains(proxy['type']);
});
final groupsRaw = [UsedProxy.GLOBAL.name, ...groupNames].map((groupName) {
final group = proxies[groupName];
group["all"] = ((group["all"] ?? []) as List)
.map(