From 00a8aac6d8a2acbfa14e35c43a09533c2563f9fb Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Fri, 14 Nov 2025 12:20:25 +1100 Subject: [PATCH] Have admin access be priority over resource role on challenge, and fix visibility of checkpoint submissions that fail screening --- .../src/lib/hooks/useFetchScreeningReview.ts | 19 +++++++++++++++++++ src/apps/review/src/lib/hooks/useRole.ts | 5 ++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/apps/review/src/lib/hooks/useFetchScreeningReview.ts b/src/apps/review/src/lib/hooks/useFetchScreeningReview.ts index 21ac26f0f..226a73b9f 100644 --- a/src/apps/review/src/lib/hooks/useFetchScreeningReview.ts +++ b/src/apps/review/src/lib/hooks/useFetchScreeningReview.ts @@ -1502,6 +1502,25 @@ export function useFetchScreeningReview(): useFetchScreeningReviewProps { reviewEntries: reviewsToRender, }) + const hasCheckpointReview = rowsForSubmission.some(row => Boolean(row.reviewId)) + const submissionStatus = (item.status ?? '') + .toString() + .trim() + .toUpperCase() + const failedCheckpointScreening = submissionStatus === 'FAILED_CHECKPOINT_SCREENING' + + if (failedCheckpointScreening && !hasCheckpointReview) { + if (debugCheckpointPhases) { + debugLog('checkpointReview.skipSubmission', { + reason: 'failedCheckpointScreeningWithoutReview', + submissionId: item.id, + submissionStatus, + }) + } + + return rows + } + rows.push(...rowsForSubmission) return rows diff --git a/src/apps/review/src/lib/hooks/useRole.ts b/src/apps/review/src/lib/hooks/useRole.ts index a67304c27..6e6bcac5a 100644 --- a/src/apps/review/src/lib/hooks/useRole.ts +++ b/src/apps/review/src/lib/hooks/useRole.ts @@ -69,7 +69,10 @@ const useRole = (): useRoleProps => { return '' } - const normalizedRoles = myRoles.map(role => role.toLowerCase()) + const normalizedRoles = [ + ...myRoles.map(role => role.toLowerCase()), + ...(isTopcoderAdmin ? ['admin'] : []), + ] const rolePriority: ChallengeRole[] = [ 'Admin', 'Manager',