diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 96c12568f..91483eba3 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.29.16", + "version": "2.29.17", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/model/contest.ts b/packages/hydrooj/src/model/contest.ts index d365e8c1b..4aaf8bffd 100644 --- a/packages/hydrooj/src/model/contest.ts +++ b/packages/hydrooj/src/model/contest.ts @@ -199,7 +199,7 @@ const oi: ContestRule = { pdomain = pid.split(':')[0]; pid = +pid.split(':')[1]; } - return problem.getMultiStatus(pdomain, { uid: { $in: uids } }).toArray(); + return problem.getMultiStatus(pdomain, { docId: pid, uid: { $in: uids } }).toArray(); }), ); for (const tpsdoc of psdocs) { @@ -222,7 +222,7 @@ const oi: ContestRule = { ); for (const pid of tdoc.pids) { // eslint-disable-next-line @typescript-eslint/no-use-before-define - if (isDone(tdoc) && tsddict[pid]?.rid !== psdict[`${tsdoc.uid}/${pid}`]?.rid) { + if (isDone(tdoc) && tsddict[pid]?.rid?.toHexString() !== psdict[`${tsdoc.uid}/${pid}`]?.rid?.toHexString()) { row.push({ type: 'records', value: '',