Commit graph

6498 commits

Author SHA1 Message Date
Timothy Jaeryang Baek
517cd8d102 refac 2026-06-29 13:03:14 -05:00
Timothy Jaeryang Baek
7ea7680f56 refac 2026-06-29 12:59:05 -05:00
Timothy Jaeryang Baek
2c804b0ac4 refac 2026-06-29 12:55:10 -05:00
Timothy Jaeryang Baek
589b62b529 refac 2026-06-29 12:52:51 -05:00
Timothy Jaeryang Baek
21ac7e95a3 refac 2026-06-29 12:51:20 -05:00
Timothy Jaeryang Baek
fb27716186 refac 2026-06-29 12:46:37 -05:00
Timothy Jaeryang Baek
37a9da50df refac 2026-06-29 12:46:32 -05:00
Timothy Jaeryang Baek
db9977926c refac 2026-06-29 12:43:32 -05:00
Timothy Jaeryang Baek
ae5d23f226 refac 2026-06-29 12:38:04 -05:00
G30
c584a4270c
perf(ui): non-blocking model and tool server loading for unreachable connections (#26289)
- Move setModels() and setToolServers() out of the loaded gate in
  +layout.svelte so the page renders immediately instead of blocking
  behind slow/unreachable connection timeouts
- Track failed Ollama backend URLs from /api/tags and skip them in the
  subsequent /api/ps fan-out, eliminating a redundant second timeout
- Silence the autocomplete toast that fires during the transient empty
  model state
2026-06-29 12:34:00 -05:00
Timothy Jaeryang Baek
bb6b2db88b refac 2026-06-29 12:26:23 -05:00
Timothy Jaeryang Baek
c89fd237b8 refac 2026-06-29 12:16:05 -05:00
G30
6fd8c599c1
fix(ui): workspace models bulk actions and search pagination (#26274) 2026-06-29 12:14:15 -05:00
Timothy Jaeryang Baek
2856def6c0 refac 2026-06-29 12:12:23 -05:00
G30
dc1bc41d2e
fix(ui): fix pinned note sidebar drag-and-drop into chat context (#26384) 2026-06-29 12:05:39 -05:00
Timothy Jaeryang Baek
6f8221df58 refac 2026-06-29 11:59:29 -05:00
Algorithm5838
7572283517
fix: persist control revert to loaded value (#25793) 2026-06-29 11:37:30 -05:00
Timothy Jaeryang Baek
61cee42ded refac 2026-06-29 11:35:08 -05:00
Timothy Jaeryang Baek
4ed45ce843 refac 2026-06-29 10:58:57 -05:00
Timothy Jaeryang Baek
c7e634776d refac 2026-06-29 10:40:42 -05:00
Timothy Jaeryang Baek
a5c9459401 refac 2026-06-29 10:40:36 -05:00
Timothy Jaeryang Baek
5055fb85aa refac 2026-06-29 10:40:22 -05:00
Timothy Jaeryang Baek
7ed7e81e84 refac 2026-06-29 10:39:54 -05:00
Timothy Jaeryang Baek
303c426c3f refac 2026-06-29 10:39:47 -05:00
Timothy Jaeryang Baek
f9c3ccd869 refac 2026-06-29 10:04:29 -05:00
Classic298
75df948f34
feat: forward client User-Agent to model backends via {{USER_AGENT}} placeholder (#26333)
Adds a {{USER_AGENT}} custom-header placeholder that relays the inbound
client's User-Agent to upstream model backends, so providers see the real
client instead of Open WebUI's internal aiohttp UA. This makes upstream
usage/cost attribution and backend telemetry possible, and is opt-in
per-connection (no global flag): admins add {{USER_AGENT}} to a connection's
custom headers in Admin > Settings > Connections.

The placeholder is sourced from the live inbound request (with a metadata
fallback for detached RAG/tool calls), so it resolves on every prompt-sending
path, not just chat completions:

- OpenAI completions, Responses API, and proxy — all route through
  get_headers_and_cookies, which now passes the request into get_custom_headers.
- Anthropic Messages API (/api/v1/messages) — already covered, it delegates
  to the chat completion handler.
- Ollama (/api/chat, /v1/completions, /v1/chat/completions, /v1/messages,
  /v1/responses) — previously had no custom-header support at all; send_request
  now applies per-connection custom headers (with templating) for every
  Ollama prompt endpoint.

Custom headers are applied after the built-in user-info headers so explicit
admin-configured headers take precedence. The other existing placeholders
({{CHAT_ID}}, {{USER_ID}}, ...) now also work on the newly covered paths.

Frontend: the connection editor's Headers field is now shown for Ollama
connections too (previously gated to non-Ollama), so the placeholder can be
configured there.

Ref: open-webui/open-webui#26159
2026-06-29 05:58:19 -05:00
Timothy Jaeryang Baek
260f3c3a22 refac 2026-06-29 05:56:08 -05:00
Timothy Jaeryang Baek
e6d35fc4cc refac 2026-06-29 05:39:17 -05:00
Timothy Jaeryang Baek
67a7b23b85 refac 2026-06-29 05:26:34 -05:00
Timothy Jaeryang Baek
edf2c6c8f7 refac 2026-06-29 05:23:20 -05:00
Timothy Jaeryang Baek
0eba3df119 refac 2026-06-29 05:21:49 -05:00
Timothy Jaeryang Baek
aa851d93c6 refac 2026-06-29 05:18:12 -05:00
Timothy Jaeryang Baek
fa76764c3b refac 2026-06-29 05:16:57 -05:00
Timothy Jaeryang Baek
8927c9bb3d refac 2026-06-29 05:14:34 -05:00
Timothy Jaeryang Baek
422a4768ea refac 2026-06-29 05:14:03 -05:00
G30
5ffd4e53c3
fix(ui): prevent long default group name from overflowing admin settings layout (#25685) 2026-06-29 04:59:01 -05:00
G30
4fa3a74827
fix(chat): prevent sortable sidebar drags from triggering file upload overlay (#25675)
Add a custom MIME type (application/x-open-webui-drag) to intentional
chat and folder drag sources. The onDragOver handler in MessageInput
now checks for this type instead of the generic text/plain, which
SortableJS also sets during reorder operations for pinned menu items
(Notes, Workspace) and pinned Models.
2026-06-29 04:58:30 -05:00
G30
f53ec857c0
feat: support folder, note, and model drag-and-drop from sidebar as context references (#25771)
* feat(ui): add drag-to-reorder for pinned notes in sidebar

* feat(chat): support folder, note, and model drag-and-drop from sidebar as context references

---------

Co-authored-by: Tim Baek <tim@openwebui.com>
2026-06-29 04:41:16 -05:00
Timothy Jaeryang Baek
b617d56c60 refac 2026-06-29 04:37:38 -05:00
G30
ea6d02da0f
fix(ui): use correct field name for prompt clone title suffix (#25800) 2026-06-29 04:25:21 -05:00
Timothy Jaeryang Baek
b58b0ea7ca refac 2026-06-29 04:13:17 -05:00
Classic298
4c05abbe59
fix: respect model visibility in workspace base model selector (#25668)
The base model selector in the model creation workspace listed every
model from the global store, ignoring the per-model visibility (hidden)
flag. Models marked as not visible were correctly hidden from the chat
model selector but still appeared in the workspace 'Base Model (From)'
dropdown.

Filter out hidden models (info.meta.hidden) to match the chat selector
behavior, while still keeping a model visible if it is the currently
selected base, so editing a preset built on a now-hidden base does not
show a blank dropdown.

Fixes #25665

https://claude.ai/code/session_01CUvzYN9DjvwTpNCT5QL33B

Co-authored-by: Claude <noreply@anthropic.com>
2026-06-29 03:51:26 -05:00
G30
b05be8a907
fix(notes): refresh pinned notes sidebar when a note is deleted (#25640) 2026-06-29 03:48:22 -05:00
Timothy Jaeryang Baek
958237473f refac 2026-06-29 03:42:49 -05:00
Timothy Jaeryang Baek
4bc4630721 refac 2026-06-29 03:40:18 -05:00
G30
a8e5f0a54d
fix(ui): prevent space key from opening file/directory during rename in knowledge base (#25627) 2026-06-29 03:37:09 -05:00
maco
8bc4ac2641
fix: add aria-pressed and aria-label to Web Search and Image Generation toggles (#25258) 2026-06-29 03:36:37 -05:00
Classic298
58f9170319
fix: trim terminal bearer token so whitespace can't break the WebSocket (#25686)
A trailing space in the Open Terminal bearer token broke only the
interactive terminal: HTTP calls put the token in the Authorization
header, where the spec strips trailing whitespace, so the connection
test, file listing and tool calls all worked. The terminal WebSocket
can't set headers from the browser, so it sends the token inside a JSON
auth message that preserves the space verbatim, failing auth with
[Connection closed]. Normalize the key on save so whitespace never
enters storage, and trim it in the WebSocket auth message so existing
saved configs work without re-saving.


Fixes #25613

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 03:35:19 -05:00
Timothy Jaeryang Baek
9802b0d135 refac 2026-06-29 03:33:49 -05:00
G30
ed2d7d4acd
fix(i18n): standardize title case for settings toggle labels (#25765) 2026-06-29 03:30:40 -05:00