diff --git a/src/hooks/moderation/useModerationQueueManager.ts b/src/hooks/moderation/useModerationQueueManager.ts index e84993ba..d984d1ba 100644 --- a/src/hooks/moderation/useModerationQueueManager.ts +++ b/src/hooks/moderation/useModerationQueueManager.ts @@ -208,10 +208,13 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig): } }, [queueQuery.error, toast]); + // Extract stable callback to prevent infinite loop + const { setTotalCount } = pagination; + // Update total count for pagination useEffect(() => { - pagination.setTotalCount(queueQuery.totalCount); - }, [queueQuery.totalCount, pagination]); + setTotalCount(queueQuery.totalCount); + }, [queueQuery.totalCount, setTotalCount]); // Mark initial fetch as complete useEffect(() => { @@ -432,14 +435,9 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig): [filters.statusFilter, toast], ); - // Extract stable callbacks for dependencies - const invalidateQuery = useCallback(() => { - queueQuery.invalidate(); - }, [queueQuery.invalidate]); - - const resetPagination = useCallback(() => { - pagination.reset(); - }, [pagination.reset]); + // Extract stable callbacks to prevent infinite loop in effects + const { invalidate: invalidateQuery } = queueQuery; + const { reset: resetPagination } = pagination; // Mark initial fetch as complete when query loads useEffect(() => { diff --git a/vercel.json b/vercel.json index bf713168..266f4165 100644 --- a/vercel.json +++ b/vercel.json @@ -30,10 +30,6 @@ { "key": "X-XSS-Protection", "value": "1; mode=block" - }, - { - "key": "Permissions-Policy", - "value": "interest-cohort=()" } ] },