mirror of
https://github.com/open-webui/open-webui.git
synced 2026-09-17 23:52:29 +00:00
Fetching a single URL through the Playwright loader (fetch_url tool, a URL attached to a chat, the process/web endpoint) never returned when the page opened a WebSocket. The worker thread stayed at 100% CPU for the life of the process, and every further hit cost another core, so the whole instance got slow. Web search was unaffected, it uses the async loader. The sync loader's websocket route handler called the synchronous close(). Playwright runs websocket route handlers directly on its dispatcher fiber, so that call waited on the very loop it was blocking and busy-spun forever. The handler is now a no-op: a routed socket only reaches the network when the handler asks for it, so the page still cannot dial out, and nothing in the handler waits on the dispatcher any more. Aborting the upgrade request from the HTTP route handler instead does not work, page.route never sees WebSocket handshakes and the connection goes through. Fixes #30024 |
||
|---|---|---|
| .. | ||
| data | ||
| open_webui | ||
| .dockerignore | ||
| .gitignore | ||
| dev.sh | ||
| requirements-slim.txt | ||
| requirements.txt | ||
| start.sh | ||
| start_windows.bat | ||