open-webui/backend/open_webui
Classic298 b7d1de05ab
perf: changing permissions on a large group is slow (#32883)
When a group change affects its members (new permissions, parent group or default models, or deleting the group), the server makes every member's browser reconnect so it picks up the new permissions without a page reload. To find each member's connections it read through the whole list of connected users again for every single member, so saving a 2,000-member group with 3,000 people online spent almost 9 seconds on this with Redis as the websocket manager, and about 1 second without. It now finds all members' connections in one pass.

Changing one permission on a 2,000-member group, time the save spends making members reconnect:

| Online users | Redis, before | Redis, after | No Redis, before | No Redis, after |
| --- | --- | --- | --- | --- |
| 1,000 | 2.8 s | 0.15 s | 0.09 s | <0.01 s |
| 3,000 | 8.7 s | 0.28 s | 1.2 s | <0.01 s |
2026-10-22 07:08:30 +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 refac 2026-10-08 14:30:07 +04: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