From a9fa981e96d51da0b2b3b00efcb6e50438a89fb1 Mon Sep 17 00:00:00 2001 From: lollipopkit Date: Tue, 16 May 2023 16:47:21 +0800 Subject: [PATCH] fix: servers missed due to ServerOrder --- lib/data/provider/server.dart | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/data/provider/server.dart b/lib/data/provider/server.dart index ad12bfd3..b6bb2e9e 100644 --- a/lib/data/provider/server.dart +++ b/lib/data/provider/server.dart @@ -61,7 +61,14 @@ class ServerProvider extends BusyProvider { } final serverOrder_ = _settingStore.serverOrder.fetch(); if (serverOrder_ != null) { - serverOrder.addAll(serverOrder_); + serverOrder.addAll(serverOrder_.toSet()); + if (serverOrder.length != infos.length) { + final missed = infos + .where((e) => !serverOrder.contains(e.id)) + .map((e) => e.id) + .toList(); + serverOrder.addAll(missed); + } } else { serverOrder.addAll(_servers.keys); }