open-webui/backend/open_webui/retrieval/web
Classic298 ae01ef9c95
fix: skip image, media and font requests in the Playwright web loader (#29742)
Fetching a page with many media files through the Playwright web loader was extremely slow or timed out, while raw Playwright loaded the same page in a couple of seconds. The loader routes every request the page makes through the backend HTTP client and downloads the full body before the browser sees any of it, and the browser cancelling a media request once it has enough never reaches that download. On a page with a few dozen audio players every file was pulled in full for a text extraction that never reads it.

Image, media and font requests are now aborted in the interceptor before any fetch is made. None of them feed the text extraction. Measured on the page from the report with the default timeout on the same connection:

| | requests fetched | bytes downloaded | elapsed |
|---|---|---|---|
| before | 151 | 55.0 MB | 10.1 s |
| after | 45 | 3.9 MB | 2.6 s |

Fixes #29741
2026-09-06 17:01:00 -05:00
..
azure.py refac: modernize type annotations (PEP 604 / PEP 585) 2026-05-12 17:10:15 +09:00
bing.py chore: format 2026-06-01 13:56:55 -07:00
bocha.py refac 2026-07-31 17:41:14 -04:00
brave.py refac 2026-08-31 00:40:15 -04:00
brave_llm_context.py feat: brave search llm context 2026-05-09 06:34:25 +09:00
duckduckgo.py refac 2026-09-06 17:21:57 -04:00
exa.py perf: build info log messages lazily so raising the log level actually saves work (#27837) 2026-08-02 15:39:10 -05:00
external.py perf: build info log messages lazily so raising the log level actually saves work (#27837) 2026-08-02 15:39:10 -05:00
firecrawl.py perf: build info log messages lazily so raising the log level actually saves work (#27837) 2026-08-02 15:39:10 -05:00
google_pse.py refac 2026-08-31 00:40:15 -04:00
jina_search.py refac: modernize type annotations (PEP 604 / PEP 585) 2026-05-12 17:10:15 +09:00
kagi.py Update Kagi API endpoint and request method (#25015) 2026-06-01 12:48:44 -07:00
linkup.py chore: format 2026-06-01 13:56:55 -07:00
main.py refac: consolidate the web fetch address checks onto the request path (#27823) 2026-08-25 11:15:48 -04:00
microsoft_web_iq.py refac 2026-08-31 00:40:15 -04:00
mojeek.py refac 2026-08-31 00:39:16 -04:00
ollama.py perf: build info log messages lazily so raising the log level actually saves work (#27837) 2026-08-02 15:39:10 -05:00
openserp.py refac 2026-08-31 00:40:15 -04:00
perplexity.py refac 2026-06-17 02:52:35 +02:00
perplexity_search.py refac 2026-06-17 02:52:35 +02:00
searchapi.py perf: build info log messages lazily so raising the log level actually saves work (#27837) 2026-08-02 15:39:10 -05:00
searxng.py refac 2026-08-31 00:40:15 -04:00
serpapi.py perf: build info log messages lazily so raising the log level actually saves work (#27837) 2026-08-02 15:39:10 -05:00
serper.py refac 2026-08-31 00:40:15 -04:00
serphouse.py refac 2026-08-31 00:40:15 -04:00
serply.py refac 2026-08-31 00:39:16 -04:00
serpstack.py refac 2026-08-31 00:40:15 -04:00
sougou.py chore: format 2026-08-25 16:53:53 -04:00
tavily.py refac 2026-08-31 00:39:16 -04:00
utils.py fix: skip image, media and font requests in the Playwright web loader (#29742) 2026-09-06 17:01:00 -05:00
yacy.py perf: build debug log messages lazily so disabled debug logs cost nothing (#27834) 2026-07-31 19:09:01 -05:00
yandex.py perf: build info log messages lazily so raising the log level actually saves work (#27837) 2026-08-02 15:39:10 -05:00
ydc.py refac: modernize type annotations (PEP 604 / PEP 585) 2026-05-12 17:10:15 +09:00