mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-15 21:19:39 -05:00
[GH-ISSUE #19493] issue: Web page attachment broken in v0.6.39 and v0.6.40 - TypeError on metadata check #89640
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mikkelnl on GitHub (Nov 25, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/19493
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.6.40
Ollama Version (if applicable)
No response
Operating System
Raspberry Pi OS
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
The webpage content should be fetched and attached to the chat context.
Actual Behavior
Error message:
[ERROR: argument of type 'bool' is not iterable]Steps to Reproduce
Logs & Screenshots
2025-11-25 20:54:43.536 | INFO | open_webui.routers.retrieval:save_docs_to_vector_db:1252 - save_docs_to_vector_db: document Wikipedia 9a9d50ec8631eafde241ce5b6991ebb9ba74c8543397179e1b589e700bedefd
2025-11-25 20:54:43.537 | ERROR | open_webui.routers.retrieval:process_web:1744 - argument of type 'bool' is not iterable
Traceback (most recent call last):
File "/app/backend/open_webui/routers/retrieval.py", line 1723, in process_web
await run_in_threadpool(
File "/usr/local/lib/python3.11/site-packages/starlette/concurrency.py", line 38, in run_in_threadpool
return await anyio.to_thread.run_sync(func)
File "/usr/local/lib/python3.11/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2485, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 976, in run
result = context.run(func, *args)
File "/app/backend/open_webui/routers/retrieval.py", line 1257, in save_docs_to_vector_db
if metadata and "hash" in metadata:
│ └ True
└ True
TypeError: argument of type 'bool' is not iterable
Additional Information
Root Cause:
The
metadataparameter insave_docs_to_vector_db()receives a boolean value (True) instead of a dictionary object. The code attempts to check if the string"hash"exists inmetadata, which fails because Python cannot iterate over a boolean type.Regression Source:
This appears to be related to the embedding operation refactoring mentioned in v0.6.39 changelog:
Workaround:
Downgrade to v0.6.38:
@kfuglsang commented on GitHub (Nov 25, 2025):
Can confirm that I get the same in v0.6.40.
@Classic298 commented on GitHub (Nov 25, 2025):
No this is most likely not related to that.
The PR #19434 makes a fix to the reindex function.
You are not using the reindex function, you are fetching a website
@Classic298 commented on GitHub (Nov 25, 2025):
Do you use the new feature that ingests additional metadata when reranking?
Please share your FULL setup and FULL embedding config and documents page and settings and steps to reproduce.
@tjbck commented on GitHub (Nov 25, 2025):
Likely addressed in dev, testing wanted here.
@silentoplayz commented on GitHub (Nov 26, 2025):
Attaching a webpage as knowledge works fine for me on the latest dev.
@frenzybiscuit commented on GitHub (Nov 27, 2025):
It doesn't work fine for me. Why was this closed?
@frenzybiscuit commented on GitHub (Nov 27, 2025):
Using v0.6.40
@Classic298 commented on GitHub (Nov 27, 2025):
@frenzybiscuit tim wrote addressed in dev, meaning in the development version - meaning it will work in .41