From 56b3506da35027bce26f6a6e3efc8ecd7e0384d4 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Tue, 15 Mar 2022 15:56:26 +0100 Subject: [PATCH] fix(llc): ensure reconnection is automatic --- packages/stream_chat/lib/src/client/client.dart | 1 - packages/stream_chat/lib/src/ws/websocket.dart | 7 ++++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/stream_chat/lib/src/client/client.dart b/packages/stream_chat/lib/src/client/client.dart index 00b0433b..c3605ac5 100644 --- a/packages/stream_chat/lib/src/client/client.dart +++ b/packages/stream_chat/lib/src/client/client.dart @@ -374,7 +374,6 @@ class StreamChatClient { final event = await _ws.connect(user); return user.merge(event.me); } catch (e, stk) { - _wsConnectionStatus = ConnectionStatus.disconnected; logger.severe('error connecting ws', e, stk); rethrow; } diff --git a/packages/stream_chat/lib/src/ws/websocket.dart b/packages/stream_chat/lib/src/ws/websocket.dart index 20d54879..28f99fc5 100644 --- a/packages/stream_chat/lib/src/ws/websocket.dart +++ b/packages/stream_chat/lib/src/ws/websocket.dart @@ -112,6 +112,7 @@ class WebSocket with TimerHelper { if (_webSocketChannel != null) { _closeWebSocketChannel(); } + // throw Error(); _webSocketChannel = webSocketChannelProvider?.call(uri) ?? WebSocketChannel.connect(uri); _subscribeToWebSocketChannel(); @@ -220,7 +221,11 @@ class WebSocket with TimerHelper { Duration(milliseconds: delay), () async { final uri = await _buildUri(refreshToken: refreshToken); - _initWebSocketChannel(uri); + try { + _initWebSocketChannel(uri); + } catch (e, stk) { + _onConnectionError(e, stk); + } }, ); }