diff --git a/frontend/src/features/inbox/components/ForwardMessageDialog.tsx b/frontend/src/features/inbox/components/ForwardMessageDialog.tsx index 178f96a9ffa..b4844bf73a0 100644 --- a/frontend/src/features/inbox/components/ForwardMessageDialog.tsx +++ b/frontend/src/features/inbox/components/ForwardMessageDialog.tsx @@ -381,7 +381,8 @@ export function ForwardMessageDialog({ } // Truncate message content for display - const truncateContent = (content: string, maxLength: number = 80) => { + const truncateContent = (content: string | undefined, maxLength: number = 80) => { + if (!content) return '' // Remove markdown prefix if present let text = content if (text.startsWith('${$$}$')) { diff --git a/frontend/src/features/inbox/components/MessageList.tsx b/frontend/src/features/inbox/components/MessageList.tsx index f45815427b4..44f19dbd8a5 100644 --- a/frontend/src/features/inbox/components/MessageList.tsx +++ b/frontend/src/features/inbox/components/MessageList.tsx @@ -299,10 +299,11 @@ export function MessageList({ if (!snapshot || snapshot.length === 0) return '' // Get the last user message const lastUserMessage = [...snapshot].reverse().find(m => m.role === 'USER') - if (lastUserMessage) { + if (lastUserMessage && lastUserMessage.content) { return lastUserMessage.content.substring(0, 200) } - return snapshot[0].content.substring(0, 200) + const firstContent = snapshot[0]?.content + return firstContent ? firstContent.substring(0, 200) : '' } return ( diff --git a/frontend/src/features/tasks/components/chat/GeminiAnnotations.tsx b/frontend/src/features/tasks/components/chat/GeminiAnnotations.tsx index e2d3ccfc764..f556bb726fa 100644 --- a/frontend/src/features/tasks/components/chat/GeminiAnnotations.tsx +++ b/frontend/src/features/tasks/components/chat/GeminiAnnotations.tsx @@ -29,7 +29,8 @@ export function GeminiAnnotations({ annotations, className = '' }: GeminiAnnotat } // Extract domain from URL for display - const getDomain = (url: string): string => { + const getDomain = (url: string | undefined): string => { + if (!url) return '' try { const urlObj = new URL(url) return urlObj.hostname.replace('www.', '') diff --git a/frontend/src/features/tasks/components/message/MessagesArea.tsx b/frontend/src/features/tasks/components/message/MessagesArea.tsx index 9698f781420..8b48d94b486 100644 --- a/frontend/src/features/tasks/components/message/MessagesArea.tsx +++ b/frontend/src/features/tasks/components/message/MessagesArea.tsx @@ -599,7 +599,7 @@ function MessagesArea({ .filter(msg => msg.status === 'completed') // Only export completed messages .map(msg => { // Remove markdown prefix from AI messages if present - let content = msg.content + let content = msg.content || '' if (msg.type === 'ai' && content.startsWith('${$$}$')) { content = content.substring(6) } @@ -1103,7 +1103,7 @@ function MessagesArea({ .filter(msg => msg.subtaskId && msg.status === 'completed') .map(msg => { // Remove markdown prefix from AI messages if present - let content = msg.content + let content = msg.content || '' if (msg.type === 'ai' && content.startsWith('${$$}$')) { content = content.substring(6) }