Skip to content

Commit 49e59c3

Browse files
committed
fix: move postMessage to the onChange handle to avoid rerender postMessage
1 parent cab7fdb commit 49e59c3

File tree

1 file changed

+6
-14
lines changed

1 file changed

+6
-14
lines changed

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

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -75,20 +75,6 @@ const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
7575
}
7676
}, [diffEnabled, experimentalDiffStrategy])
7777

78-
// Update extension settings when diffStrategy changes
79-
useEffect(() => {
80-
if (diffStrategy === "whole") {
81-
vscode.postMessage({ type: "diffEnabled", bool: false })
82-
vscode.postMessage({ type: "experimentalDiffStrategy", bool: false })
83-
} else if (diffStrategy === "search-replace") {
84-
vscode.postMessage({ type: "diffEnabled", bool: true })
85-
vscode.postMessage({ type: "experimentalDiffStrategy", bool: false })
86-
} else if (diffStrategy === "unified-diff") {
87-
vscode.postMessage({ type: "diffEnabled", bool: true })
88-
vscode.postMessage({ type: "experimentalDiffStrategy", bool: true })
89-
}
90-
}, [diffStrategy])
91-
9278
// Close dropdown when clicking outside
9379
useEffect(() => {
9480
const handleClickOutside = (event: MouseEvent) => {
@@ -853,12 +839,18 @@ const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
853839
if (value === "whole") {
854840
setDiffEnabled(false)
855841
setExperimentalDiffStrategy(false)
842+
vscode.postMessage({ type: "diffEnabled", bool: false })
843+
vscode.postMessage({ type: "experimentalDiffStrategy", bool: false })
856844
} else if (value === "search-replace") {
857845
setDiffEnabled(true)
858846
setExperimentalDiffStrategy(false)
847+
vscode.postMessage({ type: "diffEnabled", bool: true })
848+
vscode.postMessage({ type: "experimentalDiffStrategy", bool: false })
859849
} else if (value === "unified-diff") {
860850
setDiffEnabled(true)
861851
setExperimentalDiffStrategy(true)
852+
vscode.postMessage({ type: "diffEnabled", bool: true })
853+
vscode.postMessage({ type: "experimentalDiffStrategy", bool: true })
862854
}
863855
}}
864856
style={{

0 commit comments

Comments
 (0)