From 7be75b310b740489c7811159a784b442b289406d Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Tue, 24 Feb 2026 09:05:23 +1100 Subject: [PATCH] Fix some minor "gotchas" with the dashboard / review summation handling --- src/shared/utils/mm-review-summations.js | 61 +++++++++++++----------- src/shared/utils/tc.js | 6 ++- 2 files changed, 37 insertions(+), 30 deletions(-) diff --git a/src/shared/utils/mm-review-summations.js b/src/shared/utils/mm-review-summations.js index b5973f92c..89071b46b 100644 --- a/src/shared/utils/mm-review-summations.js +++ b/src/shared/utils/mm-review-summations.js @@ -577,6 +577,10 @@ export function buildStatisticsData(reviewSummations = []) { if (!summation) { return false; } + const score = normalizeScoreValue(_.get(summation, 'aggregateScore')); + if (_.isNil(score)) { + return false; + } return getSummationScoreClassification(summation).isProvisional; }); @@ -587,6 +591,19 @@ export function buildStatisticsData(reviewSummations = []) { return; } + const timestamp = getSummationTimestamp(summation); + const timestampValue = toTimestampValue(timestamp); + const score = normalizeScoreValue(_.get(summation, 'aggregateScore')); + if (_.isNil(score)) { + return; + } + const scoreType = getSummationScoreClassification(summation); + if (includeOnlyProvisional) { + if (!scoreType.isProvisional) { + return; + } + } + const handle = getSummationHandle(summation); if (!grouped.has(handle)) { grouped.set(handle, { @@ -597,25 +614,11 @@ export function buildStatisticsData(reviewSummations = []) { } const entry = grouped.get(handle); - const rating = getSummationRating(summation); if (_.isNil(entry.rating) && !_.isNil(rating)) { entry.rating = rating; } - const timestamp = getSummationTimestamp(summation); - const timestampValue = toTimestampValue(timestamp); - const score = normalizeScoreValue(_.get(summation, 'aggregateScore')); - if (_.isNil(score)) { - return; - } - if (includeOnlyProvisional) { - const scoreType = getSummationScoreClassification(summation); - if (!scoreType.isProvisional) { - return; - } - } - const rawSubmissionId = _.get( summation, 'submissionId', @@ -643,20 +646,22 @@ export function buildStatisticsData(reviewSummations = []) { entry.submissionsMap.set(submissionId, updatedSubmission); }); - return Array.from(grouped.values()).map(entry => ({ - handle: entry.handle, - rating: entry.rating, - submissions: Array.from(entry.submissionsMap.values()) - .map(submission => ({ - submissionId: submission.submissionId, - created: submission.created, - createdAt: submission.createdAt, - score: submission.score, - })) - .sort( - (a, b) => toTimestampValue(b.createdAt) - toTimestampValue(a.createdAt), - ), - })); + return Array.from(grouped.values()) + .map(entry => ({ + handle: entry.handle, + rating: entry.rating, + submissions: Array.from(entry.submissionsMap.values()) + .map(submission => ({ + submissionId: submission.submissionId, + created: submission.created, + createdAt: submission.createdAt, + score: submission.score, + })) + .sort( + (a, b) => toTimestampValue(b.createdAt) - toTimestampValue(a.createdAt), + ), + })) + .filter(entry => Array.isArray(entry.submissions) && entry.submissions.length > 0); } export default { diff --git a/src/shared/utils/tc.js b/src/shared/utils/tc.js index d40eef66c..a92ff0849 100644 --- a/src/shared/utils/tc.js +++ b/src/shared/utils/tc.js @@ -199,8 +199,10 @@ export function getUnSelectedColors(rating) { */ export function getAuthTokens(req = {}) { const cookies = req.cookies || {}; - let tokenV2 = cookies.tcjwt; - let tokenV3 = cookies.tcjwt; + // Support both historical cookie names used across environments. + const authToken = cookies.tcjwt || cookies.tcJwt; + let tokenV2 = authToken; + let tokenV3 = authToken; if (!tokenV2 || isTokenExpired(tokenV2, config.AUTH_DROP_TIME)) { tokenV2 = '';