diff --git a/flutter/lib/models/server_model.dart b/flutter/lib/models/server_model.dart index 3f5fb43f9..6867aa6fe 100644 --- a/flutter/lib/models/server_model.dart +++ b/flutter/lib/models/server_model.dart @@ -410,18 +410,25 @@ class ServerModel with ChangeNotifier { updateClientState([String? json]) async { if (isTest) return; var res = await bind.cmGetClientsState(); + List clientsJson; try { - final List clientsJson = jsonDecode(res); - _clients.clear(); - tabController.state.value.tabs.clear(); - for (var clientJson in clientsJson) { + clientsJson = jsonDecode(res); + } catch (e) { + debugPrint("Failed to decode clientsJson: '$res', error $e"); + return; + } + + _clients.clear(); + tabController.state.value.tabs.clear(); + + for (var clientJson in clientsJson) { + try { final client = Client.fromJson(clientJson); _clients.add(client); _addTab(client); + } catch (e) { + debugPrint("Failed to decode clientJson '$clientJson', error $e"); } - notifyListeners(); - } catch (e) { - debugPrint("Failed to updateClientState:$e"); } }