open-webui/backend/open_webui/utils
Classic298 4c392c9878 fix: MCP OAuth sign-in fails when the provider's sign-in page is behind Cloudflare bot protection
Connecting an OAuth 2.1 MCP tool server such as Canva failed with "OAuth client registration is still invalid after re-registration" whenever Cloudflare answered Open WebUI's own server-side check of the provider's sign-in page with a bot challenge. The challenge page repeats the requested address, which contains the redirect URL, so Open WebUI read it as the provider rejecting its registration. Open WebUI now skips its check when it gets a bot challenge, and the browser goes on to the provider's sign-in page as usual. Real provider errors about an unknown client or redirect URL still trigger re-registration as before.

Fixes #32363
2026-10-13 18:51:14 +02:00
..
access_control refac 2026-10-08 14:30:07 +04:00
images fix: show ComfyUI images saved by the Save Image (Advanced) node (#30420) 2026-09-23 23:54:58 -04:00
mcp refac 2026-10-10 23:50:29 +04:00
telemetry fix: every log line is exported twice to the OpenTelemetry collector when traces and logs are both on (#31528) 2026-09-30 19:36:43 +04:00
actions.py refac 2026-10-01 03:31:20 +04:00
anthropic.py fix: Anthropic API streams report a failed response as a finished one (#31405) 2026-09-27 23:20:50 +04:00
apps.py refac 2026-10-13 18:32:14 +04:00
asgi_middleware.py refac 2026-08-24 18:29:36 -04:00
ask_user.py fix: a rejected ask_user call ending the turn with no reply (#29252) 2026-08-31 00:17:21 -04:00
audit.py refac 2026-10-05 12:17:25 +04:00
auth.py refac 2026-10-05 12:17:25 +04:00
automations.py fix: a calendar reminder fires again after the event is moved to a new time (#32358) 2026-10-13 20:05:14 +04:00
calendar.py fix: Scheduled Tasks calendar shows extra runs for automations with a run count (#31604) 2026-09-30 19:43:41 +04:00
channels.py refac 2026-10-12 17:29:04 +04:00
chat.py fix: keep the model system prompt on Ollama tool-call follow-ups (#30375) 2026-09-22 16:47:20 -04:00
chat_fork.py refac 2026-07-23 02:54:56 -04:00
chat_id.py refac 2026-07-26 21:12:14 -04:00
chat_variables.py refac: chat variable property value parsing (#30389) 2026-10-08 15:48:33 -05:00
code_interpreter.py refac 2026-07-31 17:41:14 -04:00
context_compaction.py refac 2026-10-10 23:02:39 +04:00
embeddings.py refac: modernize type annotations (PEP 604 / PEP 585) 2026-05-12 17:10:15 +09:00
files.py refac(images): request an unencoded body when fetching remote chat images (#29623) 2026-09-21 08:53:06 -04:00
filter.py refac 2026-10-01 03:31:20 +04:00
groups.py refac: modernize type annotations (PEP 604 / PEP 585) 2026-05-12 17:10:15 +09:00
headers.py refac 2026-10-05 14:01:02 +04:00
json_codec.py perf: write task payloads to Redis as bytes (#28833) 2026-08-20 12:58:52 -07:00
json_response.py perf: optional orjson JSON codec behind ENABLE_ORJSON (#27583) 2026-07-27 03:45:37 -04:00
logger.py perf: stop formatting every exported log record twice under OTEL log export (#27840) 2026-08-10 23:13:52 -06:00
memory.py fix: stop the background memory review when memory is switched off (#30309) 2026-09-21 11:22:21 -04:00
mfa.py fix: name the secret key when stored MFA secrets cannot be decrypted at startup (#32189) 2026-10-10 20:10:39 +04:00
middleware.py refac 2026-10-13 19:51:58 +04:00
misc.py refac 2026-10-01 08:38:21 +04:00
model_ids.py refac 2026-07-26 23:09:22 -04:00
models.py chore: format 2026-10-10 23:18:09 +04:00
notifications.py fix: chat links in finished and failed webhook notifications open a 404 (#31572) 2026-09-30 19:05:45 +04:00
oauth.py fix: MCP OAuth sign-in fails when the provider's sign-in page is behind Cloudflare bot protection 2026-10-13 18:51:14 +02:00
payload.py fix: messages to a model fail after the admin removes a model control the user had set (#32197) 2026-10-10 20:11:47 +04:00
plugin.py refac 2026-10-09 18:37:55 +04:00
rate_limit.py fix: stop the sign-in rate limiter blocking the loop and leaking memory (#29977) 2026-09-13 20:28:41 -05:00
recurrence.py fix: daily, weekly and monthly automations can run twice or skip their first run (#32264) 2026-10-12 18:51:03 +04:00
redis.py fix: cannot connect through Redis Sentinels that require a password (#32241) 2026-10-12 11:42:26 +04:00
response.py feat: pass the provider's finish reason to outlet filters (#32079) 2026-10-08 19:36:47 +04:00
sanitize.py refac 2026-03-17 17:58:01 -05:00
security_headers.py refac 2026-08-24 18:29:36 -04:00
session_pool.py fix: long streamed lines no longer abort the response (#28114) 2026-08-25 12:16:37 -04:00
skill_files.py refac 2026-10-13 19:51:58 +04:00
skills.py fix: chat title shows raw skill syntax when it is named after the first message (#32176) 2026-10-10 19:47:46 +04:00
subagents.py refac 2026-10-11 00:55:58 +04:00
task.py fix: show follow-up suggestions when the task model adds text around its JSON (#32323) 2026-10-13 16:46:17 +04:00
terminals.py refac 2026-10-13 19:10:21 +04:00
timers.py feat: Dynamic Tool Loading / Lazy Loading 2026-10-10 22:43:52 +04:00
tool_approval.py chore: format 2026-10-10 23:18:09 +04:00
tool_search.py feat: Dynamic Tool Loading / Lazy Loading 2026-10-10 22:43:52 +04:00
tools.py refac 2026-10-13 20:04:28 +04:00
validate.py refac 2026-09-15 22:47:03 -04:00
valves.py fix: functions and tools with a required Valves field cannot be saved (#32165) 2026-10-10 19:59:52 +04:00
voice_avatar.py refac 2026-10-11 15:55:57 +04:00
webhook.py perf: build debug log messages lazily so disabled debug logs cost nothing (#27834) 2026-07-31 19:09:01 -05:00