Fix: Prevent moderation queue reload on tab focus

This commit is contained in:
gpt-engineer-app[bot]
2025-10-13 19:46:06 +00:00
parent 5382e572bc
commit 5588f89606

View File

@@ -894,21 +894,21 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
}; };
}, [user, settings.refreshMode, settings.pollInterval, loadingState, settings.useRealtimeQueue]); }, [user, settings.refreshMode, settings.pollInterval, loadingState, settings.useRealtimeQueue]);
// Extract the boolean value to prevent effect re-runs when settings object changes
const isRefreshOnTabVisibleEnabled = settings.refreshOnTabVisible === true;
// Visibility change handler // Visibility change handler
useEffect(() => { useEffect(() => {
// HARD CHECK: Explicit boolean comparison to prevent any truthy coercion
const isEnabled = settings.refreshOnTabVisible === true;
console.log("🔍 [VISIBILITY EFFECT] Hard check", { console.log("🔍 [VISIBILITY EFFECT] Hard check", {
refreshOnTabVisible: settings.refreshOnTabVisible, refreshOnTabVisible: settings.refreshOnTabVisible,
typeOf: typeof settings.refreshOnTabVisible, typeOf: typeof settings.refreshOnTabVisible,
isEnabled, isRefreshOnTabVisibleEnabled,
willAttachListener: isEnabled, willAttachListener: isRefreshOnTabVisibleEnabled,
timestamp: new Date().toISOString(), timestamp: new Date().toISOString(),
}); });
// Early return if feature is disabled // Early return if feature is disabled
if (!isEnabled) { if (!isRefreshOnTabVisibleEnabled) {
console.log(" ✅ Feature DISABLED - skipping all visibility logic"); console.log(" ✅ Feature DISABLED - skipping all visibility logic");
console.log(" ✅ Tab focus will NOT trigger refreshes"); console.log(" ✅ Tab focus will NOT trigger refreshes");
@@ -924,7 +924,7 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
const handleVisibilityChange = () => { const handleVisibilityChange = () => {
// Double-check setting before doing anything (defensive check) // Double-check setting before doing anything (defensive check)
if (!settings.refreshOnTabVisible) { if (!isRefreshOnTabVisibleEnabled) {
console.log("⚠️ Visibility handler called but setting is disabled - ignoring"); console.log("⚠️ Visibility handler called but setting is disabled - ignoring");
return; return;
} }
@@ -954,7 +954,7 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
document.removeEventListener("visibilitychange", handleVisibilityChange); document.removeEventListener("visibilitychange", handleVisibilityChange);
console.log("🧹 Visibility listener removed"); console.log("🧹 Visibility listener removed");
}; };
}, [settings.refreshOnTabVisible]); }, [isRefreshOnTabVisibleEnabled]);
// Initialize realtime subscriptions // Initialize realtime subscriptions
useRealtimeSubscriptions({ useRealtimeSubscriptions({