Reconnect the gateway with the default URL during 500s

Fix #10511
This commit is contained in:
Rapptz
2026-09-01 05:17:34 -04:00
parent 1add8a0b40
commit 65232c3870
+13 -1
View File
@@ -390,7 +390,19 @@ class DiscordWebSocket:
v=INTERNAL_API_VERSION, encoding=encoding, compress=utils._ActiveDecompressionContext.COMPRESSION_TYPE v=INTERNAL_API_VERSION, encoding=encoding, compress=utils._ActiveDecompressionContext.COMPRESSION_TYPE
) )
socket = await client.http.ws_connect(str(url)) try:
socket = await client.http.ws_connect(str(url))
except aiohttp.WSServerHandshakeError as e:
# If the server errors out while connecting while under a non-default URL
# due to resume_gateway_url, then fallback to the older default
# See #10511
if e.status >= 500 and gateway != cls.DEFAULT_GATEWAY:
socket = await client.http.ws_connect(str(cls.DEFAULT_GATEWAY))
gateway = cls.DEFAULT_GATEWAY
resume = False
else:
raise e
ws = cls(socket, loop=client.loop) ws = cls(socket, loop=client.loop)
# dynamically add attributes needed # dynamically add attributes needed