diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f34e611..bed6722d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,7 @@ - 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 incorrect deletion length in tab autocomplete when completion included emojis. (#6800) +- 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; }