You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Render assistant markdown responses in AI Chat drawer (instead of plain text) #60
Enhance the AI Chat drawer so assistant responses that contain markdown are rendered as styled markdown (headings, lists, code blocks, links, emphasis, etc.) instead of plain text.
Problem
Today, assistant content is displayed as raw/plain text. This makes responses harder to scan and reduces clarity for:
Code snippets and fenced blocks
Lists and step-by-step instructions
Inline emphasis and links
Proposed Enhancement
Parse assistant message content as markdown before rendering.
Render safe HTML (sanitized) with chat-specific markdown styles.
Preserve existing proposal/apply-button behavior for editor updates.
Keep plain-text fallback if markdown parsing fails.
UX Goals
Better readability for long responses.
Clear visual hierarchy for instructions.
Nicely formatted code blocks with horizontal scrolling and readable spacing.
Clickable links that open safely.
Acceptance Criteria
Assistant responses with markdown render correctly:
headings
bullet/numbered lists
inline code
fenced code blocks
links
blockquotes
Malicious HTML/script content is not executed (sanitized output).
Existing “Apply update” proposal controls still render and function.
Rendering performance remains acceptable for long messages.
If parser fails, message still appears as plain text (no data loss).
Technical Notes
Use a markdown parser + sanitizer approach (or equivalent safe renderer).
Do not allow unsafe raw HTML by default.
Add dedicated markdown styles scoped to chat messages.
Add tests for:
markdown rendering correctness
XSS sanitization
regressions in proposal/apply actions
Out of Scope
Streaming markdown incremental formatting perfection (can be phased later).
Full syntax highlighting integration (optional follow-up issue).
Activity