diff --git a/src/components/moderation/QueueItem.tsx b/src/components/moderation/QueueItem.tsx
index 0debfb7f..143f26f2 100644
--- a/src/components/moderation/QueueItem.tsx
+++ b/src/components/moderation/QueueItem.tsx
@@ -425,6 +425,16 @@ export const QueueItem = memo(({
Review Items
+
+ {/* Debug info in dev mode */}
+ {import.meta.env.DEV && isAdmin && (
+
+ 🔍 isLockedByMe={String(isLockedByMe)} |
+ assigned_to={item.assigned_to?.slice(0,8) || 'null'} |
+ currentLock={currentLockSubmissionId?.slice(0,8) || 'null'}
+
+ )}
+
{isAdmin && isLockedByMe && (
diff --git a/src/hooks/moderation/useModerationQueueManager.ts b/src/hooks/moderation/useModerationQueueManager.ts
index b3b69b5d..583418c1 100644
--- a/src/hooks/moderation/useModerationQueueManager.ts
+++ b/src/hooks/moderation/useModerationQueueManager.ts
@@ -115,6 +115,8 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
onLockStateChange: () => {
logger.log('🔄 Lock state changed, invalidating queue cache');
queueQuery.invalidate();
+ // Force immediate re-render by triggering a loading cycle
+ setLoadingState(prev => prev === "loading" ? "ready" : prev);
}
});
const entityCache = useEntityCache();
diff --git a/src/hooks/useModerationQueue.ts b/src/hooks/useModerationQueue.ts
index 30d72972..1129173c 100644
--- a/src/hooks/useModerationQueue.ts
+++ b/src/hooks/useModerationQueue.ts
@@ -452,7 +452,7 @@ export const useModerationQueue = (config?: UseModerationQueueConfig) => {
}, [currentLock, releaseLock]);
return {
- currentLock,
+ currentLock, // Exposed for reactive UI updates
queueStats,
isLoading,
claimNext,