From 2083a0b2ab06f75eb9e0e389c0498d7b12c9c381 Mon Sep 17 00:00:00 2001 From: Richard Allen Date: Wed, 28 Jan 2026 09:40:03 -0600 Subject: [PATCH] fix(websocket): Fix close function with auto-reconnect-on-close If auto-reconnect-on-close is configured, just close the current connection. Do not try to stop the client. --- components/esp_websocket_client/esp_websocket_client.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/components/esp_websocket_client/esp_websocket_client.c b/components/esp_websocket_client/esp_websocket_client.c index 3c866dea29..eb09c2f0f5 100644 --- a/components/esp_websocket_client/esp_websocket_client.c +++ b/components/esp_websocket_client/esp_websocket_client.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2015-2026 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -1468,6 +1468,11 @@ static esp_err_t esp_websocket_client_close_with_optional_body(esp_websocket_cli // Set closing bit to prevent from sending PING frames while connected xEventGroupSetBits(client->status_bits, CLOSE_FRAME_SENT_BIT); + if (client->config->auto_reconnect && client->config->close_reconnect) { + // Client does not stop(STOPPED_BIT) with auto-reconnect-on-close + return ESP_OK; + } + if (STOPPED_BIT & xEventGroupWaitBits(client->status_bits, STOPPED_BIT, false, true, timeout)) { return ESP_OK; }