4072 Commits

Author SHA1 Message Date
Timothy Jaeryang Baek
8ff7ff459b chore: format 2026-04-24 18:48:21 +09:00
Timothy Jaeryang Baek
f48b8ffbf0 refac 2026-04-24 18:38:57 +09:00
Constantine
3560d2f630 perf(chats): drop redundant db.refresh after commit in update_chat_by_id (#24024)
The chat table has no computed columns (no DEFAULT, SERIAL/IDENTITY,
or TRIGGER that populate server-side values on UPDATE), and every
column modified by update_chat_by_id is set explicitly from Python
values earlier in the function. db.refresh therefore issues a SELECT
that replaces those just-written Python values with the round-tripped
database representation of the same values, which is a no-op for
functional purposes but pulls the entire chat.chat JSON blob back over
the network and through the driver's JSON decoder.

On large, active chats where chat.chat can reach tens of megabytes,
skipping the refresh measurably reduces latency and eliminates one
~JSON-sized transient allocation per write.
2026-04-24 18:34:57 +09:00
RomualdYT
e0d6074cd2 refactor(firecrawl): use v2 API directly (#23934)
Co-authored-by: Tim Baek <tim@openwebui.com>
2026-04-24 18:32:08 +09:00
Timothy Jaeryang Baek
3d1e355df7 refac 2026-04-24 18:20:10 +09:00
Timothy Jaeryang Baek
7102a63c82 refac 2026-04-24 18:06:19 +09:00
Timothy Jaeryang Baek
1cea8ec7d4 refac 2026-04-24 17:59:45 +09:00
Timothy Jaeryang Baek
a7a92d2d9b refac 2026-04-24 17:49:22 +09:00
Timothy Jaeryang Baek
60f67c7c17 refac 2026-04-24 17:07:23 +09:00
Timothy Jaeryang Baek
9771898c58 refac 2026-04-24 17:04:47 +09:00
Timothy Jaeryang Baek
d8b55afb00 refac 2026-04-24 16:37:02 +09:00
Timothy Jaeryang Baek
62693938a3 refac 2026-04-24 16:36:07 +09:00
Timothy Jaeryang Baek
d6b73ea2f2 refac 2026-04-24 16:31:02 +09:00
Timothy Jaeryang Baek
5774ab4984 refac 2026-04-24 16:26:34 +09:00
Timothy Jaeryang Baek
db05fdaf83 refac 2026-04-24 16:23:28 +09:00
Timothy Jaeryang Baek
678c44c7cd refac 2026-04-24 16:17:46 +09:00
Timothy Jaeryang Baek
5cc55e2278 refac 2026-04-24 15:51:54 +09:00
Timothy Jaeryang Baek
26711c1bcc refac 2026-04-24 15:46:08 +09:00
Jacob Leksan
f2cb63140c perf: redirect default model profile image to canonical static URL (#24015)
- Return 302 to /static/favicon.png instead of streaming the same PNG per
  model id so browsers can cache one asset for default avatars.
- Validate stored /static/ paths with decode, normpath, and /static
  prefix checks; invalid paths fall back to favicon.

Made-with: Cursor
2026-04-24 15:45:10 +09:00
Timothy Jaeryang Baek
a766521933 refac 2026-04-24 15:39:12 +09:00
Timothy Jaeryang Baek
7da6b82471 refac 2026-04-24 15:35:59 +09:00
Timothy Jaeryang Baek
b87c755574 refac 2026-04-24 15:29:36 +09:00
Timothy Jaeryang Baek
6ecba19447 refac 2026-04-24 15:21:52 +09:00
Timothy Jaeryang Baek
90584ab6f3 refac 2026-04-24 15:21:37 +09:00
goodbey857
58bc254809 feat: add PaddleOCR-vl loader support and implement retrieval router infrastructure (#23945)
Co-authored-by: Tim Baek <tim@openwebui.com>
Co-authored-by: joaoback <156559121+joaoback@users.noreply.github.com>
2026-04-24 15:19:37 +09:00
Timothy Jaeryang Baek
0e311a95a7 refac 2026-04-24 15:16:37 +09:00
Timothy Jaeryang Baek
d0e51bde5d refac 2026-04-24 15:03:29 +09:00
Timothy Jaeryang Baek
4dc5c1eb4f refac 2026-04-24 15:00:47 +09:00
tcx4c70
f6bd08c852 fix(utils): Switch throttle decorator to async (#23979)
After migration to async db operations, the throttle decorator also
needs to support async. Since the decorator is only used for async funcs
now, we can just switch it to async instead of supporting sync and async
at the same time.

Signed-off-by: Adam Tao <tcx4c70@gmail.com>
2026-04-24 14:39:45 +09:00
Timothy Jaeryang Baek
116eb7fc55 refac 2026-04-21 16:05:26 +09:00
Timothy Jaeryang Baek
65f55847a1 refac 2026-04-21 16:04:48 +09:00
Timothy Jaeryang Baek
6cc799b1bb chore: format 2026-04-21 15:52:00 +09:00
Timothy Jaeryang Baek
b9fc3f367a refac 2026-04-21 15:47:32 +09:00
Timothy Jaeryang Baek
c7b6de6ca4 refac 2026-04-21 15:41:07 +09:00
Timothy Jaeryang Baek
c4aac0415c refac 2026-04-21 14:58:28 +09:00
Timothy Jaeryang Baek
a27916d1db refac 2026-04-21 14:31:04 +09:00
Timothy Jaeryang Baek
65834432a3 refac 2026-04-21 13:51:39 +09:00
Timothy Jaeryang Baek
46d73c9dcd refac 2026-04-21 13:46:39 +09:00
Timothy Jaeryang Baek
a2875f13c6 refac 2026-04-21 13:33:33 +09:00
Timothy Jaeryang Baek
e88e565ab4 refac 2026-04-21 13:18:54 +09:00
Timothy Jaeryang Baek
b645b0dc23 refac 2026-04-20 18:47:53 +09:00
Tim Baek
51627555bf refac 2026-04-20 03:35:17 -04:00
Timothy Jaeryang Baek
5127354b3e refac 2026-04-20 09:21:30 +09:00
Timothy Jaeryang Baek
f246a66810 refac 2026-04-20 09:10:48 +09:00
Timothy Jaeryang Baek
47329b5032 refac 2026-04-20 08:55:34 +09:00
Timothy Jaeryang Baek
d5e69f182c refac 2026-04-20 08:53:06 +09:00
Timothy Jaeryang Baek
e29d145a1c refac 2026-04-20 08:48:35 +09:00
Classic298
b3ca943da1 perf(channels): batch user lookup in model_response_handler thread history (#23795)
* perf(channels): batch user lookup in model_response_handler thread history

The thread-history builder in model_response_handler called
Users.get_user_by_id once per thread message (deduped via an intra-loop
dict), producing N individual SELECTs for a thread of N unique authors.

Replace with a single Users.get_users_by_user_ids call that returns all
authors in one WHERE id IN (...) query, matching the batch pattern
already used elsewhere in this file (lines 739, 804, 1320).

Behavior is preserved: deleted users still resolve to None and fall
through to the existing 'Unknown' fallback via .get().

* refac(channels): rename loop vars to full words per review

Address reviewer feedback to use descriptive names `message` and `user`
instead of single-letter `m` and `u` in the batch user-lookup
comprehensions.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-20 08:37:07 +09:00
Timothy Jaeryang Baek
56c5bc1d34 refac 2026-04-20 08:36:24 +09:00
Timothy Jaeryang Baek
fd25152076 refac 2026-04-20 08:34:15 +09:00