Classic298
f236192fe1
fix: resolve N+1 query in knowledge batch file add ( #21006 )
2026-02-09 16:17:30 -06:00
Timothy Jaeryang Baek
c2f5cb542e
refac
2026-02-09 14:03:35 -06:00
Tim Baek
48a0abb40f
Merge pull request #21277 from open-webui/acl
...
refac: acl
2026-02-09 13:34:36 -06:00
Timothy Jaeryang Baek
f7406ff576
refac
2026-02-09 13:28:14 -06:00
Tim Baek
e2d09ac361
refac
2026-02-09 09:06:48 +04:00
Tim Baek
4852227158
refac
2026-02-08 06:22:56 +04:00
Classic298
494cf8b3ef
fix ( #21226 )
2026-02-08 03:19:26 +04:00
Tim Baek
258454276e
fix: files settings save issue
2026-02-06 22:33:49 +04:00
Tim Baek
2c37daef86
refac
2026-02-06 03:23:37 +04:00
G30
cac5dd12e9
fix: handle null data in model_response_handler ( #21112 )
...
Fix `AttributeError` in `model_response_handler` when processing channel messages with `null` data field. The function iterates over thread messages to build conversation history, but some messages may have `data=None` causing a crash when accessing `thread_message.data.get()`. Added null check using `(thread_message.data or {}).get("files", [])` to safely handle messages without data.
2026-02-05 15:15:34 -05:00
Timothy Jaeryang Baek
e62649f940
enh: analytics
2026-02-05 00:00:49 -06:00
Timothy Jaeryang Baek
68a1e87b66
enh: analytics model modal
2026-02-04 23:42:46 -06:00
Timothy Jaeryang Baek
ecf3fa2feb
refac
2026-02-03 23:36:15 -06:00
Tim Baek
cfd30581d5
Merge branch 'dev' into chat-message-rebased
2026-02-02 09:33:41 -06:00
Timothy Jaeryang Baek
ea9c58ea80
feat: experimental responses api support
2026-02-01 19:39:28 -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
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
Timothy Jaeryang Baek
f9ab66f51a
refac
...
Co-Authored-By: Hsienz <55347238+hsienz@users.noreply.github.com >
2026-01-30 00:46:42 +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
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
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
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
34773e795b
wip: prompt history backend integration
2026-01-24 02:39:48 +04: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
3bec320bb9
refac
2026-01-23 01:23:34 +04:00
Timothy Jaeryang Baek
14e51e0977
refac
2026-01-23 01:02:41 +04:00
Timothy Jaeryang Baek
9af40624c5
refac
2026-01-22 18:58:00 +04:00
Timothy Jaeryang Baek
68b2872ed6
fix/refac: file batch process issue
2026-01-22 15:03:31 +04:00
Timothy Jaeryang Baek
474427c67e
enh: dynamic select options valve
2026-01-22 03:55:07 +04:00
Classic298
00b3583dc2
fix: fix reindex not working due to unnecessary dupe check ( #20857 )
...
* Update retrieval.py
* Update knowledge.py
* Update retrieval.py
* Update knowledge.py
2026-01-21 18:36:08 -05:00
Timothy Jaeryang Baek
8eebc2aea6
fix: mcp get_discovery_urls
2026-01-22 03:11:33 +04:00
Timothy Jaeryang Baek
ecbdef732b
enh: PDF_LOADER_MODE
2026-01-21 23:51:36 +04:00
Timothy Jaeryang Baek
4615e8f92b
refac
2026-01-20 22:28:10 +04: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
Timothy Jaeryang Baek
409f565f09
refac
2026-01-17 21:41:48 +04:00
Timothy Jaeryang Baek
7da37b4f66
refac
2026-01-12 21:41:23 +04:00
Classic298
1dc353433a
fix(db): release connection before embedding in memory /query ( #20579 )
...
Remove Depends(get_session) from POST /query endpoint to prevent database connections from being held during embedding API calls (1-5+ seconds).
The Memories.get_memories_by_user_id() function manages its own short-lived session internally, releasing the connection before the slow EMBEDDING_FUNCTION() call begins.
2026-01-11 23:37:47 +04:00