diff --git a/components/canvas/CanvasChatPanel.tsx b/components/canvas/CanvasChatPanel.tsx index b3b264db0..7e0851567 100644 --- a/components/canvas/CanvasChatPanel.tsx +++ b/components/canvas/CanvasChatPanel.tsx @@ -2934,11 +2934,7 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF if (loadedHistorySignatureRef.current === signature) return; loadedHistorySignatureRef.current = signature; - processedMessageIds.current = new Set( - historyMessages - .filter((message) => message.role === "assistant") - .map((message) => message.id) - ); + processedMessageIds.current = new Set(); hasHydratedHistoryRef.current = true; setMessages(historyMessages); setMessageViewportKey((prev) => prev + 1); @@ -3127,6 +3123,17 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF imageUrlSet.add(rawUrl); }); + const legacyContent = + typeof (message as any).content === "string" + ? (message as any).content + : ""; + if (legacyContent) { + extractAssistantImageUrls(legacyContent, nearestUserImageKeys).forEach((url) => + imageUrlSet.add(url) + ); + extractVideoUrls(legacyContent).forEach((url) => videoUrlSet.add(url)); + } + const imageUrls = Array.from(imageUrlSet); const videoUrls = Array.from(videoUrlSet); if (imageUrls.length === 0 && videoUrls.length === 0) continue;