Commit graph

10041 commits

Author SHA1 Message Date
Classic298
2d7fc04bfb
fix: use updated_at for sidebar chat timestamp (#26454)
The sidebar time-ago indicator rendered `created_at`, so the relative time stayed pinned to the chat's creation age and never reflected new activity. After sending a message the chat would jump to the top of the list (which sorts by `updated_at`) while still showing a stale label such as "3w", which is confusing.

The indicator was originally added using `updated_at` and was inadvertently switched to `created_at` during a later refactor. Restore `updated_at` (falling back to `created_at` when absent) so the timestamp matches the list ordering and updates whenever a chat is modified.

Fixes #26451
2026-07-01 02:08:56 -05:00
Timothy Jaeryang Baek
2ed8934f5b refac 2026-07-01 02:05:14 -05:00
Timothy Jaeryang Baek
56ee875e21 refac 2026-07-01 01:46:36 -05:00
Timothy Jaeryang Baek
58ef80d8f7 refac 2026-07-01 00:10:23 -05:00
Timothy Jaeryang Baek
af1c0eee89 refac 2026-06-30 20:20:15 -05:00
Timothy Jaeryang Baek
139206f0fe refac 2026-06-30 16:59:02 -05:00
Timothy Jaeryang Baek
6ed56b07c4 refac 2026-06-30 16:55:25 -05:00
Sicknine
1014c212a4
i18n(th-TH): translate missing Thai keys/fix typo (#26406) 2026-06-30 15:18:18 -05:00
Timothy Jaeryang Baek
4067e357b2 refac
Some checks are pending
Python CI / Ruff Format (3.11) (push) Waiting to run
Python CI / Ruff Format (3.12) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/amd64 runner:ubuntu-latest], map[build_args: free_disk:false name:main suffix:]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/amd64 runner:ubuntu-latest], map[build_args:USE_CUDA=true USE_CUDA_VER=cu126 free_disk:true name:cuda126 suffix:-cuda126]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/amd64 runner:ubuntu-latest], map[build_args:USE_CUDA=true free_disk:true name:cuda suffix:-cuda]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/amd64 runner:ubuntu-latest], map[build_args:USE_OLLAMA=true free_disk:false name:ollama suffix:-ollama]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/amd64 runner:ubuntu-latest], map[build_args:USE_SLIM=true free_disk:false name:slim suffix:-slim]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/arm64 runner:ubuntu-24.04-arm], map[build_args: free_disk:false name:main suffix:]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/arm64 runner:ubuntu-24.04-arm], map[build_args:USE_CUDA=true USE_CUDA_VER=cu126 free_disk:true name:cuda126 suffix:-cuda126]) (push) Waiting to run
Create and publish Docker images with specific build args / notify-helm-charts (push) Blocked by required conditions
Create and publish Docker images with specific build args / build (map[arch:linux/arm64 runner:ubuntu-24.04-arm], map[build_args:USE_CUDA=true free_disk:true name:cuda suffix:-cuda]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/arm64 runner:ubuntu-24.04-arm], map[build_args:USE_OLLAMA=true free_disk:false name:ollama suffix:-ollama]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/arm64 runner:ubuntu-24.04-arm], map[build_args:USE_SLIM=true free_disk:false name:slim suffix:-slim]) (push) Waiting to run
Create and publish Docker images with specific build args / merge (map[name:cuda suffix:-cuda]) (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge (map[name:cuda126 suffix:-cuda126]) (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge (map[name:main suffix:]) (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge (map[name:ollama suffix:-ollama]) (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge (map[name:slim suffix:-slim]) (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
Frontend Build / Format & Build (push) Waiting to run
Frontend Build / Unit Tests (push) Waiting to run
2026-06-29 21:31:49 -05:00
joaoback
651a02ed2f
i18n: add pt-BR translations for newly added UI items and consistency pass (#26391)
New **pt-BR** translations for items introduced in the latest releases, plus a consistency/quality pass across existing strings (grammar, tone, capitalization, pluralization). Placeholders and hotkeys preserved. No logic changes.
2026-06-29 21:14:01 -05:00
Timothy Jaeryang Baek
f6baa1bb77 refac 2026-06-29 14:34:22 -05:00
Timothy Jaeryang Baek
5134e5ecfc refac 2026-06-29 14:03:11 -05:00
Timothy Jaeryang Baek
06c169f73f chore: format 2026-06-29 13:42:24 -05:00
Timothy Jaeryang Baek
29d0113b37 refac 2026-06-29 13:41:57 -05:00
Classic298
6e3020b942
Update translation.json (#26386) 2026-06-29 13:40:25 -05:00
Timothy Jaeryang Baek
89709f5f80 refac 2026-06-29 13:39:08 -05:00
Timothy Jaeryang Baek
403392b41b chore: format 2026-06-29 13:35:39 -05:00
Timothy Jaeryang Baek
c33fadc266 refac 2026-06-29 13:30:32 -05:00
Timothy Jaeryang Baek
0443ab3a61 refac 2026-06-29 13:30:28 -05:00
Timothy Jaeryang Baek
24b8619f64 refac 2026-06-29 13:15:11 -05:00
Timothy Jaeryang Baek
3319b6410e refac 2026-06-29 13:14:42 -05:00
Timothy Jaeryang Baek
55cb98ff56 refac 2026-06-29 13:03:30 -05:00
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
Timothy Jaeryang Baek
fe3300bd65 refac 2026-06-29 12:10:39 -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
Classic298
27c97bfe96
i18n: complete German (de-DE) translations (#26383)
Translate all remaining untranslated strings in the German locale: 228 empty
values plus the genuinely translatable members of the value-equals-key set (240
entries total). Covers webhooks/events, external knowledge sources, context
compaction, terminal servers, OAuth/OIDC claims, skills, and directory
management.

Translations follow the existing locale conventions: formal "Sie" address,
established German terms (Websuche, Wissen, Werkzeuge, Wissensspeicher), and
brand/proper nouns, format names, and identical-in-German words left untouched.
2026-06-29 11:47:56 -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