From bbbb3cc84a1a6d4db4910fc0f4313bd02404fc66 Mon Sep 17 00:00:00 2001 From: undefined Date: Thu, 20 Oct 2022 15:44:30 +0800 Subject: [PATCH] core: fix homework scoreboard display --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/model/contest.ts | 8 +++----- packages/hydrooj/src/upgrade.ts | 6 ++++++ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 72cdfa69a..c305af1de 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "4.2.7", + "version": "4.2.8", "bin": "bin/hydrooj.js", "main": "src/plugin-api", "module": "src/plugin-api", diff --git a/packages/hydrooj/src/model/contest.ts b/packages/hydrooj/src/model/contest.ts index 63a779d50..2f12dd5c1 100644 --- a/packages/hydrooj/src/model/contest.ts +++ b/packages/hydrooj/src/model/contest.ts @@ -375,11 +375,9 @@ const homework = buildContestRule({ } const detail = []; for (const j in effective) { - detail.push({ - ...effective[j], - penaltyScore: penaltyScore(effective[j]), - time: time(effective[j]), - }); + effective[j].penaltyScore = penaltyScore(effective[j]); + effective[j].time = time(effective[j]); + detail.push(effective[j]); } return { score: sumBy(detail, 'score'), diff --git a/packages/hydrooj/src/upgrade.ts b/packages/hydrooj/src/upgrade.ts index 9553c7fb4..a987d555e 100644 --- a/packages/hydrooj/src/upgrade.ts +++ b/packages/hydrooj/src/upgrade.ts @@ -579,6 +579,12 @@ const scripts: UpgradeScript[] = [ }); return true; }, + async function _71_72() { + await iterateAllContest(async (tdoc) => { + if (tdoc.rule === 'homework') await contest.recalcStatus(tdoc.domainId, tdoc.docId); + }); + return true; + }, ]; export default scripts;