From a8edcdde6200eb80f663803d253e1468cb90c4d5 Mon Sep 17 00:00:00 2001 From: Nerixyz Date: Sat, 14 Feb 2026 12:51:40 +0100 Subject: [PATCH] fix(websockets): Close stream before attempting to connect again (#6805) --- CHANGELOG.md | 1 + src/common/websockets/detail/WebSocketConnectionImpl.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eff5d4c0..d9c6056b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,7 @@ - Bugfix: Disable "Sort Tabs Alphabetically" action when notebook layout is locked. (#6710) - Bugfix: Fix highlight mentions not updating when username changes. (#6723, #6739) - Bugfix: Fixed Return and Enter being treated as different keys on Mac OS. (#6726) +- Bugfix: Fixed WebSockets for 7TV or BTTV not connecting on Windows if IPv6 attempts fail. (#6805) - Bugfix: Fixed portable updates not showing an error if the updater is not present. (#6801) - Dev: Nightly builds are now defined through a build flag rather than the Modes file. (#6798) - Dev: Update release documentation. (#6498) diff --git a/src/common/websockets/detail/WebSocketConnectionImpl.cpp b/src/common/websockets/detail/WebSocketConnectionImpl.cpp index 2aef3e27..d73c7b3b 100644 --- a/src/common/websockets/detail/WebSocketConnectionImpl.cpp +++ b/src/common/websockets/detail/WebSocketConnectionImpl.cpp @@ -143,6 +143,14 @@ void WebSocketConnectionHelper::onTcpHandshake( qCDebug(chatterinoWebsocket) << *this << "error in tcp handshake" << ep.address().to_string() << ec.message(); + + beast::get_lowest_layer(this->stream).socket().close(ec); + if (ec) + { + qCDebug(chatterinoWebsocket) + << *this << "closing websocket after error" << ec.message(); + } + this->tryConnect(++endpointIterator); return; }