From 0bc1729147ff7b1f00adca8326c100b81373eeac Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 25 Oct 2024 06:30:27 +0800 Subject: [PATCH] core: bug fix --- README.md | 3 ++- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/handler/home.ts | 12 +++++++----- packages/hydrooj/src/handler/homework.ts | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 426d21a1b..a6425fd6f 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ Hydro 用户群:1085853538

更新日志(点击展开)

-## Hydro 4.17.2 / UI 4.55.2 +## Hydro 4.17.3 / UI 4.55.2 - core: 限制显示名长度 - core: 支持调整代码长度限制 @@ -124,6 +124,7 @@ Hydro 用户群:1085853538 - core: 支持 StorageModel.copy 和 StorageModel.exists - core: 弃用 ProblemModel.list - core: 添加 user/import/parse 和 user/import/create 钩子 +- core: 优化题目列表查询性能 ## Hydro 4.16.0 / UI 4.54.3 diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index e2039d52e..c672fecf2 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "4.17.2", + "version": "4.17.3", "bin": "bin/hydrooj.js", "main": "src/plugin-api", "module": "src/plugin-api", diff --git a/packages/hydrooj/src/handler/home.ts b/packages/hydrooj/src/handler/home.ts index 04b4f4a57..175a647ab 100644 --- a/packages/hydrooj/src/handler/home.ts +++ b/packages/hydrooj/src/handler/home.ts @@ -368,11 +368,13 @@ function set(s: Setting, key: string, value: any) { if (Number.isNaN(+value)) throw new ValidationError(key); return +value; } - if (['json', 'yaml', 'markdown', 'textarea'].includes(s.type)) { - if (!Types.Content[1](value)) throw new ValidationError(key); - } - if (s.type === 'text') { - if (!Types.ShortString[1](value)) throw new ValidationError(key); + if (value) { + if (['json', 'yaml', 'markdown', 'textarea'].includes(s.type)) { + if (!Types.Content[1](value)) throw new ValidationError(key); + } + if (s.type === 'text') { + if (!Types.ShortString[1](value)) throw new ValidationError(key); + } } if (s.subType === 'yaml') { try { diff --git a/packages/hydrooj/src/handler/homework.ts b/packages/hydrooj/src/handler/homework.ts index faf336ef6..c16b5d6d3 100644 --- a/packages/hydrooj/src/handler/homework.ts +++ b/packages/hydrooj/src/handler/homework.ts @@ -128,7 +128,7 @@ class HomeworkDetailHandler extends Handler { Object.assign(this.response.body, { pdict, psdict, rdict }); } - async postAttend(domainId: string) { + async postAttend({ domainId }) { this.checkPerm(PERM.PERM_ATTEND_HOMEWORK); if (contest.isDone(this.tdoc)) throw new HomeworkNotLiveError(this.tdoc.docId); await contest.attend(domainId, this.tdoc.docId, this.user._id);