🐛(backend) put a timeout on every LiveKit API call

The SDK passes timeout=None to aiohttp on every call, so a
LiveKit that stops answering held a worker until the kernel
gave up. A client middleware now bounds each request, its
answer included, and the client closes the session it is
given, which fixes #1648.
This commit is contained in:
davd-gzl
2026-09-29 14:25:26 +09:00
committed by briquet
parent 5c371e8ad8
commit 5e2fde5792
7 changed files with 161 additions and 59 deletions
+1
View File
@@ -405,6 +405,7 @@ These are the environmental options available on meet backend.
| LIVEKIT_API_SECRET | LiveKit API secret | |
| LIVEKIT_API_URL | LiveKit API URL | |
| LIVEKIT_VERIFY_SSL | Verify SSL for LiveKit connections | true |
| LIVEKIT_API_TIMEOUT_SECONDS | Seconds before a call to the LiveKit API gives up | 10 |
| LIVEKIT_FORCE_WSS_PROTOCOL | Enables WSS protocol conversion for legacy browser compatibility (Firefox <124, Chrome <125, Edge <125) where HTTPS URLs fail in WebSocket() constructor. | false |
| LIVEKIT_ENABLE_FIREFOX_PROXY_WORKAROUND | Firefox-only connection warmup: pre-calls WebSocket endpoint (expecting 401) to initialize cache, resolving proxy/network connectivity issues. | false |
| RESOURCE_DEFAULT_ACCESS_LEVEL | Default resource access level for rooms | public |