From 5abd7d469ee397960a25c77d7968dd99ed726bcb Mon Sep 17 00:00:00 2001 From: Rehan Sanjay Date: Fri, 10 Jul 2026 04:48:37 +0530 Subject: [PATCH] fix: derive semantic state correctly from null semantic values --- .../caching/_components/cache_settings/index.test.tsx | 8 ++++++++ .../caching/_components/cache_settings/index.tsx | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ui/litellm-dashboard/src/app/(dashboard)/caching/_components/cache_settings/index.test.tsx b/ui/litellm-dashboard/src/app/(dashboard)/caching/_components/cache_settings/index.test.tsx index f832b8b46cf..7eac3dcfd1d 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/caching/_components/cache_settings/index.test.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/caching/_components/cache_settings/index.test.tsx @@ -77,6 +77,14 @@ describe("CacheSettings", () => { expect(await screen.findByText("Similarity Threshold")).toBeInTheDocument(); expect(screen.getByText("Embedding Model")).toBeInTheDocument(); }); + + it("should NOT reveal the semantic fields when similarity_threshold is null", async () => { + getCacheSettingsCall.mockResolvedValue({ current_values: { similarity_threshold: null } }); + renderSettings(); + expect(await screen.findByText("Connection Settings")).toBeInTheDocument(); + expect(screen.queryByText("Similarity Threshold")).not.toBeInTheDocument(); + expect(screen.queryByText("Embedding Model")).not.toBeInTheDocument(); + }); }); describe("when a field fails inline validation", () => { diff --git a/ui/litellm-dashboard/src/app/(dashboard)/caching/_components/cache_settings/index.tsx b/ui/litellm-dashboard/src/app/(dashboard)/caching/_components/cache_settings/index.tsx index cf59128ac3e..c75a5ec48f1 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/caching/_components/cache_settings/index.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/caching/_components/cache_settings/index.tsx @@ -39,8 +39,8 @@ const CacheSettings: React.FC = ({ accessToken }) => { // Detect if existing config uses semantic caching if ( currentValues.redis_type === "semantic" || - currentValues.similarity_threshold !== undefined || - currentValues.redis_semantic_cache_embedding_model !== undefined + currentValues.similarity_threshold != null || + currentValues.redis_semantic_cache_embedding_model != null ) { setSemanticEnabled(true); }