Timothy Jaeryang Baek
d938eb0e76
refac
2026-02-02 09:23:46 -06:00
Timothy Jaeryang Baek
b0c5f7b668
refac
2026-02-02 09:02:34 -06:00
Timothy Jaeryang Baek
767343dc5b
refac
2026-02-02 08:57:26 -06:00
Timothy Jaeryang Baek
c22bb4f853
refac
2026-02-02 08:55:13 -06:00
Tim Baek
b2c2f1bd49
refac
2026-02-01 10:24:04 +04:00
Tim Baek
679e56c494
feat: token analytics
2026-02-01 10:19:59 +04:00
Tim Baek
3da4323ef3
refac
2026-02-01 10:11:13 +04:00
Tim Baek
75e5a485d2
refac
2026-02-01 10:06:52 +04:00
Tim Baek
7bb3a827bb
refac
2026-02-01 08:10:25 +04:00
Tim Baek
96f106319e
refac
2026-02-01 07:59:02 +04:00
Tim Baek
599cd2eeeb
feat: analytics backend API with chat_message table
...
- Add chat_message table for message-level analytics with usage JSON field
- Add migration to backfill from existing chats
- Add /analytics endpoints: summary, models, users, daily
- Support hourly/daily granularity for time-series data
- Fill missing days/hours in date range
2026-02-01 07:04:13 +04:00
Tim Baek
ee5fd1246c
refac
2026-02-01 03:26:59 +04:00
Classic298
643c661a6f
chore: Updates minor/patch versions for 21 Python backend dependencies ( #21059 )
2026-01-31 16:51:08 -06:00
Classic298
ee27fd8de1
perf: replace double lookup with single JOIN in authenticate_user_by_email ( #21010 )
...
* perf: replace double lookup with single JOIN in authenticate_user_by_email
* Update auths.py
2026-01-30 10:22:07 -05:00
Classic298
aac98120c8
perf: batch fetch filter functions to eliminate N+1 queries ( #21018 )
2026-01-30 00:50:04 +04:00
Timothy Jaeryang Baek
f9ab66f51a
refac
...
Co-Authored-By: Hsienz <55347238+hsienz@users.noreply.github.com >
2026-01-30 00:46:42 +04:00
Classic298
baef422a28
perf: eliminate redundant query after memory update ( #21013 )
...
## Summary
Eliminates redundant database query in update_memory_by_id_and_user_id. Previously, after modifying the memory object, it called get_memory_by_id which opened a new session and queried again.
## Changes
models/memories.py update_memory_by_id_and_user_id:
- Replace self.get_memory_by_id(id) with db.refresh(memory)
- Return the same memory object that was already modified
## Performance Impact
Before: 2 queries (get + get_memory_by_id)
After: 1 query + refresh on same session
2026-01-29 21:45:09 +04:00
Classic298
68e257849d
perf: optimize database queries in functions, feedbacks, and groups ( #21019 )
2026-01-29 21:44:50 +04:00
Classic298
e686554392
fix: resolve N+1 query in SCIM group_to_scim user lookup ( #21005 )
2026-01-29 21:43:33 +04:00
Timothy Jaeryang Baek
93ed4ae2cd
enh: files data controls
2026-01-29 19:50:06 +04:00
Timothy Jaeryang Baek
a10ac774ab
enh: manage shared chats
2026-01-29 18:51:02 +04:00
Classic298
5749f78262
fix: reduce triple query to single fetch in model toggle ( #21009 )
2026-01-29 17:24:09 +04:00
Classic298
1eaae9d934
perf: eliminate redundant SELECT after UPDATE in users.py ( #21011 )
2026-01-29 17:22:28 +04:00
Cevat Batuhan Tolon
567b0776cd
REDIS_RECONNECT_DELAY as positive float for handle retry delay on timeout/connection errors ( #21021 )
2026-01-29 17:13:03 +04:00
Timothy Jaeryang Baek
665f95eda3
refac
2026-01-28 01:18:39 +04:00
Timothy Jaeryang Baek
ce50d9bac4
refac
2026-01-28 01:14:22 +04:00
7. Sun
33020d826f
perf: parallelize image loading in image_edits endpoint ( #20911 )
...
Use asyncio.gather() to load multiple images concurrently instead of
sequentially, significantly reducing latency for multi-image edit
operations.
2026-01-28 00:35:25 +04:00
Timothy Jaeryang Baek
36766f157d
refac: prompts pagination
2026-01-27 23:01:56 +04:00
Timothy Jaeryang Baek
683438b418
refac
2026-01-27 21:37:20 +04:00
Timothy Jaeryang Baek
4a55167759
refac
2026-01-26 18:04:58 +04:00
Danil
c5c4aef7b1
Yandex web search ( #20922 )
...
Co-authored-by: Tim Baek <tim@openwebui.com >
Co-authored-by: joaoback <156559121+joaoback@users.noreply.github.com >
2026-01-26 07:31:44 -05:00
Tim Baek
82af218790
Merge pull request #20945 from open-webui/prompt_versioning
...
enh: prompts
2026-01-26 16:27:28 +04:00
Classic298
b272ca5e88
fix: remove invalid expunge call on Pydantic FileModel ( #20931 )
...
fix: remove invalid expunge call on Pydantic FileModel
Files.get_file_by_id() returns a Pydantic FileModel, not an SQLAlchemy
ORM object. Calling db.expunge() on a Pydantic model fails with
UnmappedInstanceError since it lacks _sa_instance_state.
The expunge was also unnecessary because subsequent DB updates already
use fresh sessions via get_db() context manager.
Fixes #20925
2026-01-26 07:24:53 -05:00
Timothy Jaeryang Baek
4c8d4e6dbd
enh: prompt tags
2026-01-26 16:11:10 +04:00
Tim Baek
6359628bc3
refac
2026-01-26 07:01:05 -05:00
Classic298
25fd342261
Update retrieval.py ( #20930 )
2026-01-26 15:29:15 +04:00
Timothy Jaeryang Baek
32810b4152
refac
2026-01-24 04:13:19 +04:00
Timothy Jaeryang Baek
b7e9992d78
refac
2026-01-24 03:25:29 +04:00
Timothy Jaeryang Baek
5ad593e465
refac: prompt endpoints
2026-01-24 03:08:48 +04:00
Timothy Jaeryang Baek
44da9c6523
refac
2026-01-24 02:57:08 +04:00
Timothy Jaeryang Baek
6ab7d54982
refac
2026-01-24 02:51:44 +04:00
Timothy Jaeryang Baek
34773e795b
wip: prompt history backend integration
2026-01-24 02:39:48 +04:00
Timothy Jaeryang Baek
66daa15722
wip: prompt history models
2026-01-24 02:39:29 +04:00
Timothy Jaeryang Baek
db80dd2692
feat: prompt history table
2026-01-24 02:38:57 +04:00
Tim Baek
0dc74a8a2e
refac
2026-01-23 08:33:21 -05:00
Tim Baek
90a057f400
refac
2026-01-23 08:25:19 -05:00
Tim Baek
d2c695eb11
feat: add convert_output_to_messages for OR-aligned message building
2026-01-22 19:54:05 -05:00
Timothy Jaeryang Baek
46cf40ec82
refac
2026-01-23 04:31:39 +04:00
Timothy Jaeryang Baek
655420fd25
feat: ENABLE_OAUTH_TOKEN_EXCHANGE
2026-01-23 04:25:39 +04:00
Timothy Jaeryang Baek
52c73390f8
refac
2026-01-23 01:44:48 +04:00