fix(canvas): backfill chat history media into canvas
This commit is contained in:
parent
fb91e60069
commit
1625b59e43
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user