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); }