Fix infinite query loop

This commit is contained in:
gpt-engineer-app[bot]
2025-11-05 01:35:59 +00:00
parent 791205210f
commit 6438d186d7
2 changed files with 10 additions and 32 deletions

View File

@@ -160,42 +160,20 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
const initialFetchCompleteRef = useRef(false); const initialFetchCompleteRef = useRef(false);
const isMountingRef = useRef(true); const isMountingRef = useRef(true);
// Store settings, filters, and pagination in refs to stabilize fetchItems
const settingsRef = useRef(settings);
const filtersRef = useRef(filters);
const sortRef = useRef(filters.debouncedSortConfig);
const paginationRef = useRef(pagination);
// Sync refs with state
useEffect(() => {
settingsRef.current = settings;
}, [settings]);
useEffect(() => {
filtersRef.current = filters;
}, [filters]);
useEffect(() => {
sortRef.current = filters.debouncedSortConfig;
}, [filters.debouncedSortConfig]);
useEffect(() => {
paginationRef.current = pagination;
}, [pagination]);
/** /**
* Replace manual fetching with TanStack Query * Replace manual fetching with TanStack Query
* Use direct state values for stable query keys
*/ */
const queueQuery = useQueueQuery({ const queueQuery = useQueueQuery({
userId: user?.id, userId: user?.id,
isAdmin, isAdmin,
isSuperuser, isSuperuser,
entityFilter: filtersRef.current.debouncedEntityFilter, entityFilter: filters.debouncedEntityFilter,
statusFilter: filtersRef.current.debouncedStatusFilter, statusFilter: filters.debouncedStatusFilter,
tab: filtersRef.current.activeTab, tab: filters.activeTab,
currentPage: paginationRef.current.currentPage, currentPage: pagination.currentPage,
pageSize: paginationRef.current.pageSize, pageSize: pagination.pageSize,
sortConfig: sortRef.current, sortConfig: filters.debouncedSortConfig,
enabled: !!user, enabled: !!user,
}); });
@@ -232,8 +210,8 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
// Update total count for pagination // Update total count for pagination
useEffect(() => { useEffect(() => {
paginationRef.current.setTotalCount(queueQuery.totalCount); pagination.setTotalCount(queueQuery.totalCount);
}, [queueQuery.totalCount]); }, [queueQuery.totalCount, pagination]);
// Mark initial fetch as complete // Mark initial fetch as complete
useEffect(() => { useEffect(() => {

View File

@@ -33,7 +33,7 @@
}, },
{ {
"key": "Permissions-Policy", "key": "Permissions-Policy",
"value": "browsing-topics=()" "value": "interest-cohort=()"
} }
] ]
}, },