From c25c1d5e89d6710e226b580796f1a5f4634c8a4e Mon Sep 17 00:00:00 2001 From: XeF2 <157892771+USTC-XeF2@users.noreply.github.com> Date: Tue, 25 Aug 2026 14:47:03 +0800 Subject: [PATCH] fix #1202 (#1203) --- packages/hydrooj/src/handler/user.ts | 8 ++++++-- .../ui-default/templates/user_register_with_code.html | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/hydrooj/src/handler/user.ts b/packages/hydrooj/src/handler/user.ts index e6155d3d3..70f666b10 100644 --- a/packages/hydrooj/src/handler/user.ts +++ b/packages/hydrooj/src/handler/user.ts @@ -303,8 +303,12 @@ class UserRegisterWithCodeHandler extends Handler { } async get() { + const provider = this.ctx.oauth.providers[this.tdoc.identity.provider]; this.response.template = 'user_register_with_code.html'; - this.response.body = this.tdoc; + this.response.body = { + ...this.tdoc, + lockUsername: !!provider?.lockUsername, + }; } @param('password', Types.Password) @@ -317,7 +321,7 @@ class UserRegisterWithCodeHandler extends Handler { ) { const provider = this.ctx.oauth.providers[this.tdoc.identity.provider]; if (!provider) throw new SystemError(`OAuth provider ${this.tdoc.identity.provider} not found`); - if (provider.lockUsername) uname = this.tdoc.identity.username; + if (provider.lockUsername) uname = this.tdoc.username; if (!Types.Username[1](uname)) throw new ValidationError('uname'); if (password !== verify) throw new VerifyPasswordError(); const randomEmail = `${randomstring(12)}@invalid.local`; // some random email to remove in the future diff --git a/packages/ui-default/templates/user_register_with_code.html b/packages/ui-default/templates/user_register_with_code.html index 4ca726583..6a8f5834b 100644 --- a/packages/ui-default/templates/user_register_with_code.html +++ b/packages/ui-default/templates/user_register_with_code.html @@ -12,13 +12,13 @@