mirror of
https://github.com/BerriAI/litellm.git
synced 2026-08-28 05:25:59 +00:00
[Fix] UI - Logs: disable main query while backend filters are active
When backend filters (Key Alias, Key Hash, etc.) were active, the main logs query still refetched whenever startTime/endTime/sort/page changed, firing a redundant unfiltered server request whose result was discarded. Expose hasBackendFilters from useLogFilterLogic and use it to gate the main query's enabled condition. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
251526f52a
commit
f5caa34ebe
2 changed files with 15 additions and 2 deletions
|
|
@ -91,6 +91,11 @@ export default function SpendLogsTable({
|
|||
const [sortBy, setSortBy] = useState<LogsSortField>("startTime");
|
||||
const [sortOrder, setSortOrder] = useState<"asc" | "desc">("desc");
|
||||
|
||||
// Tracks whether any filter that uses performSearch (backend) is active.
|
||||
// Used to disable the main query so it doesn't fire redundant unfiltered requests
|
||||
// when time range / sort / page changes while a backend filter is in effect.
|
||||
const [isMainQueryEnabled, setIsMainQueryEnabled] = useState(true);
|
||||
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
const [isLiveTail, setIsLiveTail] = useState<boolean>(() => {
|
||||
|
|
@ -212,7 +217,7 @@ export default function SpendLogsTable({
|
|||
|
||||
return response;
|
||||
},
|
||||
enabled: !!accessToken && !!token && !!userRole && !!userID && activeTab === "request logs",
|
||||
enabled: !!accessToken && !!token && !!userRole && !!userID && activeTab === "request logs" && isMainQueryEnabled,
|
||||
refetchInterval: isLiveTail && currentPage === 1 ? 15000 : false,
|
||||
placeholderData: keepPreviousData,
|
||||
refetchIntervalInBackground: true,
|
||||
|
|
@ -235,6 +240,7 @@ export default function SpendLogsTable({
|
|||
const {
|
||||
filters,
|
||||
filteredLogs,
|
||||
hasBackendFilters,
|
||||
allTeams: hookAllTeams,
|
||||
allKeyAliases,
|
||||
handleFilterChange,
|
||||
|
|
@ -264,6 +270,12 @@ export default function SpendLogsTable({
|
|||
setCurrentPage(1);
|
||||
}, [handleFilterResetFromHook]);
|
||||
|
||||
// Disable the main query whenever backend filters are active so it doesn't fire
|
||||
// redundant unfiltered requests when time range / sort / page changes.
|
||||
useEffect(() => {
|
||||
setIsMainQueryEnabled(!hasBackendFilters);
|
||||
}, [hasBackendFilters]);
|
||||
|
||||
// Sync filter state into the individual selectedX state variables used by the main query
|
||||
useEffect(() => {
|
||||
if (!accessToken) return;
|
||||
|
|
@ -673,7 +685,7 @@ export default function SpendLogsTable({
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{isLiveTail && currentPage === 1 && (
|
||||
{isLiveTail && currentPage === 1 && isMainQueryEnabled && (
|
||||
<div className="mb-4 px-4 py-2 bg-green-50 border border-greem-200 rounded-md flex items-center justify-between">
|
||||
<div className="flex items-center gap-2">
|
||||
<span className="text-sm text-green-700">Auto-refreshing every 15 seconds</span>
|
||||
|
|
|
|||
|
|
@ -309,6 +309,7 @@ export function useLogFilterLogic({
|
|||
return {
|
||||
filters,
|
||||
filteredLogs,
|
||||
hasBackendFilters,
|
||||
allKeyAliases,
|
||||
allTeams,
|
||||
handleFilterChange,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue