From 1d3c907c8a145b7e6e32eb0410d49b9a3c78376f Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 20:27:15 +0000 Subject: [PATCH] Fix: Prevent bypass of blocking validation errors --- src/components/moderation/SubmissionReviewManager.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/components/moderation/SubmissionReviewManager.tsx b/src/components/moderation/SubmissionReviewManager.tsx index 87bb3b69..664a3dbf 100644 --- a/src/components/moderation/SubmissionReviewManager.tsx +++ b/src/components/moderation/SubmissionReviewManager.tsx @@ -118,9 +118,10 @@ export function SubmissionReviewManager({ } else { next.add(itemId); } - // Clear blocking errors when selection changes + // Clear blocking errors and warning confirmation when selection changes setHasBlockingErrors(false); setValidationResults(new Map()); + setUserConfirmedWarnings(false); return next; }); }; @@ -179,7 +180,8 @@ export function SubmissionReviewManager({ return result && result.blockingErrors.length > 0; }); - if (itemsWithBlockingErrors.length > 0 && !userConfirmedWarnings) { + // CRITICAL: Blocking errors can NEVER be bypassed, regardless of warnings + if (itemsWithBlockingErrors.length > 0) { setHasBlockingErrors(true); setShowValidationBlockerDialog(true); setLoading(false); @@ -227,7 +229,10 @@ export function SubmissionReviewManager({ : `Successfully approved ${successCount} item(s)`, variant: failCount > 0 ? 'destructive' : 'default', }); - + + // Reset warning confirmation state after approval + setUserConfirmedWarnings(false); + onComplete(); onOpenChange(false); } catch (error: any) {