diff --git a/litellm/proxy/_types.py b/litellm/proxy/_types.py index bb59f2e94b..85e96e22cb 100644 --- a/litellm/proxy/_types.py +++ b/litellm/proxy/_types.py @@ -2164,6 +2164,7 @@ class AllCallbacks(LiteLLMPydanticObjectBase): litellm_callback_params=[ "LANGFUSE_PUBLIC_KEY", "LANGFUSE_SECRET_KEY", + "LANGFUSE_HOST", ], ) diff --git a/ui/litellm-dashboard/src/components/email_events/email_event_settings.tsx b/ui/litellm-dashboard/src/components/email_events/email_event_settings.tsx index 66172fed3c..95e1adb2b4 100644 --- a/ui/litellm-dashboard/src/components/email_events/email_event_settings.tsx +++ b/ui/litellm-dashboard/src/components/email_events/email_event_settings.tsx @@ -1,6 +1,7 @@ import React, { useState, useEffect } from "react"; import { Card, Text, Grid, Button } from "@tremor/react"; -import { Typography, message, Divider, Spin, Checkbox } from "antd"; +import { Typography, Divider, Spin, Checkbox } from "antd"; +import NotificationsManager from "../molecules/notifications_manager"; import { getEmailEventSettings, updateEmailEventSettings, resetEmailEventSettings } from "../networking"; import { EmailEvent } from "../../types"; import { EmailEventSetting } from "./types"; @@ -31,7 +32,7 @@ const EmailEventSettings: React.FC = ({ setEventSettings(response.settings); } catch (error) { console.error("Failed to fetch email event settings:", error); - message.error("Failed to fetch email event settings"); + NotificationsManager.fromBackend(error); } finally { setLoading(false); } @@ -49,10 +50,10 @@ const EmailEventSettings: React.FC = ({ try { await updateEmailEventSettings(accessToken, { settings: eventSettings }); - message.success("Email event settings updated successfully"); + NotificationsManager.success("Email event settings updated successfully"); } catch (error) { console.error("Failed to update email event settings:", error); - message.error("Failed to update email event settings"); + NotificationsManager.fromBackend(error); } }; @@ -61,12 +62,12 @@ const EmailEventSettings: React.FC = ({ try { await resetEmailEventSettings(accessToken); - message.success("Email event settings reset to defaults"); + NotificationsManager.success("Email event settings reset to defaults"); // Refresh settings after reset fetchEventSettings(); } catch (error) { console.error("Failed to reset email event settings:", error); - message.error("Failed to reset email event settings"); + NotificationsManager.fromBackend(error); } }; diff --git a/ui/litellm-dashboard/src/components/email_settings.tsx b/ui/litellm-dashboard/src/components/email_settings.tsx index 50f7e22591..56219c5a39 100644 --- a/ui/litellm-dashboard/src/components/email_settings.tsx +++ b/ui/litellm-dashboard/src/components/email_settings.tsx @@ -7,7 +7,8 @@ import { TextInput, TableCell, } from "@tremor/react"; -import { Typography, message, Divider } from "antd"; +import { Typography } from "antd"; +import NotificationsManager from "./molecules/notifications_manager"; import { serviceHealthCheck, setCallbacksCall } from "./networking"; import { EmailEventSettings } from "./email_events"; @@ -24,7 +25,7 @@ const EmailSettings: React.FC = ({ premiumUser, alerts, }) => { - const handleSaveEmailSettings = () => { + const handleSaveEmailSettings = async () => { if (!accessToken) { return; } @@ -52,12 +53,11 @@ const EmailSettings: React.FC = ({ environment_variables: updatedVariables, }; try { - setCallbacksCall(accessToken, payload); + await setCallbacksCall(accessToken, payload); + NotificationsManager.success("Email settings updated successfully"); } catch (error) { - message.error("Failed to update alerts: " + error, 20); + NotificationsManager.fromBackend(error); } - - message.success("Email settings updated successfully"); } return ( @@ -191,9 +191,15 @@ const EmailSettings: React.FC = ({ Save Changes