From a42912529bc7321b398e109bfe3cebccd31e6fe6 Mon Sep 17 00:00:00 2001 From: Krish Dholakia Date: Fri, 14 Feb 2025 18:19:15 -0800 Subject: [PATCH] fix(general_settings.tsx): filter out empty dictionaries post fallback delete (#8550) Fixes https://github.com/BerriAI/litellm/issues/8331 --- .../src/components/general_settings.tsx | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/ui/litellm-dashboard/src/components/general_settings.tsx b/ui/litellm-dashboard/src/components/general_settings.tsx index f64fefc3bb..d54092d1bf 100644 --- a/ui/litellm-dashboard/src/components/general_settings.tsx +++ b/ui/litellm-dashboard/src/components/general_settings.tsx @@ -287,22 +287,28 @@ const GeneralSettings: React.FC = ({ console.log(`received key: ${key}`); console.log(`routerSettings['fallbacks']: ${routerSettings["fallbacks"]}`); - routerSettings["fallbacks"].map((dict: { [key: string]: any }) => { - // Check if the dictionary has the specified key and delete it if present - if (key in dict) { - delete dict[key]; - } - return dict; // Return the updated dictionary - }); + const updatedFallbacks = routerSettings["fallbacks"] + .map((dict: { [key: string]: any }) => { + if (key in dict) { + delete dict[key]; + } + return dict; + }) + .filter((dict: { [key: string]: any }) => Object.keys(dict).length > 0); + + const updatedSettings = { + ...routerSettings, + fallbacks: updatedFallbacks + }; + const payload = { - router_settings: routerSettings, + router_settings: updatedSettings, }; try { await setCallbacksCall(accessToken, payload); - setRouterSettings({ ...routerSettings }); - setSelectedStrategy(routerSettings["routing_strategy"]); + setRouterSettings(updatedSettings); message.success("Router settings updated successfully"); } catch (error) { message.error("Failed to update router settings: " + error, 20);