diff --git a/README.md b/README.md index bb66bf1e..5dff6bf8 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,19 @@ Telegram [@webpack_exports_undefined](https://t.me/webpack_exports_undefined)

更新日志(点击展开)

+### Hydro 4.6.0 / UI 4.46.0 +- core&ui: 添加 webauthn 支持 +- ui: 修复题解投票 +- ui: 优化比赛详情页布局 +- ui: 修复快捷搜索中评测记录链接 +- core: 添加 `Types.ArrayOf()` 支持 +- ui: 修复侧栏预览保存 +- core: 添加 CookieDomain 设置 +- ui: 修复 dev 模式下页面无限刷新的问题 +- vjudge: 提供 BasicFetcher 组件 +- core: DomainModel 缓存 +- core&ui: 其他漏洞修复 + ### Hydro 4.5.2 / UI 4.45.1 - core: 添加乐多赛支持 - vjudge: 移除 puppeteer 相关依赖 diff --git a/packages/hydrooj/src/handler/home.ts b/packages/hydrooj/src/handler/home.ts index 188e4960..8dfe59fc 100644 --- a/packages/hydrooj/src/handler/home.ts +++ b/packages/hydrooj/src/handler/home.ts @@ -3,7 +3,6 @@ import { generateRegistrationOptions, verifyRegistrationResponse } from '@simple import yaml from 'js-yaml'; import { pick } from 'lodash'; import { Binary, ObjectID } from 'mongodb'; -import { camelCase } from '@hydrooj/utils/lib/utils'; import { Context } from '../context'; import { AuthOperationError, BlacklistedError, DomainAlreadyExistsError, InvalidTokenError, @@ -33,7 +32,7 @@ import * as bus from '../service/bus'; import { ConnectionHandler, Handler, param, query, requireSudo, Types, } from '../service/server'; -import { md5 } from '../utils'; +import { camelCase, md5 } from '../utils'; export class HomeHandler extends Handler { uids = new Set(); @@ -175,7 +174,7 @@ class HomeSecurityHandler extends Handler { 'authenticatorAttachment', 'regat', 'fmt', ])), geoipProvider: geoip?.provider, - icon: useragent.icon, + icon: (str = '') => str.split(' ')[0].toLowerCase(), }; } diff --git a/packages/hydrooj/src/interface.ts b/packages/hydrooj/src/interface.ts index 788acb7f..e2adb7e3 100644 --- a/packages/hydrooj/src/interface.ts +++ b/packages/hydrooj/src/interface.ts @@ -734,7 +734,6 @@ export interface Lib extends Record { rank: typeof import('./lib/rank'); rating: typeof import('./lib/rating'); testdataConfig: typeof import('./lib/testdataConfig'); - useragent: typeof import('./lib/useragent'); validator: typeof import('./lib/validator'); template?: any; problemSearch: ProblemSearch; diff --git a/packages/hydrooj/src/lib/index.ts b/packages/hydrooj/src/lib/index.ts index db563bcc..b4d98514 100644 --- a/packages/hydrooj/src/lib/index.ts +++ b/packages/hydrooj/src/lib/index.ts @@ -1,6 +1,5 @@ import './i18n'; import './mail'; -import './useragent'; import './paginate'; import './hash.hydro'; import './rank'; diff --git a/packages/hydrooj/src/lib/useragent.ts b/packages/hydrooj/src/lib/useragent.ts index a32589b0..0dfb414d 100644 --- a/packages/hydrooj/src/lib/useragent.ts +++ b/packages/hydrooj/src/lib/useragent.ts @@ -3,9 +3,3 @@ import * as browser from 'detect-browser'; export function parse(str: string) { return browser.parseUserAgent(str); } - -export function icon(str: string = '') { - return str.split(' ')[0].toLowerCase(); -} - -global.Hydro.lib.useragent = { parse, icon };