mirror of
https://github.com/open-webui/open-webui.git
synced 2026-10-22 03:14:54 -05:00
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 |