diff --git a/packages/ui-default/index.ts b/packages/ui-default/index.ts index dbff7cec6..ec9106902 100644 --- a/packages/ui-default/index.ts +++ b/packages/ui-default/index.ts @@ -4,7 +4,7 @@ import crypto from 'crypto'; import esbuild from 'esbuild'; import { ContestModel, Context, fs, Handler, Logger, ObjectID, param, PERM, PRIV, ProblemModel, Schema, - SettingModel, SystemModel, SystemSettings, Types, UiContextBase, UserModel, + SettingModel, size, SystemModel, SystemSettings, Types, UiContextBase, UserModel, } from 'hydrooj'; import { debounce } from 'lodash'; import { tmpdir } from 'os'; @@ -79,7 +79,7 @@ export async function buildUI() { const version = c.digest('hex'); constant = JSON.stringify(payload); UiContextBase.constantVersion = hash = version; - logger.success('UI addons built in %d ms', Date.now() - start); + logger.success('UI addons built in %d ms (%s)', Date.now() - start, size(constant.length)); } function updateLogo() { UiContextBase.nav_logo_dark = SystemModel.get('ui-default.nav_logo_dark'); diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index d5ec7facb..09b4dc83b 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.46.0", + "version": "4.46.1", "author": "undefined ", "license": "AGPL-3.0", "main": "index.ts", diff --git a/packages/ui-default/pages/user_verify.page.ts b/packages/ui-default/pages/user_verify.page.ts index 2b8224ae1..5df712cc4 100644 --- a/packages/ui-default/pages/user_verify.page.ts +++ b/packages/ui-default/pages/user_verify.page.ts @@ -74,12 +74,16 @@ export default new AutoloadPage('user_verify', () => { ev.preventDefault(); const $form = ev.currentTarget.form; const uname = $('[name="uname"]').val() as string; - const { tfa, authn } = await api(gql` - user(uname:${uname}){ - tfa - authn + const info = await api(gql` + uname: user(uname:${uname}){ + tfa authn } - `, ['data', 'user']); + mail: user(mail:${uname}){ + tfa authn + } + `, ['data']); + if (!info.uname && !info.mail) Notification.error(i18n('User not found.')); + const { authn, tfa } = info.uname || info.mail; if (authn || tfa) { let action = (authn && tfa) ? await chooseAction(true) : ''; if (!action) action = tfa ? await chooseAction(false) : 'webauthn';