3 months ago
240af42Make components/ai-elements/message.tsx a pure presentational primitive (Message, MessageContent, and a Streamdown-wrapping MessageResponse with prose styling only — upstream-aligned, no app imports). Move all desktop markdown behavior to a new app-layer module src/ui/markdown/ (DesktopMarkdown): the wired response that composes the pure MessageResponse and injects DesktopMessageLink, DesktopCitationChip, the bare-path remark plugin, sanitize pipeline, and citation normalization. It owns useAppStore/desktopCommands/getFilePreviewKind. File relocated via git mv so the ~1200 lines move verbatim; only the Button import path and the exported component name changed. Repoint all 7 consumers (FeedRow, ActivityGroupCard, ContextSidebar, ResearchReportRenderer, UpdatesPage, CodeFilePreview, FilePreviewModal) and the message-links test to the new modules, and move the file's biome lint override to the new path. Pinned message-links + sources-carousel tests stay green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Parent5b90cfc