open-webui/backend/open_webui/retrieval
Classic298 acf586c006
fix: resolve the web loader parser per URL instead of locking in the first one (#27367)
SafeWebBaseLoader._unpack_fetch_results assigned the resolved parser to the parser parameter itself, so the None check only ran for the first URL. In a mixed batch every later document was parsed with whatever the first URL happened to select: an .xml feed first meant all following HTML pages went through the xml parser (broken text extraction), and an HTML page first meant .xml URLs were parsed as HTML. Web search regularly fetches mixed batches, so this silently degraded extraction quality depending on result order.

The parser is now resolved per URL; an explicitly passed parser still applies to the whole batch as before. Verified with mixed xml/html batches in both orders and with an explicit parser override.
2026-07-23 21:35:27 -04:00
..
loaders Forward user info headers to Mistral OCR API (#27253) 2026-07-23 12:33:19 -05:00
models refac: modernize type annotations (PEP 604 / PEP 585) 2026-05-12 17:10:15 +09:00
vector chore: format 2026-07-20 22:11:42 -04:00
web fix: resolve the web loader parser per URL instead of locking in the first one (#27367) 2026-07-23 21:35:27 -04:00
external.py refac 2026-06-29 13:03:14 -05:00
utils.py chore: format 2026-07-20 22:11:42 -04:00