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); + } }, ); }