diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 4c46d5d4..603ac5aa 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.29.34", + "version": "2.29.35", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/handler/user.ts b/packages/hydrooj/src/handler/user.ts index e6d65813..43b96007 100644 --- a/packages/hydrooj/src/handler/user.ts +++ b/packages/hydrooj/src/handler/user.ts @@ -85,7 +85,7 @@ export class UserRegisterHandler extends Handler { if (system.get('smtp.verify') && system.get('smtp.user')) { const m = await this.renderHTML('user_register_mail.html', { path: `register/${t[0]}`, - url_prefix: (this.domain.host || [])[0] || system.get('server.url'), + url_prefix: (this.domain.host instanceof Array ? this.domain.host[0] : this.domain.host) || system.get('server.url'), }); await sendMail(mail, 'Sign Up', 'user_register_mail', m); this.response.template = 'user_register_mail_sent.html'; @@ -154,7 +154,7 @@ class UserLostPassHandler extends Handler { ); const m = await this.renderHTML('user_lostpass_mail.html', { url: `lostpass/${tid}`, - url_prefix: this.domain.host || system.get('server.url'), + url_prefix: (this.domain.host instanceof Array ? this.domain.host[0] : this.domain.host) || system.get('server.url'), uname: udoc.uname, }); await sendMail(mail, 'Lost Password', 'user_lostpass_mail', m); diff --git a/packages/hydrooj/src/service/server.ts b/packages/hydrooj/src/service/server.ts index c4e03e5b..aabd05ac 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -357,7 +357,12 @@ export class HandlerCommon { try { const { anchor } = args; if (args.domainId) name += '_with_domainId'; - else if ((!this.request.host || this.domain?.host !== this.request.host) && this.domainId !== 'system') { + else if (this.domainId !== 'system' && ( + !this.request.host + || (this.domain?.host instanceof Array + ? (!this.domain.host.includes(this.request.host)) + : this.domain.host !== this.domain?.host) + )) { name += '_with_domainId'; args.domainId = this.domainId; } diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index 7adf8959..026df20c 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.13.1", + "version": "4.13.2", "author": "undefined ", "license": "AGPL-3.0", "main": "hydro.js",