open-webui/backend/open_webui
Claude 72429ea8c0
fix(stream): message-in-chat check and don't stack resume requests
- Added message-in-chat binding check alongside the existing chat-
  ownership check. Both use the same already-fetched chat object, so
  this is still one DB round-trip. Defense-in-depth for the case
  where a client supplies one of its own chat_ids but a different
  chat's message_id — the user-scoped key would still serve the
  request otherwise.

- requestResumeForMessage now early-returns if a fence already
  exists for the same message. Fixes two operational concerns:
    * Mixed-version deployments where an older backend doesn't echo
      request_id: previously every reconnect reset the fence timer
      AND set a new request_id, so no reply could ever match; now
      the first fence runs to completion or timeout and only
      subsequent requests after that get a fresh chance.
    * Rapid reconnect churn: used to kick the timer forward
      indefinitely, now one fence per message lifecycle.
2026-04-15 07:53:35 +00:00
..
data refac: mv backend files to /open_webui dir 2024-09-04 16:54:48 +02:00
internal refac 2026-04-12 19:41:02 -05:00
migrations refac 2026-04-01 18:26:46 -05:00
models refac 2026-04-13 21:29:03 -05:00
retrieval fix(retrieval): offload Loader.load to a worker thread so file uploads stop blocking the event loop (#23705) 2026-04-14 10:55:46 -05:00
routers fix(retrieval): offload Loader.load to a worker thread so file uploads stop blocking the event loop (#23705) 2026-04-14 10:55:46 -05:00
socket fix(stream): message-in-chat check and don't stack resume requests 2026-04-15 07:53:35 +00:00
static refac 2026-03-23 23:39:52 -05:00
storage refac 2026-04-12 19:08:30 -05:00
test refac 2026-03-17 17:58:01 -05:00
tools fix(retrieval): offload sync VECTOR_DB_CLIENT calls in async paths via AsyncVectorDBClient (#23706) 2026-04-14 10:50:18 -05:00
utils refac 2026-04-14 10:55:11 -05:00
__init__.py refac (#22987) 2026-03-24 15:41:26 -05:00
alembic.ini fix: Alembic CLI commands from failing 2025-08-15 04:17:47 -04:00
config.py refac 2026-04-14 00:07:50 -05:00
constants.py refac 2026-04-13 14:08:58 -05:00
env.py refac 2026-04-13 16:25:44 -05:00
functions.py refac: async db 2026-04-12 14:22:11 -05:00
main.py fix(middleware): replace BaseHTTPMiddleware HTTP middlewares with pure ASGI implementations (#23709) 2026-04-14 10:47:48 -05:00
tasks.py refac 2026-03-17 17:58:01 -05:00