From 6f3a2bb78dcfadeee2bee48bae634ee2f390c278 Mon Sep 17 00:00:00 2001 From: Yegor Vialov Date: Fri, 29 Nov 2019 11:24:29 +0000 Subject: [PATCH] Fix timeout handling on socket message send --- lib/managers/connection_manager.class.dart | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/managers/connection_manager.class.dart b/lib/managers/connection_manager.class.dart index 3416124..4f437f8 100644 --- a/lib/managers/connection_manager.class.dart +++ b/lib/managers/connection_manager.class.dart @@ -324,17 +324,12 @@ class ConnectionManager { _messageResolver[callbackName] = _completer; String rawMessage = json.encode(dataObject); if (!isConnected) { - //TODO fix onTImeout - _connect().timeout(connectTimeout, onTimeout: (){ - if (!_completer.isCompleted) { - _completer.completeError(HAError("No connection to Home Assistant", actions: [HAErrorAction.reconnect()])); - } - }).then((_) { + _connect().timeout(connectTimeout).then((_) { Logger.d("[Sending] ==> ${auth ? "type="+dataObject['type'] : rawMessage}"); _socket.sink.add(rawMessage); }).catchError((e) { if (!_completer.isCompleted) { - _completer.completeError(e); + _completer.completeError(HAError("No connection to Home Assistant", actions: [HAErrorAction.reconnect()])); } }); } else {