From b49a2fde74ccb6d3f3864ac8ab249717a22738c9 Mon Sep 17 00:00:00 2001 From: undefined Date: Wed, 21 Apr 2021 23:14:00 +0800 Subject: [PATCH] core: fix #109 --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/handler/home.ts | 2 +- packages/hydrooj/src/model/record.ts | 2 +- packages/hydrooj/src/service/server.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 2e7bc3027..c6b073e0f 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.23.15", + "version": "2.23.16", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/handler/home.ts b/packages/hydrooj/src/handler/home.ts index 2fe9268cc..27d821136 100644 --- a/packages/hydrooj/src/handler/home.ts +++ b/packages/hydrooj/src/handler/home.ts @@ -250,7 +250,7 @@ class HomeSettingsHandler extends Handler { const settings = args.category === 'domain' ? setting.DOMAIN_USER_SETTINGS_BY_KEY : setting.SETTINGS_BY_KEY; for (const key in args) { const val = set(settings[key], key, args[key]); - if (val) $set[key] = val; + if (val !== undefined) $set[key] = val; } for (const key in booleanKeys) if (!args[key]) $set[key] = false; await setter($set); diff --git a/packages/hydrooj/src/model/record.ts b/packages/hydrooj/src/model/record.ts index cc6aeaa1e..f70e46dcb 100644 --- a/packages/hydrooj/src/model/record.ts +++ b/packages/hydrooj/src/model/record.ts @@ -20,7 +20,7 @@ class RecordModel { const pending = await task.count({ uid }); const timeRecent = await RecordModel.coll .find({ _id: { $gte: Time.getObjectID(moment().add(-1, 'hour')) }, uid }).project({ time: 1 }).toArray(); - return -(pending * (sum(timeRecent) / 1000)); + return -(pending * (sum(timeRecent.map((i) => i.time || 0)) / 1000)); } static async get(domainId: string, _id: ObjectID): Promise { diff --git a/packages/hydrooj/src/service/server.ts b/packages/hydrooj/src/service/server.ts index a985a730f..ce1c2a171 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -445,7 +445,7 @@ export class Handler extends HandlerCommon { this.session = {}; const [xff, xhost] = system.getMany(['server.xff', 'server.xhost']); if (xff) this.request.ip = this.request.headers[xff.toLowerCase()] || this.request.ip; - if (xhost) this.request.hostname = this.request.headers[xhost.toLowerCase()] || this.request.hostname; + if (xhost) this.request.host = this.request.headers[xhost.toLowerCase()] || this.request.host; this.noCheckPermView = true; }