open-webui/backend/open_webui/utils
Classic298 96a0b3239b
fix: prevent first-user admin race in LDAP and OAuth registration (#23626)
Both LDAP and OAuth registration checked user count before insert to determine whether to assign admin role.  With multiple workers, concurrent first-user registrations could each see zero users and both create admin accounts.

Applies the insert-first-check-after pattern already used by signup_handler: insert with DEFAULT_USER_ROLE, then atomically check get_num_users()==1 and promote only the sole user to admin.
2026-04-12 11:28:41 -05:00
..
access_control fix: enforce model access control on /responses endpoint (#23481) 2026-04-12 11:06:33 -05:00
images refac 2026-03-17 17:58:01 -05:00
mcp refac 2026-04-01 05:54:58 -05:00
telemetry refac: import fastapi instrumentor directly (#23530) 2026-04-11 15:36:22 -06:00
actions.py refac 2026-03-17 17:58:01 -05:00
anthropic.py refac 2026-03-17 17:58:01 -05:00
audit.py refac 2026-03-17 17:58:01 -05:00
auth.py refac 2026-04-10 10:15:55 -07:00
automations.py enh: automation 2026-04-11 17:06:58 -06:00
channels.py refac 2026-03-17 17:58:01 -05:00
chat.py fix: guard completed API with message id (#23184) 2026-04-01 05:39:34 -05:00
code_interpreter.py refac 2026-03-17 17:58:01 -05:00
embeddings.py refac 2026-03-17 17:58:01 -05:00
files.py refac 2026-03-23 19:46:24 -05:00
filter.py perf: lookup 2026-03-24 16:24:46 -05:00
groups.py refac 2026-03-17 17:58:01 -05:00
headers.py refac 2026-03-17 17:58:01 -05:00
logger.py refac 2026-04-10 10:15:55 -07:00
middleware.py refac 2026-04-08 13:34:23 -07:00
misc.py perf: single yield per line in stream chunks handler (#23266) 2026-03-31 18:42:52 -05:00
models.py refac 2026-03-26 18:24:17 -05:00
oauth.py fix: prevent first-user admin race in LDAP and OAuth registration (#23626) 2026-04-12 11:28:41 -05:00
payload.py refac 2026-03-24 04:49:48 -05:00
pdf_generator.py refac 2026-03-17 17:58:01 -05:00
plugin.py refac 2026-03-24 04:49:48 -05:00
rate_limit.py refac 2026-03-17 17:58:01 -05:00
redis.py fix(redis): add opt-in health_check_interval for stale pooled connections (#23573) 2026-04-11 16:17:19 -06:00
response.py refac 2026-03-24 04:49:48 -05:00
sanitize.py refac 2026-03-17 17:58:01 -05:00
security_headers.py refac 2026-03-17 17:58:01 -05:00
task.py fix: Fix the error that occurs when the task model does not exist (#23169) 2026-04-01 07:01:25 -05:00
tools.py refac 2026-04-11 16:44:12 -06:00
validate.py chore: format 2026-04-02 08:11:06 -05:00
webhook.py refac 2026-03-24 04:49:48 -05:00