Skip to content

Commit 15932f9

Browse files
committed
fix(webview-ui): preserve edit content after virtualization and pre-scroll bubble into view before entering edit mode
1 parent 03ac80f commit 15932f9

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

webview-ui/src/components/chat/ChatRow.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,15 @@ export const ChatRowContent = ({
185185
// No need to notify the backend
186186
}, [message.ts, message.text, message.images, mode, onStartEditing])
187187

188+
// Ensure edit fields are initialized when entering edit mode (including after virtualization re-mounts)
189+
useEffect(() => {
190+
if (!isEditing) return
191+
// Only initialize if user hasn't typed yet / images not selected
192+
setEditedContent((prev) => (prev !== "" ? prev : message.text || ""))
193+
setEditImages((prev) => (prev.length > 0 ? prev : message.images || []))
194+
setEditMode((prev) => prev || mode || "code")
195+
}, [isEditing, message.text, message.images, mode])
196+
188197
// Ensure the edit textarea is focused and scrolled into view when entering edit mode.
189198
// Uses a short delay and a few animation frames to allow virtualization reflow before scrolling.
190199
useEffect(() => {

0 commit comments

Comments
 (0)