diff --git a/frontend/src/Settings/useProviderSettings.ts b/frontend/src/Settings/useProviderSettings.ts index 809547b5c..3bee87878 100644 --- a/frontend/src/Settings/useProviderSettings.ts +++ b/frontend/src/Settings/useProviderSettings.ts @@ -122,13 +122,17 @@ export const useSaveProviderSettings = ( }, onSuccess: (updatedSettings: T) => { queryClient.setQueryData([path], (oldData = []) => { - if (id) { - return oldData.map((item) => - item.id === updatedSettings.id ? updatedSettings : item - ); + const existingIndex = oldData.findIndex( + (item) => item.id === updatedSettings.id + ); + + if (existingIndex === -1) { + return [...oldData, updatedSettings]; } - return [...oldData, updatedSettings]; + return oldData.map((item) => + item.id === updatedSettings.id ? updatedSettings : item + ); }); onSuccess?.(updatedSettings); },