Timothy Jaeryang Baek
27169124f2
refac: async db
2026-04-12 14:22:11 -05:00
Timothy Jaeryang Baek
bd3a3635ee
refac
Create and publish Docker images with specific build args / merge-main-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-cuda-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-cuda126-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-ollama-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / build-main-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-main-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Frontend Build / Format & Build Frontend (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda126-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda126-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-slim-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-slim-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / merge-slim-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / copy-to-dockerhub (, main) (push) Blocked by required conditions
Create and publish Docker images with specific build args / copy-to-dockerhub (-cuda, cuda) (push) Blocked by required conditions
Create and publish Docker images with specific build args / copy-to-dockerhub (-cuda126, cuda126) (push) Blocked by required conditions
Create and publish Docker images with specific build args / copy-to-dockerhub (-ollama, ollama) (push) Blocked by required conditions
Create and publish Docker images with specific build args / copy-to-dockerhub (-slim, slim) (push) Blocked by required conditions
Python CI / Format Backend (push) Waiting to run
Frontend Build / Frontend Unit Tests (push) Waiting to run
2026-04-10 10:15:55 -07:00
Timothy Jaeryang Baek
0dd9f462ff
feat: oauth backchannel logout
2026-04-02 08:46:34 -05:00
Timothy Jaeryang Baek
925f77f0f5
chore: format
2026-03-26 18:25:19 -05:00
Timothy Jaeryang Baek
16335f866e
refac
2026-03-26 17:38:23 -05:00
Timothy Jaeryang Baek
ade617efa8
refac
2026-03-24 04:49:48 -05:00
Timothy Jaeryang Baek
cc8b5055f2
refac
2026-03-21 19:04:39 -05:00
Timothy Jaeryang Baek
de3317e26b
refac
2026-03-17 17:58:01 -05:00
Timothy Jaeryang Baek
91a0301c9e
refac
2026-02-19 16:29:19 -06:00
Timothy Jaeryang Baek
f376d4f378
chore: format
2026-02-11 16:24:11 -06:00
Classic298
38bf0b6eec
feat: Add new ENV VAR for custom error message on error on signup / password change due to password not meeting requirements ( #20650 )
...
* add env var for custom auth pw message
* Update auth.py
* Update auth.py
2026-01-19 14:00:48 +04:00
Classic298
3f133fad56
fix: release database connections immediately after auth instead of holding during LLM calls ( #20545 )
...
fix: release database connections immediately after auth instead of holding during LLM calls
Authentication was using Depends(get_session) which holds a database connection
for the entire request lifecycle. For chat completions, this meant connections
were held for 30-60 seconds while waiting for LLM responses, despite only needing
the connection for ~50ms of actual database work.
With a default pool of 15 connections, this limited concurrent chat users to ~15
before pool exhaustion and timeout errors:
sqlalchemy.exc.TimeoutError: QueuePool limit of size 5 overflow 10 reached,
connection timed out, timeout 30.00
The fix removes Depends(get_session) from get_current_user. Each database
operation now manages its own short-lived session internally:
BEFORE: One session held for entire request
──────────────────────────────────────────────────
│ auth │ queries │ LLM wait (30s) │ save │
│ CONNECTION HELD ENTIRE TIME │
──────────────────────────────────────────────────
AFTER: Short-lived sessions, released immediately
┌──────┐ ┌───────┐ ┌──────┐
│ auth │ │ query │ LLM (30s) │ save │
│ 10ms │ │ 20ms │ NO CONNECTION │ 20ms │
└──────┘ └───────┘ └──────┘
This is safe because:
- User model has no lazy-loaded relationships (all simple columns)
- Pydantic conversion (UserModel.model_validate) happens while session is open
- Returned object is pure Pydantic with no SQLAlchemy ties
Combined with the telemetry efficiency fix, this resolves connection pool
exhaustion for high-concurrency deployments, particularly on network-attached
databases like AWS Aurora where connection hold time is more impactful.
2026-01-10 15:34:36 +04:00
Timothy Jaeryang Baek
1138929f4d
feat: headless admin creation
2026-01-09 12:01:36 +04:00
Classic298
6d087202ad
fix: prevent invalidate_token crash when decode_token returns None ( #20277 )
...
Add null check after decode_token() before calling decoded.get(). Invalid/expired tokens now gracefully exit instead of crashing with AttributeError.
2025-12-31 02:30:45 -05:00
Timothy Jaeryang Baek
b1d0f00d8c
refac/enh: db session sharing
2025-12-29 00:21:18 +04:00
Classic298
823b9a6dd9
chore/perf: Remove old SRC level log env vars with no impact ( #20045 )
...
* Update openai.py
* Update env.py
* Merge pull request open-webui#19030 from open-webui/dev (#119 )
Co-authored-by: Tim Baek <tim@openwebui.com>
Co-authored-by: Claude <noreply@anthropic.com>
---------
Co-authored-by: Tim Baek <tim@openwebui.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-20 08:16:14 -05:00
Timothy Jaeryang Baek
5388cc1bc6
refac
2025-12-02 04:03:44 -05:00
Timothy Jaeryang Baek
70948f8803
enh/refac: deprecate USER_POOL
2025-11-28 07:39:02 -05:00
Timothy Jaeryang Baek
288947a648
refac
2025-11-23 16:09:37 -05:00
Timothy Jaeryang Baek
680cde8f9b
feat/enh: optional password validation
2025-11-20 17:44:49 -05:00
Timothy Jaeryang Baek
c4ecad0605
enh: revoked token handling
2025-11-19 06:08:59 -05:00
Timothy Jaeryang Baek
7031bb9067
feat/enh: api keys user permission
...
breaking change, `ENABLE_API_KEY` renamed to `ENABLE_API_KEYS` and disabled by default and must be explicitly toggled on.
2025-11-19 01:50:52 -05:00
Timothy Jaeryang Baek
b160eef7eb
refac: decouple api key restrictions from get user
2025-11-13 19:52:04 -05:00
Timothy Jaeryang Baek
ebce0578e6
chore/refac: bump bcrypt and remove passlib
2025-10-01 19:19:56 -05:00
Timothy Jaeryang Baek
fc11e4384f
refac
2025-09-08 18:17:11 +04:00
Timothy Jaeryang Baek
217f4daef0
feat: server-side OAuth token management system
...
Co-Authored-By: Classic298 <27028174+Classic298@users.noreply.github.com>
2025-09-08 18:05:43 +04:00
Timothy Jaeryang Baek
91755309ce
refac
2025-09-08 14:18:25 +04:00
Timothy Jaeryang Baek
4485c7a5d2
refac
2025-08-09 21:38:31 +04:00
Timothy Jaeryang Baek
b8da4a8cd8
refac
2025-07-29 23:45:25 +04:00
Timothy Jaeryang Baek
4351702587
refac
2025-07-12 02:38:52 +04:00
Timothy Jaeryang Baek
9b9d5d84f4
fix: trusted header email case sensitive issue
2025-06-12 12:22:15 +04:00
sasidhar
6860dec08f
fix: properly sign out user on trusted email mismatch
...
When using trusted email header authentication, properly sign out the user
when the logged-in user's email doesn't match the trusted email header value.
This ensures proper session cleanup when the OAuth server changes the
authenticated user.
- Add response parameter to get_current_user function
- Delete JWT token cookie on email mismatch
- Delete OAuth token cookie if present
- Force re-authentication with 401 error
2025-06-08 14:26:55 +05:30
sasidhar
61f49ff580
fix: ensure trusted email header matches logged-in user
...
When using trusted email header authentication, verify that the logged-in user's
email matches the value in the header. This prevents session conflicts when the
OAuth server changes the authenticated user.
- Move trusted email verification after user existence check
- Raise 401 if email mismatch is detected
- Only perform verification when WEBUI_AUTH_TRUSTED_EMAIL_HEADER is enabled
2025-06-08 14:16:10 +05:30
Jarrod Lowe
df853246f3
Add user details to otel span
2025-05-17 09:11:26 +12:00
Timothy Jaeryang Baek
0c0505e1cd
refac
2025-04-05 04:05:52 -06:00
Timothy Jaeryang Baek
4ad10f0c6e
chore: format
2025-04-05 01:31:45 -06:00
Juan Calderon-Perez
1c57e3e02c
Fix API_KEY_ALLOWED_ENDPOINTS
2025-04-03 23:52:10 -04:00
Silentoplayz
d65471c420
fix
...
my dev environment works again!
2025-04-02 11:28:45 -04:00
Timothy Jaeryang Baek
23bb0d927f
chore: format
2025-03-05 18:10:24 -08:00
Timothy Jaeryang Baek
36ffa9824b
refac
2025-03-04 01:16:25 -08:00
Timothy Jaeryang Baek
a4747c88e0
refac
2025-03-04 00:33:19 -08:00
Timothy Jaeryang Baek
39ea59edc8
chore: format
2025-03-04 00:32:27 -08:00
Timothy Jaeryang Baek
fcbdfbd744
refac
2025-02-26 23:35:09 -08:00
Timothy Jaeryang Baek
ddb30589e3
chore: format
...
HIDE MODELS
2025-02-26 22:18:18 -08:00
Timothy Jaeryang Baek
674d6e08fc
Merge pull request #10809 from TobiasGoerke/feat/update_timestamp_asynchronously
...
feat: update get_current_user to refresh last active timestamp asynchronously
2025-02-26 02:38:06 -08:00
Tobias Goerke
76891f4760
feat: update get_current_user to refresh last active timestamp asynchronously
2025-02-26 10:53:47 +01:00
Yifang Deng
0e5d5ecb81
refactor: replace print statements with logging for better error tracking
2025-02-25 15:53:55 +01:00
Timothy Jaeryang Baek
1764170307
refac
2025-02-17 21:34:06 -08:00
Timothy Jaeryang Baek
82189066e8
refac
2025-02-16 18:35:09 -08:00
Timothy Jaeryang Baek
63cf80a456
refac
2025-02-16 00:11:18 -08:00