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 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_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/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 / 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
The view_file and view_knowledge_file built-in tools let a model ask for a start and end line, but passing only the end line did nothing: the tool returned the first block of characters and dropped the end line without a word. Models that asked for "up to line N" kept getting the same opening slice and no error, so they retried the call over and over. An end line on its own now reads from line 1 up to that line, the same result as passing start line 1 explicitly.
Fixes#33100
When a model reads a file or knowledge-base file in pages with line numbers turned on, the position it was told to continue from pointed past the end of the previous page, so a chunk of text between pages was silently skipped and never returned. The gap grew with every page, dropping a few percent of a large file. Reading now continues from the right place and returns every character exactly once; paging with line numbers off is unchanged.
Fixes#33099
* fix: knowledge, note and chat attach entries open while file upload is off
When a user may not attach files (no file upload permission, or a selected model without "File Upload"), the "+" menu greys out "Attach Knowledge", "Reference Chats" and "Attach Notes", but they still opened, and the picked item vanished from the input without a message. Knowledge picked from the "#" and "@" lists vanished the same way, and the "#" list offered a pasted link to users without the web upload permission, which only answered "You do not have permission to upload web content". The greyed entries now do nothing on click, like "Attach Files" next to them, and the "#" and "@" lists leave out what the user cannot attach.
Refs #32830
* refac: drop type annotations on the upload flag to match neighbours
The new upload flag declarations now follow the untyped style of the lines around them.
* fix: hide attach entries in the # and @ lists from the first keystroke
The chat input now works out on its own whether files can be attached, so the lists no longer wait for the + menu to report it.
* fix: knowledge base files stay on "Uploading" instead of switching to "Processing"
A file added to a knowledge base is uploaded in a moment, and the long wait after that is the text extraction, which the file list still called "Uploading". Nothing updated on its own either, so the only way to find out whether a file had moved on or finished was to leave the knowledge base and come back. The file now switches to "Processing" as soon as it has reached the server, and the list keeps itself current until the file is ready, so slow text extraction no longer looks like a stuck upload. Adding a folder or a web page goes through a different flow and is not touched here.
* refac: inline the processing status update for knowledge base uploads
Moves the status update straight into the upload call with no change in behaviour.
* refac: drop a stray blank line and comment from the upload handler
Removes a blank line and a comment the previous follow-up added, with no change in behaviour.
On fresh installs the web loader and other HTML extraction came back empty because a transitive dependency update started crashing during tokenization. Holding that dependency at its last good version restores extraction. Verified on a clean Python 3.12 install that loading a page returns its text again.
Choosing Add Details, More Concise, or typing a suggestion under a reply sent the model your original question followed straight by the bare instruction, with the reply itself missing, so it answered the instruction on its own (for example "OK, I'll keep answers shorter") instead of rewriting that reply. The model now receives the reply it is being asked to change, so it returns a shorter, more detailed or altered version of it. Plain Try Again and temporary chats were not affected.
Fixes#33083
* fix: built-in tool toggles show while their feature is off
The model editor listed the Memory, Notes, Channels, Notifications, Web Search, Image Generation, Code Interpreter, Automations, Calendar and Sub-agents built-in tools even when the admin had turned that feature off for the whole instance, where those toggles do nothing. Each of them is now hidden while its feature is off, and the choices saved on a model are kept for when it is turned back on. The server now also reports whether sub-agents are on, and saving the Sub-agents settings updates the editor without a reload.
Refs #32830
* refac: name the feature switch map like the rest of the codebase
Uses the same name the model capabilities change uses for its matching map.
* refac: keep each tool's feature switch next to its label
Each built-in tool now carries its feature switch alongside its label and description, so the list is defined in one place.