Skip to content

Commit 71c2bcf

Browse files
daniel-lxshannesrudolph
authored andcommitted
fix: remove provider from useEffect dependencies to prevent re-renders
The provider state was being updated inside the effect while also being included in the dependency array, which could cause unnecessary re-renders or potential infinite loops. Fixed by using a local newProvider variable to calculate the correct selected model before updating state.
1 parent 70c7695 commit 71c2bcf

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

webview-ui/src/components/settings/ImageGenerationSettings.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,11 @@ export const ImageGenerationSettings = ({
6060
useEffect(() => {
6161
setOpenRouterApiKeyLocal(openRouterImageApiKey || "")
6262
setGeminiApiKeyLocal(geminiApiKey || "")
63-
setProvider(imageGenerationProvider || "openrouter")
64-
// Calculate selected model directly in the effect
63+
const newProvider = imageGenerationProvider || "openrouter"
64+
setProvider(newProvider)
65+
// Calculate selected model based on the new provider value
6566
const newSelectedModel =
66-
provider === "openrouter"
67+
newProvider === "openrouter"
6768
? openRouterImageGenerationSelectedModel || getDefaultModel("openrouter")
6869
: geminiImageGenerationSelectedModel || getDefaultModel("gemini")
6970
setSelectedModel(newSelectedModel)
@@ -73,7 +74,6 @@ export const ImageGenerationSettings = ({
7374
openRouterImageGenerationSelectedModel,
7475
geminiImageGenerationSelectedModel,
7576
imageGenerationProvider,
76-
provider,
7777
])
7878

7979
// Handle provider change

0 commit comments

Comments
 (0)