Commit Graph
9798 Commits
Author SHA1 Message Date
Timothy Jaeryang Baek 76583749ed refac 2026-08-13 15:52:44 -06:00
Timothy Jaeryang Baek ec9bf5a64f refac 2026-08-13 15:49:50 -06:00
Timothy Jaeryang Baek 52c5e3b20d refac 2026-08-13 15:43:27 -06:00
Timothy Jaeryang Baek c93c6d6fc4 refac 2026-08-13 15:42:54 -06:00
Timothy Jaeryang Baek c1f914a626 refac 2026-08-13 15:38:25 -06:00
Timothy Jaeryang Baek bfb68feea7 refac 2026-08-13 15:33:42 -06:00
Timothy Jaeryang Baek 2befa8f796 refac 2026-08-13 15:26:19 -06:00
Timothy Jaeryang Baek 7dfbdd221a refac 2026-08-13 15:20:59 -06:00
Timothy Jaeryang Baek 8d25ad00e2 refac 2026-08-13 14:52:30 -06:00
Timothy Jaeryang Baek 60feca71a6 refac 2026-08-13 14:50:43 -06:00
Timothy Jaeryang Baek a17cb174ad refac 2026-08-13 14:46:08 -06:00
Classic298 5cb87e6630 fix: announce toggle state of integrations menu rows to screen readers (#27667)
Every toggle row in the chat integrations menu (filters, Web Search, Image, Code Interpreter, Tools, Skills) is a button whose on/off state was carried only by the decorative Switch inside it. Screen readers announced the row name and nothing else, so there was no way to tell whether a tool or feature was active without looking at it.

Each row button now carries aria-pressed, and the Switch wrapper is marked inert so the nested role=switch stops competing with the row for the announcement and stops adding a nameless tab stop. Hit testing skips inert content, so clicking the switch still toggles the row.

Tool rows that are not yet authenticated omit aria-pressed: activating those starts an OAuth redirect rather than toggling, so announcing them as an unpressed toggle would be wrong.

The Web Search, Image and Code Interpreter rows also had a state-flipping aria-label ("Disable Web Search") on top of aria-pressed, which announces as "Disable Web Search, pressed" and reads as the opposite of the truth. Removed: the visible row text already names each control.

Fixes #17150
2026-08-13 13:04:13 -06:00
Timothy Jaeryang Baek ba885d0026 refac 2026-08-13 13:03:56 -06:00
Timothy Jaeryang Baek 17c190bf99 refac 2026-08-13 02:07:02 -06:00
Timothy Jaeryang Baek f8c5fda283 refac 2026-08-13 02:03:13 -06:00
Timothy Jaeryang Baek 31c1ffd55a refac 2026-08-13 00:45:02 -06:00
Timothy Jaeryang Baek e1acd7e7ca refac 2026-08-13 00:38:32 -06:00
Timothy Jaeryang Baek 25802c048e refac 2026-08-13 00:34:10 -06:00
Timothy Jaeryang Baek 8260d527ee refac 2026-08-13 00:22:58 -06:00
Timothy Jaeryang Baek 85c3d0ae2f refac 2026-08-13 00:07:31 -06:00
Timothy Jaeryang Baek 3813fd4cdc refac 2026-08-12 23:20:19 -06:00
Timothy Jaeryang Baek 4e03d89414 refac 2026-08-12 23:17:37 -06:00
Timothy Jaeryang Baek 86b7bf1f7e refac 2026-08-12 18:10:51 -06:00
Timothy Jaeryang Baek 2e93987490 refac 2026-08-12 17:54:10 -06:00
G30 783e87c0c5 fix: dock the thread reply input below the scroll area instead of inside it (#27768) 2026-08-12 02:06:20 -05:00
Timothy Jaeryang Baek e44e16cb59 refac 2026-08-12 01:02:02 -06:00
Timothy Jaeryang Baek c086b80313 refac 2026-08-12 00:51:12 -06:00
Timothy Jaeryang Baek ab41dcc487 refac 2026-08-11 17:44:34 -06:00
Timothy Jaeryang Baek 9c21d4ed3b refac 2026-08-11 17:42:25 -06:00
G30 e17dfae72e fix: enforce the image generation flag on the legacy chat feature path (#27759)
* fix: enforce the image generation flag on the legacy chat feature path

* fix: refresh the config store when image generation is disabled in admin settings

* fix: hide active feature pills when the feature is no longer available
2026-08-11 17:38:10 -06:00
Timothy Jaeryang Baek 1744b63f16 refac 2026-08-11 17:35:24 -06:00
Timothy Jaeryang Baek 4f9a0ebf71 refac 2026-08-11 17:35:05 -06:00
Timothy Jaeryang Baek 1674e5a9ef refac 2026-08-11 12:50:50 -06:00
Timothy Jaeryang Baek 724d2ebbf1 refac 2026-08-11 11:46:12 -06:00
Timothy Jaeryang Baek ac0368b4ab refac 2026-08-11 11:40:29 -06:00
Timothy Jaeryang Baek f79b443c22 refac 2026-08-11 11:40:24 -06:00
G30 e58245d5b4 fix: place model editor capability checkboxes directly before their labels (#27788) 2026-08-11 11:13:04 -06:00
G30 25455e943d fix(ui): resolve owner avatars against the API base url and add a fallback (#28272) 2026-08-11 11:05:35 -06:00
Timothy Jaeryang Baek 29541cbb52 refac 2026-08-11 01:27:50 -06:00
Timothy Jaeryang BaekandClassic298 c8f8fa451a a11y
Co-Authored-By: Classic298 <27028174+Classic298@users.noreply.github.com>
2026-08-11 01:25:20 -06:00
Timothy Jaeryang Baek f0bfcd4097 refac 2026-08-11 01:15:05 -06:00
Timothy Jaeryang Baek be4afd7545 refac 2026-08-11 01:11:56 -06:00
Timothy Jaeryang Baek e963d36e39 refac 2026-08-11 01:08:58 -06:00
KastenMonsterandKastenMonster 2ac01a42be feat: Add openserp as a provider in the ui (#27594)
* add OpenSerp Option

* fix: change input label to the docs label

---------

Co-authored-by: KastenMonster <kastenmonster@groundonline.de>
2026-08-11 00:21:05 -06:00
Timothy Jaeryang Baek 9122c24ea2 refac 2026-08-11 00:06:21 -06:00
G30 79382d1b19 fix: stop profile preview avatars from squashing in narrow flex rows (#28000) 2026-08-10 23:49:45 -06:00
Timothy Jaeryang BaekandG30 68c67a1e0f refac
Co-Authored-By: G30 <50341825+silentoplayz@users.noreply.github.com>
2026-08-10 23:48:02 -06:00
Timothy Jaeryang Baek bd250a0e24 refac 2026-08-10 23:37:45 -06:00
G30 d959e3e312 fix: scale the settings modal height with tall viewports instead of capping at 54rem (#27615) 2026-08-10 23:34:04 -06:00
Classic298 4eb0394511 fix: merged response receiving empty model responses after reload (#27673)
Clicking "Merged Response" in a multi-model chat often made the merging model answer with "It appears that the responses provided from the other models were empty".

The merge handler collected each model's answer via `history.messages[id].content`. Assistant messages are persisted by the backend with `output` only (`upsert_message_to_chat_by_id_and_message_id` writes `done`/`role`/`output`, never `content`), so `content` is only populated in the browser session that generated the responses, where the streaming handler mirrors it. Once the chat is reloaded from the database, every assistant message has `content: ''` and the merge request is sent with a list of empty strings, which is exactly what the merging model then reports. That is why the failure looks random: merging works right after generating, and fails after a refresh or when reopening the chat.

Read the responses through `getOutputText(message.output) || message.content`, the same fallback already used by every other read site (`ResponseMessage`, `Overview/Node`, `SearchModal`, `ChatItem`, `ChatMenu`, `Navbar/Menu`).

Fixes #26962
2026-08-10 23:31:21 -06:00