Skip to content

feat: enable smooth markdown streaming#8371

Merged
Soulter merged 1 commit into
AstrBotDevs:masterfrom
Simon-He95:codex/upgrade-markstream-vue-smooth
May 27, 2026
Merged

feat: enable smooth markdown streaming#8371
Soulter merged 1 commit into
AstrBotDevs:masterfrom
Simon-He95:codex/upgrade-markstream-vue-smooth

Conversation

@Simon-He95
Copy link
Copy Markdown
Contributor

@Simon-He95 Simon-He95 commented May 27, 2026

Modifications / 改动点

  • This is NOT a breaking change. / 这不是一个破坏性变更。

Screenshots or Test Results / 运行截图或测试结果


Checklist / 检查清单

  • 😊 If there are new features added in the PR, I have discussed it with the authors through issues/emails, etc.
    / 如果 PR 中有新加入的功能,已经通过 Issue / 邮件等方式和作者讨论过。

  • 👀 My changes have been well-tested, and "Verification Steps" and "Screenshots" have been provided above.
    / 我的更改经过了良好的测试,并已在上方提供了“验证步骤”和“运行截图”

  • 🤓 I have ensured that no new dependencies are introduced, OR if new dependencies are introduced, they have been added to the appropriate locations in requirements.txt and pyproject.toml.
    / 我确保没有引入新依赖库,或者引入了新依赖库的同时将其添加到 requirements.txtpyproject.toml 文件相应位置。

  • 😮 My changes do not introduce malicious code.
    / 我的更改没有引入恶意代码。

Summary by Sourcery

Enable smooth streaming-aware markdown rendering for chat messages and reasoning content and update related streaming dependencies.

New Features:

  • Support streaming-aware markdown rendering for regular, threaded, and reasoning message parts based on message streaming state.

Enhancements:

  • Propagate message streaming state through chat message list components into markdown/reasoning renderers to control finalization and smooth streaming behavior.
  • Update markdown streaming libraries to newer versions to take advantage of improved streaming capabilities.

@auto-assign auto-assign Bot requested review from Fridemn and LIghtJUNction May 27, 2026 10:45
@dosubot dosubot Bot added the size:S This PR changes 10-29 lines, ignoring generated files. label May 27, 2026
Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • For the new optional isStreaming props, consider providing explicit default values in defineProps (e.g., isStreaming: { type: Boolean, default: false }) to avoid relying on undefined coercion and to clarify intent.
  • The MarkStream-related attributes (final, smooth-streaming, fade, typewriter, max-live-nodes) are now duplicated across several components; consider extracting a small wrapper/component or composable to centralize this configuration and keep behavior consistent.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- For the new optional `isStreaming` props, consider providing explicit default values in `defineProps` (e.g., `isStreaming: { type: Boolean, default: false }`) to avoid relying on `undefined` coercion and to clarify intent.
- The MarkStream-related attributes (`final`, `smooth-streaming`, `fade`, `typewriter`, `max-live-nodes`) are now duplicated across several components; consider extracting a small wrapper/component or composable to centralize this configuration and keep behavior consistent.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates several markdown and streaming-related dependencies in package.json and pnpm-lock.yaml, notably upgrading markstream-vue to 1.0.1-beta.1 and stream-markdown to ^0.0.15. It also introduces the is-streaming prop across various chat components (such as ChatMessageList.vue, MessageList.vue, and MarkdownMessagePart.vue) to conditionally enable smooth streaming, fade, and final rendering configurations. There are no review comments to address, so I have no additional feedback to provide.

@dosubot dosubot Bot added the feature:chatui The bug / feature is about astrbot's chatui, webchat label May 27, 2026
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label May 27, 2026
@Soulter
Copy link
Copy Markdown
Member

Soulter commented May 27, 2026

thanks, markstream-vue is a very impressive work!

@Soulter Soulter merged commit ae44163 into AstrBotDevs:master May 27, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature:chatui The bug / feature is about astrbot's chatui, webchat lgtm This PR has been approved by a maintainer size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants