Skip to content

Commit be11b4c

Browse files
committed
fix(graphql): resolve duplicate events on socket reconnect
Resolved an issue in WebSocketClient where multiple listeners were added to `waitForConnectedState` when socket reconnects after subscription been requtesed with disconnected socket, causing duplicate events to be received by subscriptions.
1 parent 1003c4b commit be11b4c

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

packages/graphql/lib/src/links/websocket_link/websocket_client.dart

+1
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,7 @@ class SocketClient {
502502
)
503503
: waitForConnectedStateWithoutTimeout;
504504

505+
sub?.cancel();
505506
sub = waitForConnectedState.listen((_) {
506507
final Stream<GraphQLSocketMessage> dataErrorComplete = _messages.where(
507508
(GraphQLSocketMessage message) {

0 commit comments

Comments
 (0)