open-webui/backend/open_webui
Classic298 bae611e785
perf: saving a group or changing its members takes seconds when many users are online (#32882)
Since 0.12.0, every group save and every member add or remove made the server recheck access for every chat that any online user had open in a browser tab, one database lookup at a time, before the save finished. With a few thousand people online, saving a group took several seconds, and every one of those open chats reloaded its contents afterwards. When a group change can affect what someone may see, the server already makes that person's browser reconnect, and an open chat checks its access again on reconnect, so group changes now skip the recheck for everyone else. Folder and chat sharing changes keep it.

Postgres 16, 2,000-member group, one open chat per online user:

| Online users | Saving the group without permission changes, before | after | Adding a member, before | after |
| --- | --- | --- | --- | --- |
| 1,000 | 2.0 s | under 0.05 s | 2.2 s | under 0.05 s |
| 3,000 | 6.7 s | under 0.05 s | 6.6 s | under 0.05 s |
2026-10-22 07:08:49 +09:00
..
data refac: mv backend files to /open_webui dir 2024-09-04 16:54:48 +02:00
internal fix: requests hang or fail with 503 after pages are closed while loading (#32617) 2026-10-21 03:23:05 +09:00
migrations refac 2026-10-14 18:49:51 +04:00
models perf: changing permissions on a large group is slow (#32883) 2026-10-22 07:08:30 +09:00
retrieval chore: Python 3.12 and Debian 13 base image (#32861) 2026-10-22 04:51:57 +09:00
routers fix: model import silently skips a model whose ID is already taken (#32866) 2026-10-22 06:12:10 +09:00
socket perf: changing permissions on a large group is slow (#32883) 2026-10-22 07:08:30 +09:00
static refac 2026-09-06 17:27:30 -04:00
storage refac 2026-10-05 12:03:19 +04:00
tools refac 2026-10-21 09:53:09 +09:00
utils fix: OAuth connections send no token when the user calls the API (#32826) 2026-10-22 02:13:50 +09:00
__init__.py chore: Python 3.12 and Debian 13 base image (#32861) 2026-10-22 04:51:57 +09:00
alembic.ini fix: Alembic CLI commands from failing 2025-08-15 04:17:47 -04:00
config.py refac 2026-10-16 18:58:58 +04:00
constants.py fix: SSO login failures show the email/password error (#31629) 2026-09-30 19:07:49 +04:00
env.py refac 2026-10-01 03:31:20 +04:00
events.py perf: saving a group or changing its members takes seconds when many users are online (#32882) 2026-10-22 07:08:49 +09:00
functions.py fix: pipes and tools get None instead of a file list when nothing is attached (#32380) 2026-10-14 12:18:55 +04:00
main.py feat: let everyone who can use a model pick its model controls (#32860) 2026-10-22 04:44:53 +09:00
tasks.py refac 2026-10-16 04:20:53 +04:00