From 0f26809ddccc7f778a30bd46ddfd92768dae8f97 Mon Sep 17 00:00:00 2001 From: Krille Fear Date: Tue, 16 Nov 2021 13:20:58 +0100 Subject: [PATCH] chore: Disable sembast cooperator at start up --- analysis_options.yaml | 1 - lib/utils/client_manager.dart | 26 ++++++++++---------------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index 816393d6..54295378 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -11,7 +11,6 @@ linter: analyzer: errors: - implementation_imports: ignore todo: ignore exclude: - lib/generated_plugin_registrant.dart diff --git a/lib/utils/client_manager.dart b/lib/utils/client_manager.dart index 6146d6ac..279fc0cb 100644 --- a/lib/utils/client_manager.dart +++ b/lib/utils/client_manager.dart @@ -5,7 +5,7 @@ import 'package:flutter/foundation.dart'; import 'package:hive_flutter/hive_flutter.dart'; import 'package:matrix/encryption/utils/key_verification.dart'; import 'package:matrix/matrix.dart'; -import 'package:matrix/src/utils/run_benchmarked.dart'; +import 'package:sembast/sembast.dart'; import 'package:path_provider/path_provider.dart'; import 'package:fluffychat/utils/platform_infos.dart'; @@ -24,10 +24,7 @@ abstract class ClientManager { } final clientNames = {}; try { - final rawClientNames = await runBenchmarked( - 'Get client names', - () => Store().getItem(clientNamespace), - ); + final rawClientNames = await Store().getItem(clientNamespace); if (rawClientNames != null) { final clientNamesList = (jsonDecode(rawClientNames) as List).cast(); @@ -42,13 +39,14 @@ abstract class ClientManager { await Store().setItem(clientNamespace, jsonEncode(clientNames.toList())); } final clients = clientNames.map(createClient).toList(); - await Future.wait(clients.map((client) => runBenchmarked( - 'Init client ${client.clientName}', - () => client.init( - waitForFirstSync: false, - waitUntilLoadCompletedLoaded: false, - )) + disableSembastCooperator(); + await Future.wait(clients.map((client) => client + .init( + waitForFirstSync: false, + waitUntilLoadCompletedLoaded: false, + ) .catchError((e, s) => Logs().e('Unable to initialize client', e, s)))); + enableSembastCooperator(); if (clients.length > 1 && clients.any((c) => !c.isLogged())) { final loggedOutClients = clients.where((c) => !c.isLogged()).toList(); for (final client in loggedOutClients) { @@ -57,11 +55,7 @@ abstract class ClientManager { clientNames.remove(client.clientName); clients.remove(client); } - await runBenchmarked( - 'Update clientNamespaces', - () => - Store().setItem(clientNamespace, jsonEncode(clientNames.toList())), - ); + await Store().setItem(clientNamespace, jsonEncode(clientNames.toList())); } return clients; }