From af345a33f346490dc9b9ee6f3003d3420de0e2db Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 25 Jul 2025 17:03:31 +1000 Subject: [PATCH] fix(ui): infinite loop when setting tile controlnet model --- .../components/UpscaleSettingsAccordion/UpscaleWarning.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx b/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx index 9810ba0e55..a07ee57bb0 100644 --- a/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx +++ b/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx @@ -31,8 +31,10 @@ export const UpscaleWarning = () => { const validModel = modelConfigs.find((cnetModel) => { return cnetModel.base === model?.base && cnetModel.name.toLowerCase().includes('tile'); }); - dispatch(tileControlnetModelChanged(validModel || null)); - }, [model?.base, modelConfigs, dispatch]); + if (tileControlnetModel?.key !== validModel?.key) { + dispatch(tileControlnetModelChanged(validModel || null)); + } + }, [dispatch, model?.base, modelConfigs, tileControlnetModel?.key]); const isBaseModelCompatible = useMemo(() => { return model && ['sd-1', 'sdxl'].includes(model.base);