Commit graph

10824 commits

Author SHA1 Message Date
G30
370275a62e
i18n: fill missing Persian (fa-IR) translations (#32568) 2026-10-21 01:59:11 +09:00
G30
502d2a0395
i18n: fill missing Greek (el-GR) translations (#32567) 2026-10-21 01:58:40 +09:00
G30
220c124515
i18n: fill missing Malay (ms-MY) translations (#32566) 2026-10-21 01:58:37 +09:00
Classic298
aee4cbf463
fix: question card lays out Hebrew and Arabic text left to right (#32784)
When a model asks a question with Ask User in Hebrew, Arabic or another right-to-left language, the card is still laid out left to right, so the text is left-aligned and punctuation lands on the wrong end. The card now follows the Chat Direction setting like chat messages do: with the default Auto the whole card takes its direction from its text, and the Other answer box picks the direction of whatever is typed into it. English cards look the same as before.

Fixes #32778
2026-10-21 01:58:10 +09:00
G30
2523389642
fix: a reader of a shared read-only note sees its word and character counts (#32711) 2026-10-21 01:57:54 +09:00
G30
5edbd12bc9
fix: the voice picked in Settings > Audio is the one Read Aloud and voice mode use (#32705) 2026-10-21 01:57:31 +09:00
G30
74757a52ce
i18n: fill missing Latvian (lv-LV) translations (#32594) 2026-10-21 01:56:23 +09:00
G30
6a7205e965
fix: the notes list's Pin item follows a note unpinned from the sidebar (#32707) 2026-10-21 01:55:30 +09:00
G30
4604f2a3bc
fix: insert images uploaded from the note menu (#32793) 2026-10-21 01:37:04 +09:00
Timothy Jaeryang Baek
7484c75e16 refac
Some checks are pending
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_CUDA=true free_disk:true name:cuda suffix:-cuda]) (push) Waiting to run
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:slim suffix:-slim]) (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
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 / 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 / merge (map[name:cuda suffix:-cuda]) (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 / notify-helm-charts (push) Blocked by required conditions
Create and publish Docker images with specific build args / copy-to-dockerhub (, main) (push) Blocked by required conditions
2026-10-19 23:13:22 +09:00
Timothy Jaeryang Baek
aa8ce52c7a refac
Some checks are pending
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/arm64 runner:ubuntu-24.04-arm], map[build_args:USE_CUDA=true free_disk:true name:cuda suffix:-cuda]) (push) Waiting to run
Frontend Build / Format & Build (push) Waiting to run
Frontend Build / Unit Tests (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 / 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 / notify-helm-charts (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
2026-10-19 05:01:59 +09:00
Timothy Jaeryang Baek
5c9865a1f1 refac 2026-10-19 03:31:18 +09:00
Timothy Jaeryang Baek
596cdbb6ca refac 2026-10-19 03:30:33 +09:00
Timothy Jaeryang Baek
ffbe0ac12d refac 2026-10-19 03:16:41 +09:00
Timothy Jaeryang Baek
32170b96fc refac 2026-10-19 03:08:52 +09:00
Timothy Jaeryang Baek
079fb19e75 refac
Some checks failed
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
Python CI / Ruff Format (3.11) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
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) Has been cancelled
Python CI / Ruff Format (3.12) (push) Has been cancelled
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) Has been cancelled
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) Has been cancelled
Frontend Build / Format & Build (push) Has been cancelled
Frontend Build / Unit Tests (push) Has been cancelled
Create and publish Docker images with specific build args / merge (map[name:cuda suffix:-cuda]) (push) Has been cancelled
Create and publish Docker images with specific build args / merge (map[name:cuda126 suffix:-cuda126]) (push) Has been cancelled
Create and publish Docker images with specific build args / merge (map[name:ollama suffix:-ollama]) (push) Has been cancelled
Create and publish Docker images with specific build args / merge (map[name:slim suffix:-slim]) (push) Has been cancelled
Create and publish Docker images with specific build args / copy-to-dockerhub (-cuda, cuda) (push) Has been cancelled
Create and publish Docker images with specific build args / merge (map[name:main suffix:]) (push) Has been cancelled
Create and publish Docker images with specific build args / notify-helm-charts (push) Has been cancelled
Create and publish Docker images with specific build args / copy-to-dockerhub (, main) (push) Has been cancelled
Create and publish Docker images with specific build args / copy-to-dockerhub (-cuda126, cuda126) (push) Has been cancelled
Create and publish Docker images with specific build args / copy-to-dockerhub (-ollama, ollama) (push) Has been cancelled
Create and publish Docker images with specific build args / copy-to-dockerhub (-slim, slim) (push) Has been cancelled
2026-10-16 18:58:58 +04:00
Timothy Jaeryang Baek
755d3b9404 refac 2026-10-16 15:25:27 +04:00
Timothy Jaeryang Baek
4b81b12ed4 chore: format 2026-10-16 15:20:15 +04:00
Timothy Jaeryang Baek
b1d3cb4a3b chore: format 2026-10-16 15:20:01 +04:00
Timothy Jaeryang Baek
83b5dad0cb refac 2026-10-16 15:14:53 +04:00
Timothy Jaeryang Baek
15ac5163ea refac 2026-10-16 15:11:59 +04:00
Timothy Jaeryang Baek
4ebdd4a75c refac 2026-10-16 15:02:13 +04:00
Timothy Jaeryang Baek
d12da61e5a refac 2026-10-16 14:55:40 +04:00
Timothy Jaeryang Baek
c3c3087645 refac 2026-10-16 14:44:05 +04:00
Timothy Jaeryang Baek
5cf7c03332 refac 2026-10-16 14:35:09 +04:00
Timothy Jaeryang Baek
7c3980338b refac 2026-10-16 14:34:35 +04:00
Timothy Jaeryang Baek
92e64c1d59 refac 2026-10-16 14:31:39 +04:00
Timothy Jaeryang Baek
8c56361ee0 refac 2026-10-16 14:23:26 +04:00
Timothy Jaeryang Baek
59d6f5e43c refac 2026-10-16 14:18:22 +04:00
Classic298
df5fc0c14f
fix: someone removed from a group keeps a chat shared with that group open (#32535)
When an admin took someone out of a group, a chat shared with that group with "Allow replies" stayed open on that person's screen, message box included. Changing a group drops that person's live connection, and when it came back the chat was only checked again if the server let them back in, so a refused rejoin left the page as it was. Now the chat is checked again after every answer, so someone who lost access is sent to the home page.

Fixes #32527
2026-10-16 14:16:03 +04:00
Classic298
291b57bec2
feat: long status lines above a reply can be expanded to their full text (#32532)
Status messages above a reply, such as the ones functions and tools send, were always cut to one line, so a longer message like a token usage summary could never be read in full, especially when several models answer side by side. Clicking a single status line now shows its full text, and when there are several, clicking opens the status history with every entry in full. Status lines with their own view, like web search results, are unchanged.

Fixes #30056
2026-10-16 14:15:45 +04:00
Classic298
aa1dd240cd
fix: message in a chat opened from the sidebar fails with "is not valid JSON" (#32534)
Opening a chat from the sidebar while the home page was still setting up a new chat let that setup finish afterwards and clear the opened chat's id. The next message then failed with "Unexpected token 'd', "data: {"id"... is not valid JSON" and the chat's tags did not load. The new chat setup now stops once another chat has been opened. Signing in to an OAuth tool still turns it on together with the model's default tools.

Follow-up to #32488
2026-10-16 14:10:47 +04:00
Classic298
ed5c2d7522
feat: Google Drive file picker only asks for access to the files you pick (#32531)
Connecting Google Drive asked every user for the drive.readonly scope, read access to their whole Drive. Google classes that scope as restricted, so each self-hosted install needed Google's restricted-scope verification and security assessment, and until then users got the "Google hasn't verified this app" warning. The picker now only requests drive.file, access to the files the user picks, which Google classes as non-sensitive and which needs no such verification. With that scope Google requires the picker to name the Cloud project, so it sends the project number again, taken from the leading digits of the Google Drive client ID. It also opens in list view, as Google recommends for this scope, since the picker gets no thumbnail access with it.

Fixes #29537
2026-10-16 14:09:42 +04:00
Classic298
0dd18050a6
fix: folder page never shows its chats (#32526)
On dev, opening a folder's page showed a spinner forever and never listed its chats, because the date next to each chat could not be formatted after the search dialog rewrite. The folder page now loads the date format it needs itself, so its chat list shows again.

Fixes #32525
2026-10-16 14:09:23 +04:00
G30
d00044cdda
fix: opening another channel thread after a search result no longer shows it empty (#32517) 2026-10-16 14:08:41 +04:00
Timothy Jaeryang Baek
788a61180b refac 2026-10-16 04:20:14 +04:00
Mohamed Almearag
8c85f75d67
i18n: restore translated placeholder names (#32501)
Placeholder names were translated in 10 locales, e.g. {{ نماذج }} instead of {{ models }}, so i18next showed the raw placeholder instead of the value.
2026-10-16 04:10:01 +04:00
Timothy Jaeryang Baek
af34515131 refac 2026-10-16 04:07:18 +04:00
G30
5d4f16bcc9
fix: refreshing a new chat with Landing Page Mode set to Chat no longer throws a TypeError (#32510)
With Settings > Interface > Landing Page Mode set to Chat, the new chat
page renders the message list, so the block that reveals a message picked
from search ran there too. With no chat open, chat?.id and
$page.params.id are both undefined, the guard passed, and chat.id threw
"can't access property 'id'" on every refresh.

Require a chat before comparing its id with the page's.
2026-10-16 03:48:05 +04:00
Timothy Jaeryang Baek
a575875cc3 refac 2026-10-16 03:29:06 +04:00
Timothy Jaeryang Baek
9cf48f4fb0 refac 2026-10-16 03:28:17 +04:00
G30
a8dd8dbf98
fix: a model can switch off every Default Feature the admin turned on (#32500)
The model editor dropped meta.defaultFeatureIds when the list was empty.
When Admin Settings > Models > Model Defaults turns a default feature on,
the backend fills in that default for any model without the key, so
switching the last feature off on a model saved nothing and the admin
default came back on reopen and in new chats.

Keep the empty list when the admin default is not empty, so the model's
choice is stored and overrides it.
2026-10-16 03:22:13 +04:00
Timothy Jaeryang Baek
e9233a9542 refac 2026-10-16 03:21:22 +04:00
G30
493b10630b
fix: hide Delete on replies for people replying in a shared chat (#32480) 2026-10-16 03:20:26 +04:00
G30
9cc648cad8
fix: a built-in tool a model turns back on stays on (#32504)
When Admin Settings > Models > Model Defaults turns a built-in tool off,
a model that turns it back on lost that choice on Save. The editor seeds
the model's builtinTools with the admin defaults object itself, and
setBuiltinTool deleted the tool's key in place, so the admin defaults
changed too. The empty map was then dropped on save, and the backend
filled in the admin default again.

Update a copy of the map in setBuiltinTool, as the Default Features
toggles in Capabilities.svelte already build a new list, and keep the
empty map when the admin default is not empty, so the model's choice is
stored and overrides it.
2026-10-16 03:14:30 +04:00
Timothy Jaeryang Baek
ba0b2169e1 refac 2026-10-16 03:13:13 +04:00
G30
e979a1f9e2
fix: saving Settings > Interface no longer turns the admin's default font into your own (#32497)
The Interface tab's Save sent fontFamily and imageCompressionSize every
time, read from the settings store, which already carries the admin's
Default Interface Settings for anything the user has not set. One Save
with nothing changed therefore stored the admin's default as a personal
value: the row switched from "Default" to "Custom", and a later change
to the admin default never reached that account.

Leave a value out of that Save while the user only inherits it, as
isDefaultSetting already decides for the "Default" label. Values the
user set keep saving as before.
2026-10-16 03:02:58 +04:00
G30
7da8653e71
fix: read aloud no longer stops after the first sentence when speech is slow (#32484)
speak() synthesizes one sentence at a time and enqueues each clip as it
arrives. When a clip finishes before the next one is ready, the audio queue
reports 'empty-queue', and the onStopped handler set speaking to false. The
loop only enqueues while speaking is true, so every later clip was
synthesized and then dropped, and the speaker button went back to idle.

Ignore 'empty-queue' while the synthesis loop is still running; playback
resumes on the next enqueue, and the queue's 'empty-queue' after the last
clip still ends playback as before.
2026-10-16 03:02:28 +04:00
Classic298
ec39df7da5
fix: inline HTML preview in a reply shows "File not found" on a Per chat terminal (#32485)
With an Open Terminal orchestrator connection set to Terminal Contexts > Chat = "Per chat" (Admin > Integrations > Open Terminal), the preview of an HTML file shown inside an assistant reply looked for the file in the shared terminal workspace, so it showed "File not found" even though the file sits in the chat's own workspace. The sidebar file browser already opens the same file correctly since #32418. The preview inside the reply now uses the chat's own workspace as well.

Fixes #32477
2026-10-16 03:00:56 +04:00
G30
0696bfdf27
fix: a reply started in one channel thread no longer carries over to the next thread (#32490)
On a wide window the thread side panel keeps one Thread instance while
you open another thread, and initHandler reset the messages and typing
state for the new thread but not replyToMessage. The "Replying to"
banner stayed, and sending saved the new thread's message quoting a
message from the previous thread.

Clear replyToMessage in initHandler, as #31376 does for switching
channels.
2026-10-16 03:00:42 +04:00