From 75bbb616ea21a7d509e95f1ff11c2c215b70e9c1 Mon Sep 17 00:00:00 2001 From: Wu Tianwei <30284043+WTW0313@users.noreply.github.com> Date: Tue, 10 Mar 2026 17:02:37 +0800 Subject: [PATCH] refactor: replace react markdown with streamdown (#32971) Co-authored-by: Stephen Zhou Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com> Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com> --- .github/dependabot.yml | 2 - .../base/audio-gallery/AudioPlayer.tsx | 8 +- .../base/chat/chat/answer/index.tsx | 6 +- .../base/chat/chat/chat-input-area/index.tsx | 6 +- web/app/components/base/chat/chat/hooks.ts | 12 +- web/app/components/base/chat/chat/index.tsx | 4 +- .../chat/embedded-chatbot/chat-wrapper.tsx | 4 +- .../markdown-blocks/__tests__/form.spec.tsx | 231 +++++++++- .../__tests__/plugin-paragraph.spec.tsx | 52 +-- .../__tests__/pre-code.spec.tsx | 61 --- .../__tests__/script-block.spec.tsx | 69 --- .../base/markdown-blocks/code-block.tsx | 3 +- .../components/base/markdown-blocks/form.tsx | 429 +++++++++++------- .../components/base/markdown-blocks/img.tsx | 9 +- .../components/base/markdown-blocks/index.ts | 2 - .../base/markdown-blocks/plugin-img.tsx | 13 +- .../base/markdown-blocks/plugin-paragraph.tsx | 12 +- .../base/markdown-blocks/pre-code.tsx | 23 - .../base/markdown-blocks/script-block.tsx | 15 - .../base/markdown/__tests__/index.spec.tsx | 23 +- ...r.spec.tsx => streamdown-wrapper.spec.tsx} | 52 ++- web/app/components/base/markdown/index.tsx | 49 +- .../base/markdown/react-markdown-wrapper.tsx | 81 ---- .../base/markdown/streamdown-wrapper.tsx | 223 +++++++++ .../base/mermaid/__tests__/index.spec.tsx | 34 +- .../base/mermaid/__tests__/utils.spec.ts | 4 +- .../components/devtools/tanstack/devtools.tsx | 23 - .../components/devtools/tanstack/loader.tsx | 26 +- .../share/text-generation/result/index.tsx | 4 +- .../components/form-content-preview.tsx | 16 +- .../components/variable-in-markdown.tsx | 4 +- web/app/styles/markdown.scss | 71 ++- web/eslint-suppressions.json | 92 ---- web/package.json | 7 +- web/pnpm-lock.yaml | 136 ++++-- web/tailwind.config.js | 2 + 36 files changed, 1055 insertions(+), 753 deletions(-) delete mode 100644 web/app/components/base/markdown-blocks/__tests__/pre-code.spec.tsx delete mode 100644 web/app/components/base/markdown-blocks/__tests__/script-block.spec.tsx delete mode 100644 web/app/components/base/markdown-blocks/pre-code.tsx delete mode 100644 web/app/components/base/markdown-blocks/script-block.tsx rename web/app/components/base/markdown/__tests__/{react-markdown-wrapper.spec.tsx => streamdown-wrapper.spec.tsx} (74%) delete mode 100644 web/app/components/base/markdown/react-markdown-wrapper.tsx create mode 100644 web/app/components/base/markdown/streamdown-wrapper.tsx delete mode 100644 web/app/components/devtools/tanstack/devtools.tsx diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 6306152f8b..17e43a72cb 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -30,8 +30,6 @@ updates: update-types: ["version-update:semver-major"] - dependency-name: "tailwindcss" update-types: ["version-update:semver-major"] - - dependency-name: "react-markdown" - update-types: ["version-update:semver-major"] - dependency-name: "react-syntax-highlighter" update-types: ["version-update:semver-major"] - dependency-name: "react-window" diff --git a/web/app/components/base/audio-gallery/AudioPlayer.tsx b/web/app/components/base/audio-gallery/AudioPlayer.tsx index 673d258a57..331dd06c67 100644 --- a/web/app/components/base/audio-gallery/AudioPlayer.tsx +++ b/web/app/components/base/audio-gallery/AudioPlayer.tsx @@ -303,7 +303,13 @@ const AudioPlayer: React.FC = ({ src, srcs }) => { ))} -