Skip to content

Conversation

@eriknson
Copy link
Owner

Overview

This PR implements Phase 1 improvements from the Chat Experience Improvement Plan, focusing on core enhancements to the chat interface.

Changes

✅ Rich Markdown Rendering

  • Added full markdown support using react-markdown with remark-gfm for GitHub Flavored Markdown
  • Implemented syntax highlighting for code blocks using rehype-highlight
  • Code blocks now have copy buttons on hover
  • Supports all standard markdown features: bold, italic, lists, links, blockquotes, headers, tables

✅ Copy Message Functionality

  • Added copy button to all messages (user, assistant, summaries) that appears on hover
  • Toast notifications confirm successful copy
  • Copy button shows checkmark feedback when clicked

✅ Keyboard Shortcuts

  • Cmd/Ctrl+K - Focus composer
  • Cmd/Ctrl+/ - Show shortcuts help
  • Cmd/Ctrl+↑ - Scroll to top
  • Cmd/Ctrl+↓ - Scroll to bottom
  • Shortcuts respect input focus (don't trigger when typing)

✅ Improved Error Handling

  • Better error messages with context
  • Retry button for failed requests
  • Proper error state management

✅ Accessibility Improvements

  • Added ARIA labels throughout (role="article", role="log", aria-live regions)
  • Proper semantic HTML structure
  • Screen reader announcements for status updates
  • Keyboard navigation support

Technical Details

New Components

  • MarkdownRenderer - Handles markdown parsing and rendering with custom components
  • MessageActions - Copy button component for messages
  • useKeyboardShortcuts - Hook for global keyboard shortcuts

Updated Components

  • ConversationView - Now uses MarkdownRenderer for all message types
  • ComposerDrawer - Added ref forwarding for keyboard shortcut focus
  • page.tsx - Integrated keyboard shortcuts

Testing

  • ✅ Markdown rendering works for all message types
  • ✅ Copy functionality works on all messages
  • ✅ Keyboard shortcuts work as expected
  • ✅ Error handling shows retry buttons
  • ✅ Accessibility labels are properly set

Dependencies Added

  • react-markdown - Markdown rendering
  • remark-gfm - GitHub Flavored Markdown support
  • rehype-highlight - Syntax highlighting for code blocks

…shortcuts, accessibility

- Add rich markdown rendering with react-markdown, remark-gfm, and rehype-highlight
- Implement copy message functionality with toast notifications
- Add keyboard shortcuts (Cmd+K to focus composer, Cmd+/ for help, Cmd+↑/↓ for scroll)
- Improve error handling with retry buttons
- Add ARIA labels and accessibility improvements throughout
- Update all message rendering to use new MarkdownRenderer component
- Add MessageActions component for copy functionality on hover
@vercel
Copy link

vercel bot commented Jan 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
cursor-web Error Error Jan 10, 2026 4:57pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants