Commit graph

5897 commits

Author SHA1 Message Date
Timothy Jaeryang Baek
769ef856bc chore: format 2026-03-01 03:05:47 -06:00
Timothy Jaeryang Baek
ed1b959bc6 refac 2026-03-01 02:38:45 -06:00
Timothy Jaeryang Baek
d2b38127d0 refac 2026-03-01 02:37:21 -06:00
Timothy Jaeryang Baek
3d535db304 refac 2026-03-01 02:29:37 -06:00
Timothy Jaeryang Baek
234306ff57 refac 2026-03-01 02:08:41 -06:00
Timothy Jaeryang Baek
ae28e7d245 refac 2026-03-01 00:17:34 -06:00
Shirasawa
39b87d9683
fix: Fix memory leaking in MentionList.svelte (#21965) 2026-02-28 21:48:56 -06:00
Timothy Jaeryang Baek
e83f668107 refac 2026-02-28 21:40:13 -06:00
Timothy Jaeryang Baek
1357dc6737 chore: format 2026-02-28 21:28:59 -06:00
Timothy Jaeryang Baek
43c30428a6 refac 2026-02-28 21:16:53 -06:00
Timothy Jaeryang Baek
a3de0bcc58 refac 2026-02-28 19:22:35 -06:00
Classic298
30ae519226
perf: throttle message list rebuild to once per animation frame during streaming (#21885)
Messages.svelte rebuilds the message list by walking the parent chain and creating spread copies on every history.messages change. During streaming, this runs on every token — hundreds of times per second — even though each ResponseMessage already has its own reactive binding for content updates. Throttle the rebuild to once per animation frame (~60Hz) during content-only updates, while keeping immediate rebuilds for structural changes (currentId changes like chat switches, navigation, or new messages). Adds onDestroy cleanup for the pending rAF.
2026-02-28 18:09:43 -05:00
Timothy Jaeryang Baek
6b462ff121 refac 2026-02-28 13:40:06 -06:00
Timothy Jaeryang Baek
c3bac9aa62 refac 2026-02-28 13:30:28 -06:00
Algorithm5838
fc5f399573
perf: batch scrollToBottom during streaming via rAF (#21946) 2026-02-28 14:13:48 -05:00
Shirasawa
ff8cf80fb5
fix: fix memory leaking of Notes.svelte (#21963) 2026-02-28 14:09:43 -05:00
Algorithm5838
54cefedf53
perf: use structuredClone for message deep copies (#21948) 2026-02-28 14:09:29 -05:00
Shirasawa
5bb1c42fa8
fix: Fix memory leaking of MessageInput (#21968) 2026-02-28 14:03:08 -05:00
Shirasawa
242b3f0c01
fix: Fix Tooltip memory leaking and type define (#21969) 2026-02-28 14:01:28 -05:00
Shirasawa
144c0f3d76
fix: fix missing i18n keys (#21932) 2026-02-28 13:56:12 -05:00
Timothy Jaeryang Baek
c71beb0a7d refac 2026-02-28 02:05:22 -06:00
Timothy Jaeryang Baek
f5bf2a2ed7 refac 2026-02-28 00:41:10 -06:00
Timothy Jaeryang Baek
ab3f03bbd5 refac 2026-02-28 00:40:20 -06:00
Timothy Jaeryang Baek
5ac502e93f refac 2026-02-27 17:24:34 -06:00
Timothy Jaeryang Baek
c60b0fa0e3 refac 2026-02-27 17:20:49 -06:00
Timothy Jaeryang Baek
9544a80aa0 refac 2026-02-27 17:14:54 -06:00
Timothy Jaeryang Baek
83b17e2ac8 refac 2026-02-27 17:04:09 -06:00
Timothy Jaeryang Baek
3a6c88ade9 refac 2026-02-27 16:47:36 -06:00
Timothy Jaeryang Baek
3be06132db refac 2026-02-27 16:41:52 -06:00
Timothy Jaeryang Baek
bbbcf27dd5 refac 2026-02-27 16:37:53 -06:00
Timothy Jaeryang Baek
f60d386b74 refac 2026-02-27 16:21:27 -06:00
Timothy Jaeryang Baek
179a4ad9ea refac 2026-02-27 16:01:57 -06:00
Timothy Jaeryang Baek
2d82d260cc refac 2026-02-27 16:01:33 -06:00
Timothy Jaeryang Baek
e7a9988893 chore: format 2026-02-27 15:59:52 -06:00
Timothy Jaeryang Baek
6b01f96eac refac 2026-02-27 15:56:25 -06:00
Timothy Jaeryang Baek
d6d9d1c535 refac 2026-02-27 14:36:13 -06:00
Timothy Jaeryang Baek
646b64a318 refac 2026-02-27 13:37:03 -06:00
Timothy Jaeryang Baek
bbab64b53e refac 2026-02-27 13:36:55 -06:00
Timothy Jaeryang Baek
4731ccb73c refac 2026-02-27 13:30:36 -06:00
Timothy Jaeryang Baek
4737e1f118 feat: open terminal integration 2026-02-27 13:08:59 -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
Stefan Weil
d7d05a4717
fix(ui): fix some broken links (#21904)
The referenced information was moved to a new location.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2026-02-26 14:27:57 -06:00
Timothy Jaeryang Baek
419ea1c346 refac 2026-02-26 00:00:01 -06:00
Timothy Jaeryang Baek
eca9b405eb refac 2026-02-25 19:58:50 -06:00
Timothy Jaeryang Baek
58d685eea4 refac 2026-02-25 19:39:24 -06:00
Timothy Jaeryang Baek
44ed941a5d refac 2026-02-25 19:38:00 -06:00
Timothy Jaeryang Baek
46229a93ce refac 2026-02-25 19:32:01 -06:00
Timothy Jaeryang Baek
50eff6a672 refac 2026-02-25 19:14:02 -06:00
Timothy Jaeryang Baek
1cb74b0bf7 refac 2026-02-25 19:06:46 -06:00