From a29f2a2b926cc16db9f8183172aeb5e17c8aa6d0 Mon Sep 17 00:00:00 2001 From: bashonly <88596187+bashonly@users.noreply.github.com> Date: Sun, 27 Sep 2026 15:17:39 -0500 Subject: [PATCH] [rh:websockets] Add legacy `connect` workaround for >=17.1 (#17747) Authored by: bashonly --- yt_dlp/networking/_websockets.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/yt_dlp/networking/_websockets.py b/yt_dlp/networking/_websockets.py index fd8730ac7e..7813c5f9ef 100644 --- a/yt_dlp/networking/_websockets.py +++ b/yt_dlp/networking/_websockets.py @@ -164,6 +164,11 @@ class WebsocketsRH(WebSocketRequestHandler): user_agent_header=None, ssl=ssl_ctx if wsuri.secure else None, close_timeout=0, # not ideal, but prevents yt-dlp hanging + # Workaround for websockets>=17.1 support: + # connect() is intended to be used as a context manager and other usage has been deprecated. + # The `legacy` flag was added in 17.1 for backwards compat and has not yet been deprecated. + # Ref: https://github.com/python-websockets/websockets/commit/1f7f0e537233ac82e4ca51921678963c696c8c08 + **({'legacy': True} if websockets_version >= (17, 1) else {}), ) return WebsocketsResponseAdapter(conn, url=request.url)