From c6c6c3f7bb3c2965e13c372876ee749ba39e4c2b Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 22 Feb 2026 16:14:20 +0800 Subject: [PATCH] fix(canvas): avoid post-launch editor rehydrate when auto-send is enabled --- components/canvas/CanvasChatPanel.tsx | 38 ++++++++++++++------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/components/canvas/CanvasChatPanel.tsx b/components/canvas/CanvasChatPanel.tsx index c33e8a060..108cb79fd 100644 --- a/components/canvas/CanvasChatPanel.tsx +++ b/components/canvas/CanvasChatPanel.tsx @@ -1664,27 +1664,29 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF }); } - setTimeout(() => { - const editableDiv = textareaRef.current as HTMLDivElement | null; - if (editableDiv) { - editableDiv.innerHTML = ""; - if (normalizedPrompt) { - editableDiv.appendChild(document.createTextNode(normalizedPrompt)); - const selection = window.getSelection(); - if (selection) { - const range = document.createRange(); - range.selectNodeContents(editableDiv); - range.collapse(false); - selection.removeAllRanges(); - selection.addRange(range); + if (!parsed.autoSend) { + setTimeout(() => { + const editableDiv = textareaRef.current as HTMLDivElement | null; + if (editableDiv) { + editableDiv.innerHTML = ""; + if (normalizedPrompt) { + editableDiv.appendChild(document.createTextNode(normalizedPrompt)); + const selection = window.getSelection(); + if (selection) { + const range = document.createRange(); + range.selectNodeContents(editableDiv); + range.collapse(false); + selection.removeAllRanges(); + selection.addRange(range); + } } } - } - normalizedAttachments.forEach((attachment, index) => { - insertImageTagInEditor(attachment.url, attachment.name, index); - }); - }, 50); + normalizedAttachments.forEach((attachment, index) => { + insertImageTagInEditor(attachment.url, attachment.name, index); + }); + }, 50); + } if (parsed.autoSend) { pendingLaunchRef.current = {