From 96b3904266a203dc88b0f5861cdb9d17e5b9d1cf Mon Sep 17 00:00:00 2001 From: Jkorf Date: Tue, 20 Jan 2026 15:19:42 +0100 Subject: [PATCH] Fixed state handling for subscriptions where queries do not get a response --- CryptoExchange.Net/Clients/SocketApiClient.cs | 3 +++ CryptoExchange.Net/Sockets/Default/SocketConnection.cs | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/CryptoExchange.Net/Clients/SocketApiClient.cs b/CryptoExchange.Net/Clients/SocketApiClient.cs index 4dfddcf..f3f95c9 100644 --- a/CryptoExchange.Net/Clients/SocketApiClient.cs +++ b/CryptoExchange.Net/Clients/SocketApiClient.cs @@ -356,6 +356,9 @@ namespace CryptoExchange.Net.Clients return new CallResult(subResult.Error!); } } + + if (!subQuery.ExpectsResponse) + HandleSubscriptionComplete(true, null); } else { diff --git a/CryptoExchange.Net/Sockets/Default/SocketConnection.cs b/CryptoExchange.Net/Sockets/Default/SocketConnection.cs index 98178e7..196990d 100644 --- a/CryptoExchange.Net/Sockets/Default/SocketConnection.cs +++ b/CryptoExchange.Net/Sockets/Default/SocketConnection.cs @@ -1249,6 +1249,13 @@ namespace CryptoExchange.Net.Sockets.Default }; taskList.Add(SendAndWaitQueryAsync(subQuery)); + + if (!subQuery.ExpectsResponse) + { + // If there won't be an answer we can immediately set this + subscription.Status = SubscriptionStatus.Subscribed; + subscription.HandleSubQueryResponse(this, null); + } } await Task.WhenAll(taskList).ConfigureAwait(false);