From 0be9ef8b18a0b63e30076e9a0d27910f9ab57b96 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Fri, 10 Oct 2025 14:49:53 +0000 Subject: [PATCH] Fix stale ref in moderation queue --- src/components/moderation/ModerationQueue.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/moderation/ModerationQueue.tsx b/src/components/moderation/ModerationQueue.tsx index 17626351..c761540c 100644 --- a/src/components/moderation/ModerationQueue.tsx +++ b/src/components/moderation/ModerationQueue.tsx @@ -503,6 +503,7 @@ export const ModerationQueue = forwardRef((props, ref) => { if (mergeResult.hasChanges) { setItems(mergeResult.items); + itemsRef.current = mergeResult.items; // Update ref immediately to prevent stale comparisons console.log('🔄 Queue updated (replace mode):', { added: mergeResult.changes.added.length, removed: mergeResult.changes.removed.length, @@ -534,6 +535,7 @@ export const ModerationQueue = forwardRef((props, ref) => { if (mergeResult.hasChanges) { setItems(mergeResult.items); + itemsRef.current = mergeResult.items; // Update ref immediately to prevent stale comparisons console.log('🔄 Queue updated (manual refresh):', { added: mergeResult.changes.added.length, removed: mergeResult.changes.removed.length, @@ -932,10 +934,14 @@ export const ModerationQueue = forwardRef((props, ref) => { } console.log('🔄 Realtime UPDATE: Changes detected for', fullItem.id); - return prev.map(i => i.id === fullItem.id ? fullItem : i); + const newItems = prev.map(i => i.id === fullItem.id ? fullItem : i); + itemsRef.current = newItems; // Update ref immediately + return newItems; } else { console.log('🆕 Realtime UPDATE: Adding new item', fullItem.id); - return [fullItem, ...prev]; + const newItems = [fullItem, ...prev]; + itemsRef.current = newItems; // Update ref immediately + return newItems; } }); } catch (error) {