When the computer connected through Tether reconnected while the terminal's files panel was loading its working folder, a folder listing or a file, the load failed with "Tether connection interrupted". Reads like these are meant to be retried once Tether is back. They never were, because each of them went out with an empty upload attached, and an upload cannot be sent a second time. Requests with nothing to upload now go without one, so these reads are retried on the new connection. Uploads work as before.
Fixes#34394
Since a recent dev change, sending the first message of a new side chat saved it as "New Chat". With automatic title generation off it kept that name on the side chat's tab and in the chat list; with it on, the name only changed once the generated title arrived. A new side chat is named after its first message again, and one whose first message is only a file, with no text, keeps "New Chat" as before.
Fixes#34366
After picking a model from a side chat's model selector, the cursor did not go back to the side chat's message box, so anything typed next did not reach it until you clicked into the box again. In the main chat the cursor returns to the message box right away. Now the side chat does the same and the cursor lands in its own message box.
Fixes#34194
With a temporary chat in the main view, a saved chat opened in a tab beside it was treated as temporary too, so its answers showed no Good Response and Bad Response buttons. The saved chat in the tab can now be rated, while a temporary chat, in the main view or in a tab, still offers none.
Fixes#34211
* fix: "Open in new tab" beside a port on the Browser tab's start page opens "404: Not Found"
A chat's Browser tab (New tab > Browser) lists the servers running in the terminal under Ports before any page is open. The "Open in new tab" button beside each port opened a wrong address on the Open WebUI server, so the web browser's new tab showed "404: Not Found". It now opens the server running on that port, the same page you get by clicking the port inside the Browser tab, also for Per chat terminals.
Fixes#34108
* fix: keep "Open in new tab" beside a port working after a page reload
The address for the port now comes from the tab's terminal each time the Browser tab is shown, so a Browser tab restored after a reload no longer opens a 404. Terminals set to Per chat keep their chat in the address.
On a fresh pip install, local Whisper failed on every transcription with "open() got an unexpected keyword argument 'metadata_errors'", because PyAV 19 dropped an option that faster-whisper still passes when it reads audio. The Docker image was never affected, since it already pins PyAV to 14.0.1. The pip package now pins the same version, so new installs transcribe again. Checked on a clean Python 3.12 environment: a faster-whisper transcription fails with PyAV 19 and works with 14.0.1.
Fixes#34278
With the Playwright web loader, the text inside definition lists and figures never reached the model. Reference pages that document each function or option as a term with its description, like the Python standard library docs, loaded without those entries, and figures lost their captions and any table inside them. The loader now keeps this text, as the default web loader already did.
Fixes#34281
When an assistant message has tool calls but no text, the OpenAI Chat Completions format uses `content: null`, since content is optional next to tool calls and OpenAI's own API returns null there. Open WebUI sent an empty string in two places: when replaying earlier tool calls from the chat history, and when converting requests from clients that use its Anthropic-compatible endpoint. For Claude models, LiteLLM 1.81.14 through 1.108.x replaces that empty string with "[System: Empty message content sanitised to satisfy protocol]", and the model then repeats that line in its replies (LiteLLM 1.109 and later leave the empty text out instead). These messages now go out with null content, which OpenAI and every provider tested on OpenRouter (Gemini, Claude, DeepSeek, Qwen, Mistral, Llama, Kimi and Grok) accept.
Fixes#34264