open-webui/backend/open_webui/routers
Classic298 a9adb2b78e
perf: posting in a channel takes seconds when many members are online (#32889)
Every message posted in a channel waited until the server had re-checked the login of every online member of that channel, one connected session at a time with a few database lookups each, before the post went through. In a large channel that added seconds to every single message. The result only decides who gets a notification, and the message is already delivered to everyone before this step, so the check now runs right after the post returns, as the first step of the work that sends notifications and bot replies. Members are re-checked exactly as before, including disconnecting any session whose login is no longer valid.

Postgres 16, standard channel, median time for a post to return:

| Online members | Before | After |
| --- | --- | --- |
| 100 | 0.37 s | 0.03 s |
| 300 | 1.6 s | 0.05 s |
| 1,000 | 3.4 s | 0.10 s |
2026-10-22 07:48:19 +09:00
..
audio fix: dropped realtime call sometimes shows "Voice connection failed" (#32730) 2026-10-21 04:45:54 +09:00
analytics.py refac 2026-10-21 16:35:31 +09:00
apps.py refac 2026-10-13 01:55:12 +04:00
auths.py refac 2026-10-16 18:58:58 +04:00
automations.py fix: automation still shows "Last run Never" after "Run now" (#31583) 2026-09-30 19:01:42 +04:00
calendar.py refac 2026-10-05 14:01:02 +04:00
channels.py perf: posting in a channel takes seconds when many members are online (#32889) 2026-10-22 07:48:19 +09:00
chats.py refac 2026-10-21 09:15:15 +09:00
configs.py refac 2026-10-05 12:17:25 +04:00
evaluations.py fix: load the leaderboard activity chart for model ids that contain a slash (#30456) 2026-09-23 23:32:42 -04:00
files.py refac 2026-10-21 12:58:04 +09:00
folders.py refac 2026-10-16 01:25:30 +04:00
functions.py refac 2026-10-09 18:37:55 +04:00
groups.py refac 2026-10-15 17:56:56 +04:00
images.py refac(hardening): apply the same safety checks to generated image downloads (#31623) 2026-09-30 19:08:48 +04:00
knowledge.py fix: keep the open knowledge file open when an unrelated folder is deleted (#32319) 2026-10-13 16:48:57 +04:00
memories.py fix: memory reindex ignores the Embedding Concurrent Requests limit (#32420) 2026-10-14 23:15:25 +04:00
mfa.py fix: OAuth token forwarding and provider sign-out break after a browser restart (#32209) 2026-10-10 15:56:43 -05:00
models.py fix: model import silently skips a model whose ID is already taken (#32866) 2026-10-22 06:12:10 +09:00
notes.py refac 2026-10-08 22:05:36 +04:00
notifications.py refac 2026-07-27 19:39:36 -04:00
ollama.py feat: record the requested model as its own field in the audit log (#32429) 2026-10-15 00:00:19 +04:00
openai.py refac 2026-10-21 15:04:00 +09:00
pipelines.py perf: skip pipeline filter session setup when no filters exist (#29146) 2026-08-28 12:22:23 -04:00
prompts.py fix: someone with Write access saving a shared prompt or tool no longer makes it private (#32493) 2026-10-16 03:20:45 +04:00
retrieval.py refactor: remove unused development route (#32869) 2026-10-22 06:11:00 +09:00
scim.py fix: SCIM can delete admin accounts (#32415) 2026-10-14 23:25:28 +04:00
search.py refac 2026-10-16 02:53:00 +04:00
skills.py refac 2026-10-14 16:57:58 +04:00
tasks.py refac 2026-10-13 00:42:34 +04:00
terminals.py refac 2026-10-10 22:19:50 +04:00
tools.py fix: someone with Write access saving a shared prompt or tool no longer makes it private (#32493) 2026-10-16 03:20:45 +04:00
users.py feat: let everyone who can use a model pick its model controls (#32860) 2026-10-22 04:44:53 +09:00
utils.py refac 2026-09-06 17:27:30 -04:00