Commit graph

995 commits

Author SHA1 Message Date
Timothy Jaeryang Baek
a3de0bcc58 refac 2026-02-28 19:22:35 -06:00
Timothy Jaeryang Baek
6b462ff121 refac 2026-02-28 13:40:06 -06:00
Algorithm5838
54cefedf53
perf: use structuredClone for message deep copies (#21948) 2026-02-28 14:09:29 -05:00
Timothy Jaeryang Baek
646b64a318 refac 2026-02-27 13:37:03 -06:00
Classic298
7ea6afdf95
perf: cache KaTeX module import as singleton across all renderer instances (#21880)
* perf: cache KaTeX module import as singleton across all renderer instances

KatexRenderer.svelte dynamically imports katex, mhchem, and the CSS on every component mount. When a message contains multiple math expressions, this triggers redundant module resolution for each one. Move the import promise to a module-level singleton using Svelte's context='module' script block so it loads once and is shared across all KatexRenderer instances.

* Update KatexRenderer.svelte
2026-02-26 15:34:42 -06:00
Classic298
4654ecbf1b
perf: fast-path comparison in ResponseMessage to skip JSON.stringify during streaming (#21884)
ResponseMessage compared the entire message object via JSON.stringify on every reactive tick to detect changes. During streaming, content changes on every token, making the two O(content_length) JSON.stringify calls always return different results — pure wasted work. Add a fast O(1) comparison on content and done fields first. When either differs (the common streaming case), skip straight to cloning. Only fall through to the expensive JSON.stringify comparison for infrequent changes like sources, annotations, or status updates.
2026-02-26 14:47:32 -06:00
Timothy Jaeryang Baek
3271a5277c refac 2026-02-25 16:56:32 -06:00
Timothy Jaeryang Baek
636ab99ad8 feat: experimental open terminal integration 2026-02-25 15:15:53 -06:00
Timothy Jaeryang Baek
484ba91b07 refac
Co-Authored-By: Algorithm5838 <108630393+Algorithm5838@users.noreply.github.com>
2026-02-25 13:56:28 -06:00
Timothy Jaeryang Baek
9044abf3bb chore: format 2026-02-23 01:40:53 -06:00
G30
a8a3098782
fix(ui): apply select-none to remaining dropdown menus globally to prevent text highlighting (#21763) 2026-02-23 01:22:02 -06:00
Timothy Jaeryang Baek
1f474187a7 refac
Co-Authored-By: Classic298 <27028174+Classic298@users.noreply.github.com>
2026-02-22 15:22:53 -06:00
Classic298
2beeeb90c2
fix(a11y): add aria-labels to chat message components (#21708)
Add aria-labels, aria-expanded, and semantic improvements to:
- RateComment: close button, rating scale, feedback textarea
- Citations: toggle button with count, source item buttons
- Source/SourceToken: contextual aria-labels for citation buttons
- StatusHistory: toggle button with expanded state
- WebSearchResults: descriptive favicon alt text
- FollowUps: convert div to button element
- RegenerateMenu: submit suggestion button
- FloatingButtons: action buttons, input field, submit button
- CitationModal: close button

WCAG: 4.1.2 (Name, Role, Value), 2.1.1 (Keyboard), 1.1.1 (Non-text Content)
2026-02-22 14:36:42 -06:00
Timothy Jaeryang Baek
7e42d727e8 refac 2026-02-21 14:39:28 -06:00
Algorithm5838
15b5f97f89
fix: prevent scroll jump when editing large messages (#21402)
Save and restore scroll positions around textarea auto-resize to avoid
layout shifts. Use preventScroll on focus.
2026-02-16 01:33:51 -06:00
Timothy Jaeryang Baek
ef04a704ce chore: format 2026-02-16 01:26:29 -06:00
Timothy Jaeryang Baek
c26e8110af enh: renderMarkdownInPreviews 2026-02-16 01:23:56 -06:00
Timothy Jaeryang Baek
f96e8f04fc refac: styling 2026-02-15 23:50:34 -06:00
Timothy Jaeryang Baek
8c5cfa530d refac: styling 2026-02-15 22:55:50 -06:00
Timothy Jaeryang Baek
d215e46315 refac: styling 2026-02-15 22:49:56 -06:00
Timothy Jaeryang Baek
2ffd8d9277 refac 2026-02-12 15:40:13 -06:00
Timothy Jaeryang Baek
f376d4f378 chore: format 2026-02-11 16:24:11 -06:00
Timothy Jaeryang Baek
f7c5965a70 feat: $ skills mention 2026-02-11 15:08:59 -06:00
Timothy Jaeryang Baek
0a44d80252 refac 2026-02-09 13:42:27 -06:00
Tim Baek
9cf4d34832 refac 2026-02-06 23:21:09 +04:00
Tim Baek
284b97bd84 refac 2026-02-06 22:46:56 +04:00
Timothy Jaeryang Baek
6cd35b185d refac 2026-02-04 00:13:05 -06:00
Timothy Jaeryang Baek
6719558150 refac 2026-02-01 20:06:38 -06:00
Timothy Jaeryang Baek
bc90463ea6 refac 2026-01-29 20:15:23 +04:00
Classic298
26e95f2a92
fix-csv-export (#20688) 2026-01-17 21:39:24 +04:00
Timothy Jaeryang Baek
636ba171a4 chore: format 2026-01-09 19:46:32 +04:00
Timothy Jaeryang Baek
bb6188abf0 feat: per model tts voice 2026-01-09 19:05:09 +04:00
Timothy Jaeryang Baek
9a9a824fe9 refac 2026-01-09 03:31:27 +04:00
Timothy Jaeryang Baek
700349064d chore: format 2026-01-08 01:55:56 +04:00
Timothy Jaeryang Baek
b6cef30bfc refac 2026-01-08 01:24:31 +04:00
Timothy Jaeryang Baek
1148d1c927 fix/refac: images 2026-01-06 03:25:39 +04:00
Timothy Jaeryang Baek
40c45ffe1f feat: text fragment url in citations 2026-01-06 00:49:32 +04:00
G30
cfecca8eda
fix: handle undefined file.url in UserMessage to prevent TypeError (#20343)
Add optional chaining to file.url.startsWith() calls to safely handle cases where file.url is undefined, preventing 'can't access property startsWith' TypeError in user messages with file attachments.
2026-01-03 18:10:03 +04:00
Timothy Jaeryang Baek
f0829ba6e6 refac: deprecate generate image action button 2026-01-01 16:09:29 +04:00
Classic298
3b6601631b
fix: Update ResponseMessage.svelte (#20210)
* Update ResponseMessage.svelte

* Update ResponseMessage.svelte
2025-12-30 14:06:23 +04:00
Classic298
d5ccd95293
fix: Update CitationModal.svelte (#20209)
* Update CitationModal.svelte

* Update CitationModal.svelte
2025-12-30 14:06:11 +04:00
Timothy Jaeryang Baek
c0ec04935b refac: citation 2025-12-26 02:05:03 +04:00
Timothy Jaeryang Baek
f1bf4f20c5 feat: chat_file table 2025-12-21 23:17:53 +04:00
Timothy Jaeryang Baek
fa924946b0 refac 2025-12-21 20:37:51 +04:00
Timothy Jaeryang Baek
870e29e373 fix: multimodel messages 2025-12-21 15:27:33 +04:00
Joseph Roberts
90209a30a8
fix: respect RTL text direction in file attachment containers (#19891)
Fixes #19742 where file attachment containers did not inherit the chat direction setting, causing layout issues when typing in RTL languages like Persian.

Added dir={$settings?.chatDirection ?? 'auto'} to file container divs in:
- MessageInput.svelte (chat input file attachments)
- UserMessage.svelte (user message file display)
- ResponseMessage.svelte (response message file display)
- channel/Messages/Message.svelte (channel message file display)

The fix ensures file containers automatically detect and respect RTL text direction, maintaining proper layout alignment for RTL languages while preserving LTR behavior for Latin text.
2025-12-11 20:51:40 -05:00
Timothy Jaeryang Baek
3b3e12b43a refac 2025-12-11 01:09:14 -05:00
Timothy Jaeryang Baek
4d9a51ba33 refac 2025-12-11 00:11:12 -05:00
Timothy Jaeryang Baek
ce945a9334 refac 2025-12-07 23:56:37 -05:00
Timothy Jaeryang Baek
3c8f1cf8e5 fix: source citations user message display issue 2025-12-07 23:53:46 -05:00