From b281c541b26068be8221b195645bf4292f3ee724 Mon Sep 17 00:00:00 2001 From: Agent Zero Date: Mon, 27 Jul 2026 01:45:08 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20remove=20Request=20param=20from=20=5Fche?= =?UTF-8?q?ck()=20=E2=80=94=20WebSocket=20can't=20resolve=20Request=20depe?= =?UTF-8?q?ndency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Request parameter caused TypeError on WebSocket routes because FastAPI cannot inject Request into WebSocket scope. Reverted to parameterless _check(). WebSocket 403 is handled by CSRF middleware which already skips WebSocket upgrade requests. --- app/deps.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/deps.py b/app/deps.py index 48d68a8..a2b2f3c 100644 --- a/app/deps.py +++ b/app/deps.py @@ -237,11 +237,7 @@ def require_active_plugin(plugin_name: str): already have their own auth dependencies (require_permission, etc.). This check only verifies plugin activation status. """ - async def _check(request: Request) -> None: - # Skip plugin check for WebSocket connections — WS auth is handled - # inside the endpoint itself via session cookie verification. - if request.headers.get("upgrade", "").lower() == "websocket": - return + async def _check() -> None: from app.core.permission_registry import get_permission_registry try: registry = get_permission_registry()