From c4a0b165535f98ffcd63d1c9d1646178304a0dee Mon Sep 17 00:00:00 2001 From: Yegor Vialov Date: Fri, 29 May 2020 18:26:20 +0000 Subject: [PATCH] Resolves #567 Login connection timeout issue --- lib/managers/app_settings.dart | 2 +- lib/managers/connection_manager.class.dart | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/managers/app_settings.dart b/lib/managers/app_settings.dart index 91850f0..181b761 100644 --- a/lib/managers/app_settings.dart +++ b/lib/managers/app_settings.dart @@ -108,7 +108,7 @@ class AppSettings { Hive.box(DEFAULT_HIVE_BOX).delete(AUTH_TOKEN_KEY); } - Future saveLongLivedToken(token) async { + void saveLongLivedToken(token) { longLivedToken = token; tempToken = null; Hive.box(DEFAULT_HIVE_BOX).put(AUTH_TOKEN_KEY, longLivedToken); diff --git a/lib/managers/connection_manager.class.dart b/lib/managers/connection_manager.class.dart index 2458540..7840f18 100644 --- a/lib/managers/connection_manager.class.dart +++ b/lib/managers/connection_manager.class.dart @@ -254,6 +254,7 @@ class ConnectionManager { sendSocketMessage(type: "auth/long_lived_access_token", additionalData: {"client_name": "HA Client app ${DateTime.now().millisecondsSinceEpoch}", "lifespan": 365}).then((data) { Logger.d("Got long-lived token."); AppSettings().saveLongLivedToken(data); + completer.complete(); }).catchError((e) { completer.completeError(HACException("Authentication error: $e", actions: [HAErrorAction.reload(title: "Retry"), HAErrorAction.loginAgain(title: "Relogin")])); });