Conversation
* fix: replace bare except with except Exception in main.py * fix: replace bare except with Exception in oauth.py In Python 3, bare 'except:' is discouraged as it catches all SystemExit and KeyboardInterrupt exceptions. Changed to 'except Exception:' to only catch actual exceptions.
…cy pass (#22391) 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.
… pass (#22452) 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.
Update ms-MY Malay (Bahasa Malaysia) Language
`raise "string"` in Python raises TypeError instead of the intended error, making error messages confusing and debugging difficult. Co-authored-by: gambletan <ethanchang32@gmail.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…ing into sidebar (#22454)
getTimeRange returns month names that are used as i18n translation keys
(consumed via \.t(chat.time_range) in the sidebar, search modal, etc.).
The keys must be exact English strings like 'January', 'February', etc.
Previously, toLocaleString('default', { month: 'long' }) was used to
generate these keys. The 'default' locale defers to the browser's locale
resolution, which in Firefox with intl.regional_prefs.use_os_locales=true
picks up OS regional settings instead of the browser language. This caused
German month names (e.g. 'Februar', 'Januar') to appear in the sidebar for
users whose OS region is set to Germany, even when both browser and app
language are set to English. Chrome was unaffected because it ignores OS
regional settings for the 'default' locale.
Since i18n has no translation key for 'Februar', the German string passed
through untranslated. Replace toLocaleString with a static MONTH_NAMES
array lookup to make the intent explicit and eliminate any browser/OS
locale dependency.
…22445) In both inlet and outlet filter processing, response.json() was called BEFORE response.raise_for_status(). When a filter endpoint returns an HTTP error, the user's chat payload gets silently overwritten with the error response body. If the error is not caught, the corrupted payload propagates through subsequent filters and into the chat completion. Swapped the order so raise_for_status() runs first — payload is only updated on success. Co-authored-by: gambletan <ethanchang32@gmail.com>
…2444)
json.loads(event_data.get("user", {})) crashes with TypeError when
the "user" key is absent because the default value {} is a dict, not
a JSON string. json.loads expects str/bytes, not dict.
Also handle the case where "user" is already a dict (not serialized
JSON) to make the webhook more robust.
Co-authored-by: gambletan <ethanchang32@gmail.com>
- URL-encodes the OAuth error message when constructing the redirect URL in the OIDC callback handler - Without encoding, error messages containing spaces, ampersands, or other special characters produce malformed URLs that the frontend cannot parse correctly - The custom OAuth client callback handler already correctly uses urllib.parse.quote_plus() for the same purpose; this fix brings the OIDC handler in line with that pattern Co-authored-by: gambletan <tan@gambletan.com>
The locale for Azure TTS SSML was being extracted with `split("-")[:1]`,
which only takes the first segment (e.g., "en" from "en-US"). The
xml:lang attribute in SSML requires a full locale like "en-US", not just
a language code. This caused Azure TTS to either fail or use incorrect
pronunciation rules.
Changed `[:1]` to `[:2]` to properly extract the locale (e.g., "en-US").
Co-authored-by: gambletan <ethanchang32@gmail.com>
The get_token_usage_by_user query lacked group_id filtering, while the companion get_message_count_by_user query already supported it. When an admin filtered analytics by user group, message counts were correctly scoped to the group but token usage totals included data from all users. Add the group_id parameter and subquery filter to get_token_usage_by_user, matching the pattern used by get_message_count_by_user and other analytics queries, and pass group_id through from the analytics endpoint.
Add on:error handler to img
Previously, QueuedMessageItem only rendered text content and ignored the files array, causing queued messages with only images to appear blank. Now passes files to the component and renders image thumbnails and file name indicators inline. Fixes #22256
… templates
Add |middletruncate:n, |start:n, and |end:n pipe filters to the
{{MESSAGES}} template variable, enabling per-message character
truncation for task models (title, tags, follow-up, etc.).
Example: {{MESSAGES:END:2|middletruncate:500}}
This optimizes task model prompt size for conversations with very
long messages (e.g. pasted documents), reducing latency for local
models and API costs.
Closes #21499
* Add v0.8.10 changelog entry * changelog: docker startup fix for missing opentelemetry dependency * changelog: add translation updates for v0.8.10 * changelog: oauth-error-handling, exception-messages * changelog: fix YAML file processing with Docling (#22399) * changelog: tool access fix for non-admin users * changelog: fix time range month names localization * changelog: pipeline filter, webhook crash, shutdown handling * changelog: tool method filtering, OAuth URL encoding, Azure TTS * changelog: add analytics group filtering fix * changelog: api-calls, optimization, performance * changelog: add MariaDB Vector support entry * changelog: add web search favicon fallback fix * changelog: custom model fallback fix * changelog: pending message image display fix (#22256) * changelog: task message truncation for title and tag generation * changelog: oidc, logout, custom-endpoint * changelog: files list stability fix for issue #21879 * Remove empty Changed section from v0.8.10 * changelog: file metadata sanitization fix * Remove empty Changed section from v0.8.10 * changelog: fix knowledge file embedding updates for RAG * changelog: add Azure speech transcription error fix
# Conflicts: # backend/open_webui/retrieval/utils.py # backend/requirements.txt # package-lock.json # package.json # src/lib/i18n/locales/ar-BH/translation.json # src/lib/i18n/locales/ar/translation.json # src/lib/i18n/locales/bg-BG/translation.json # src/lib/i18n/locales/bn-BD/translation.json # src/lib/i18n/locales/bo-TB/translation.json # src/lib/i18n/locales/bs-BA/translation.json # src/lib/i18n/locales/ca-ES/translation.json # src/lib/i18n/locales/ceb-PH/translation.json # src/lib/i18n/locales/cs-CZ/translation.json # src/lib/i18n/locales/da-DK/translation.json # src/lib/i18n/locales/de-DE/translation.json # src/lib/i18n/locales/dg-DG/translation.json # src/lib/i18n/locales/el-GR/translation.json # src/lib/i18n/locales/en-GB/translation.json # src/lib/i18n/locales/en-US/translation.json # src/lib/i18n/locales/es-ES/translation.json # src/lib/i18n/locales/et-EE/translation.json # src/lib/i18n/locales/eu-ES/translation.json # src/lib/i18n/locales/fa-IR/translation.json # src/lib/i18n/locales/fi-FI/translation.json # src/lib/i18n/locales/fr-CA/translation.json # src/lib/i18n/locales/fr-FR/translation.json # src/lib/i18n/locales/gl-ES/translation.json # src/lib/i18n/locales/he-IL/translation.json # src/lib/i18n/locales/hi-IN/translation.json # src/lib/i18n/locales/hr-HR/translation.json # src/lib/i18n/locales/hu-HU/translation.json # src/lib/i18n/locales/id-ID/translation.json # src/lib/i18n/locales/ie-GA/translation.json # src/lib/i18n/locales/it-IT/translation.json # src/lib/i18n/locales/ja-JP/translation.json # src/lib/i18n/locales/ka-GE/translation.json # src/lib/i18n/locales/kab-DZ/translation.json # src/lib/i18n/locales/ko-KR/translation.json # src/lib/i18n/locales/lt-LT/translation.json # src/lib/i18n/locales/lv-LV/translation.json # src/lib/i18n/locales/ms-MY/translation.json # src/lib/i18n/locales/nb-NO/translation.json # src/lib/i18n/locales/nl-NL/translation.json # src/lib/i18n/locales/pa-IN/translation.json # src/lib/i18n/locales/pl-PL/translation.json # src/lib/i18n/locales/pt-BR/translation.json # src/lib/i18n/locales/pt-PT/translation.json # src/lib/i18n/locales/ro-RO/translation.json # src/lib/i18n/locales/ru-RU/translation.json # src/lib/i18n/locales/sk-SK/translation.json # src/lib/i18n/locales/sr-RS/translation.json # src/lib/i18n/locales/sv-SE/translation.json # src/lib/i18n/locales/th-TH/translation.json # src/lib/i18n/locales/tk-TM/translation.json # src/lib/i18n/locales/tr-TR/translation.json # src/lib/i18n/locales/ug-CN/translation.json # src/lib/i18n/locales/uk-UA/translation.json # src/lib/i18n/locales/ur-PK/translation.json # src/lib/i18n/locales/uz-Cyrl-UZ/translation.json # src/lib/i18n/locales/uz-Latn-Uz/translation.json # src/lib/i18n/locales/vi-VN/translation.json # src/lib/i18n/locales/zh-CN/translation.json # src/lib/i18n/locales/zh-TW/translation.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.