diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index 853ceb63c9d..59a234d09c8 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -9215,7 +9215,7 @@ def _add_team_models_to_all_models( for team_object in team_db_objects_typed: if ( - len(team_object.models) == 0 # empty list = all model access + not team_object.models # None or empty list = all model access or SpecialModelNames.all_proxy_models.value in team_object.models ): model_list = llm_router.get_model_list() diff --git a/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx b/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx index a4dd05b46e7..9acff32d63c 100644 --- a/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/log_filter_logic.tsx @@ -107,11 +107,21 @@ export function useLogFilterLogic({ }, }); - if (currentTimestamp === lastSearchTimestamp.current && response.data) { - setBackendFilteredLogs(response); + if (currentTimestamp === lastSearchTimestamp.current) { + setBackendFilteredLogs({ + ...response, + data: response.data ?? [], + }); } } catch (error) { console.error("Error searching users:", error); + setBackendFilteredLogs({ + data: [], + total: 0, + page: 1, + page_size: pageSize, + total_pages: 0, + }); } }, [accessToken, startTime, endTime, isCustomDate, pageSize, sortBy, sortOrder], @@ -267,6 +277,7 @@ export function useLogFilterLogic({ // Only call debouncedSearch if filters have actually changed if (JSON.stringify(updatedFilters) !== JSON.stringify(prev)) { setCurrentPage(1); + setBackendFilteredLogs(null); debouncedSearch(updatedFilters, 1); } @@ -281,8 +292,8 @@ export function useLogFilterLogic({ // Clear backend filtered logs to ensure fresh render setBackendFilteredLogs(null); - // Reset selections - debouncedSearch(defaultFilters, 1); + // Cancel any in-flight debounced search + debouncedSearch.cancel(); }; return {