diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index ea5c0d8929..2d04729d8c 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -11,6 +11,9 @@ - Deprecated `message.reactionCounts`, `message.reactionScores` in favor of `message.reactionGroups`. +🐞 Fixed +- `Null check operator used on a null value` in Websocket connect. + ## 9.10.0 🐞 Fixed diff --git a/packages/stream_chat/lib/src/ws/websocket.dart b/packages/stream_chat/lib/src/ws/websocket.dart index ec47bfbacc..f4c4cd8751 100644 --- a/packages/stream_chat/lib/src/ws/websocket.dart +++ b/packages/stream_chat/lib/src/ws/websocket.dart @@ -210,7 +210,7 @@ class WebSocket with TimerHelper { Future connect( User user, { bool includeUserDetails = false, - }) async { + }) { if (_connectRequestInProgress) { throw const StreamWebSocketError(''' You've called connect twice, @@ -222,8 +222,17 @@ class WebSocket with TimerHelper { _user = user; _connectionStatus = ConnectionStatus.connecting; + connectionCompleter = Completer(); + _setupConnection(includeUserDetails: includeUserDetails); + + return connectionCompleter!.future; + } + + Future _setupConnection({ + required bool includeUserDetails, + }) async { try { final uri = await _buildUri( includeUserDetails: includeUserDetails, @@ -233,8 +242,6 @@ class WebSocket with TimerHelper { } catch (e, stk) { _onConnectionError(e, stk); } - - return connectionCompleter!.future; } int _reconnectAttempt = 0;