open-webui/backend
Classic298 11f39ff628 fix: report filter outlet and stream failures at error level
When a filter's outlet() or stream() hook raised, the error was logged at debug level and swallowed, so at the default log level nothing was printed at all: no message, no indication of which filter broke, and the rest of the outlet chain silently skipped. Plugin authors had no way to find the cause short of restarting the server with GLOBAL_LOG_LEVEL=DEBUG.

Those two hooks now log at error level with the filter id and a traceback pointing at the failing line in the plugin. stream() runs once per streamed chunk, so a broken filter is reported once per response rather than once per chunk, using the filter context that already exists per response. inlet() stays at debug, since raising there is the documented way to reject a request, it already surfaces to the user in the chat, and escalating it would put a stack trace in the log on every rate-limit rejection.

Valve construction failures are covered too, as they previously died on the same silent path, and the neighbouring user-valves error now names the filter as well.
2026-08-08 23:32:38 +02:00
..
data refac: mv backend files to /open_webui dir 2024-09-04 16:54:48 +02:00
open_webui fix: report filter outlet and stream failures at error level 2026-08-08 23:32:38 +02:00
.dockerignore fix: litellm config issue 2024-02-24 22:35:11 -08:00
.gitignore refac 2024-09-06 04:59:20 +02:00
dev.sh refac 2026-03-24 19:43:30 -05:00
requirements-min.txt perf: optional orjson JSON codec behind ENABLE_ORJSON (#27583) 2026-07-27 03:45:37 -04:00
requirements.txt fix: make the aiodns resolver opt-in and pin aiodns to 3.6.1 (#28242) 2026-08-10 19:52:29 -06:00
start.sh refac 2026-06-17 03:01:11 +02:00
start_windows.bat fix: generate valid WEBUI_SECRET_KEY in start_windows.bat (#28061) 2026-08-10 23:22:43 -06:00