diff --git a/packages/hydrooj/src/entry/worker.ts b/packages/hydrooj/src/entry/worker.ts index a36a02b4..0bc2d8f9 100644 --- a/packages/hydrooj/src/entry/worker.ts +++ b/packages/hydrooj/src/entry/worker.ts @@ -7,7 +7,6 @@ import fs from 'fs-extra'; import { Context } from '../context'; import { Logger } from '../logger'; import db from '../service/db'; -import { sleep } from '../utils'; import { addon, builtinModel, handler, lib, locale, model, script, service, setting, template, diff --git a/packages/hydrooj/src/handler/import.ts b/packages/hydrooj/src/handler/import.ts index 945b5ade..ac74f687 100644 --- a/packages/hydrooj/src/handler/import.ts +++ b/packages/hydrooj/src/handler/import.ts @@ -50,13 +50,15 @@ class ProblemImportHydroHandler extends Handler { }); }); try { - const problems = await fs.readdir(tmpdir); - for (const i of problems) { + const problems = await fs.readdir(tmpdir, { withFileTypes: true }); + for (const { name: i, isDirectory } of problems) { + if (!isDirectory()) continue; const files = await fs.readdir(path.join(tmpdir, i)); if (!files.includes('problem.yaml')) continue; const content = fs.readFileSync(path.join(tmpdir, i, 'problem.yaml'), 'utf-8'); const pdoc: ProblemDoc = yaml.load(content) as any; - let pid = pdoc?.pid; + if (!pdoc) continue; + let pid = pdoc.pid; if (pid) { const current = await problem.get(domainId, pid); if (current) pid = undefined; diff --git a/packages/ui-default/components/datepicker/timepicker.ts b/packages/ui-default/components/datepicker/timepicker.ts index 582a8a7e..3271b3eb 100644 --- a/packages/ui-default/components/datepicker/timepicker.ts +++ b/packages/ui-default/components/datepicker/timepicker.ts @@ -186,7 +186,7 @@ export default class TimePicker { }; // TimePicker.prototype.scope parse(type, value, options) { - let hour; let minutes; let isPM; let item; let parseValue; + let hour; let minutes; let item; let parseValue; const clock = this; const parsingObject = {}; if (!value || typeof value !== 'string') return value; @@ -219,7 +219,7 @@ export default class TimePicker { } // Calculate it in minutes and return. - return (isPM ? hour + 12 : hour) * MINUTES_IN_HOUR + minutes; + return hour * MINUTES_IN_HOUR + minutes; } nodes(isOpen) { diff --git a/packages/ui-default/components/message/index.page.ts b/packages/ui-default/components/message/index.page.ts index 222b477c..f59e77d5 100644 --- a/packages/ui-default/components/message/index.page.ts +++ b/packages/ui-default/components/message/index.page.ts @@ -100,7 +100,7 @@ const messagePage = new AutoloadPage('messagePage', (pagename) => { localStorage.setItem('pages', JSON.stringify(c.filter((i) => i !== selfId))); if (!isMaster) return; localStorage.removeItem('page.master'); - channel?.postMessage({ type: 'master' }); + channel.postMessage({ type: 'master' }); }; function asMaster() { diff --git a/packages/ui-default/polyfill.ts b/packages/ui-default/polyfill.ts index ce083f44..202215e4 100644 --- a/packages/ui-default/polyfill.ts +++ b/packages/ui-default/polyfill.ts @@ -63,6 +63,7 @@ if (!(window.matchMedia('all').addListener || window.matchMedia('all').addEventL for (let i = 0, il = listeners.length; i < il; i++) { if (listeners[i] === listener) { listeners.splice(i, 1); + i--; } } }; diff --git a/packages/vjudge/src/providers/uoj.ts b/packages/vjudge/src/providers/uoj.ts index 549d21ed..74846e37 100644 --- a/packages/vjudge/src/providers/uoj.ts +++ b/packages/vjudge/src/providers/uoj.ts @@ -55,7 +55,7 @@ export default class UOJProvider implements IBasicProvider { this.cookie = header['set-cookie']; } let value = /_token *: *"(.+?)"/g.exec(html); - if (value) return value?.[1]; + if (value) return value[1]; value = /_token" value="(.+?)"/g.exec(html); return value?.[1]; }