From 5cb0b05321e86df5f51e9c3d50713a628bdec2ca Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Wed, 3 Dec 2025 17:09:19 +1100 Subject: [PATCH] Ignore reviewer array checks when activating Tasks --- src/services/ChallengeService.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/services/ChallengeService.js b/src/services/ChallengeService.js index 7a30d85..24e059e 100644 --- a/src/services/ChallengeService.js +++ b/src/services/ChallengeService.js @@ -2710,13 +2710,17 @@ async function updateChallenge(currentUser, challengeId, data, options = {}) { logger.info(`${challengeId} is not a pureV5 challenge or has no winners set yet.`); } + const finalTypeId = data.typeId || challenge.typeId; + const finalTrackId = data.trackId || challenge.trackId; const { track, type } = await challengeHelper.validateAndGetChallengeTypeAndTrack({ - typeId: challenge.typeId, - trackId: challenge.trackId, + typeId: finalTypeId, + trackId: finalTrackId, timelineTemplateId: timelineTemplateChanged ? finalTimelineTemplateId : challenge.timelineTemplateId, }); + const isStandardTaskType = + _.isString(_.get(type, "name")) && _.get(type, "name").trim().toLowerCase() === "task"; if (_.get(type, "isTask")) { if (!_.isEmpty(_.get(data, "task.memberId"))) { @@ -2809,6 +2813,7 @@ async function updateChallenge(currentUser, challengeId, data, options = {}) { if ( isStatusChangingToActive && + !isStandardTaskType && (challenge.status === ChallengeStatusEnum.NEW || challenge.status === ChallengeStatusEnum.DRAFT) ) { const effectiveReviewers = Array.isArray(data.reviewers)