From e7961c608b724cbefd46a2f82324d26d5e57640a Mon Sep 17 00:00:00 2001 From: Dorian Date: Tue, 3 Mar 2026 23:56:12 +0000 Subject: [PATCH] feat(renderer): KaTeX math rendering for $inline$ and $$block$$ (M10.6) - Lazy-loads KaTeX (~70KB) on first math detected - Inline $...$ and block $$...$$ LaTeX support - Falls back to for invalid LaTeX - Batch render after markdown, not during streaming Co-Authored-By: Claude Opus 4.6 --- packages/app/package.json | 1 + .../app/src/components/chat/ChatMessage.vue | 18 +++-- .../app/src/composables/useMathRenderer.ts | 66 +++++++++++++++++++ pnpm-lock.yaml | 17 +++++ 4 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 packages/app/src/composables/useMathRenderer.ts diff --git a/packages/app/package.json b/packages/app/package.json index 6caa4d42..2cd48987 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -21,6 +21,7 @@ "dependencies": { "@aiui/core": "workspace:*", "@tanstack/vue-virtual": "^3.13.19", + "katex": "^0.16.33", "leaflet": "^1.9.4", "markdown-it": "^14.1.1", "pdfjs-dist": "^5.5.207", diff --git a/packages/app/src/components/chat/ChatMessage.vue b/packages/app/src/components/chat/ChatMessage.vue index 7e865174..7aa7f2a9 100644 --- a/packages/app/src/components/chat/ChatMessage.vue +++ b/packages/app/src/components/chat/ChatMessage.vue @@ -323,8 +323,9 @@