diff --git a/package.json b/package.json index e49ba5285..05f47e698 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "license": "AGPL-3.0-only", "devDependencies": { "@types/cross-spawn": "^6.0.2", - "@types/node": "^15.14.5", + "@types/node": "^15.14.7", "@types/semver": "^7.3.8", "@typescript-eslint/eslint-plugin": "^4.29.0", "@typescript-eslint/parser": "^4.29.0", @@ -42,7 +42,7 @@ "fs-extra": "^10.0.0", "globby": "^11.0.4", "latest-version": "^5.1.0", - "mongodb": "^3.6.10", + "mongodb": "^3.6.11", "nmls": "^3.0.1", "ora": "^5.4.1", "semver": "^7.3.5", diff --git a/packages/center/package.json b/packages/center/package.json index 2e3e2c7fc..85c87dddc 100644 --- a/packages/center/package.json +++ b/packages/center/package.json @@ -11,8 +11,7 @@ "superagent": "^6.1.0" }, "devDependencies": { - "@types/js-yaml": "^4.0.2", - "@types/node": "^15.14.5" + "@types/js-yaml": "^4.0.2" }, "peerDependencies": { "hydrooj": "*" diff --git a/packages/fps-importer/package.json b/packages/fps-importer/package.json index 56187cdee..5779f8fcd 100644 --- a/packages/fps-importer/package.json +++ b/packages/fps-importer/package.json @@ -11,7 +11,7 @@ "adm-zip": "^0.5.5", "decode-html": "^2.0.0", "fs-extra": "^10.0.0", - "mongodb": "^3.6.10", + "mongodb": "^3.6.11", "xml2js": "^0.4.23" }, "devDependencies": { diff --git a/packages/hydrojudge/package.json b/packages/hydrojudge/package.json index 078394606..d73b15631 100644 --- a/packages/hydrojudge/package.json +++ b/packages/hydrojudge/package.json @@ -1,7 +1,7 @@ { "name": "@hydrooj/hydrojudge", "bin": "bin/hydrojudge.js", - "version": "2.9.6", + "version": "2.10.0", "main": "package.json", "author": "undefined ", "repository": "https://github.com/hydro-dev/Hydro.git", @@ -9,14 +9,14 @@ "@hydrooj/utils": "workspace:*", "axios": "^0.21.1", "cac": "^6.7.3", - "esbuild": "^0.12.17", + "esbuild": "^0.12.18", "fs-extra": "^10.0.0", "js-yaml": "^4.1.0", "lodash": "^4.17.21", - "mongodb": "^3.6.10", - "p-queue": "^6.6.2", + "mongodb": "^3.6.11", + "p-queue": "^7.1.0", "shell-quote": "^1.7.2", - "ws": "^7.5.3" + "ws": "^8.0.0" }, "preferUnplugged": true, "license": "AGPL-3.0-or-later", diff --git a/packages/hydrojudge/src/hosts/hydro.ts b/packages/hydrojudge/src/hosts/hydro.ts index 6836c8369..6a98219d8 100644 --- a/packages/hydrojudge/src/hosts/hydro.ts +++ b/packages/hydrojudge/src/hosts/hydro.ts @@ -261,13 +261,13 @@ export default class Hydro { : '{"key":"ping"}'; setInterval(() => this.ws.send(content), 30000); }); - this.ws.on('message', (data) => { - const request = JSON.parse(data.toString()); + this.ws.on('message', (data, isBinary) => { + const request = JSON.parse(isBinary ? data : data.toString()); if (request.language) this.language = request.language; if (request.task) queue.push(new JudgeTask(this, request.task, this.ws)); }); this.ws.on('close', (data, reason) => { - log.warn(`[${this.config.host}] Websocket 断开:`, data, reason); + log.warn(`[${this.config.host}] Websocket 断开:`, data, reason.toString()); setTimeout(() => this.retry(queue), 30000); }); this.ws.on('error', (e) => { diff --git a/packages/hydrojudge/src/judge/default.ts b/packages/hydrojudge/src/judge/default.ts index b603dc44e..859439786 100644 --- a/packages/hydrojudge/src/judge/default.ts +++ b/packages/hydrojudge/src/judge/default.ts @@ -177,7 +177,6 @@ export const judge = async (ctx) => { if (ctx.failed[required.toString()]) effective = false; } if (effective) ctx.total_score += scores[sid]; - console.log(effective, ctx.total_score, scores[sid], sid); } ctx.stat.done = new Date(); if (process.env.DEV) ctx.next({ message: JSON.stringify(ctx.stat) }); diff --git a/packages/hydrojudge/src/sandbox.ts b/packages/hydrojudge/src/sandbox.ts index 60b639cd9..b51692f97 100644 --- a/packages/hydrojudge/src/sandbox.ts +++ b/packages/hydrojudge/src/sandbox.ts @@ -46,7 +46,9 @@ function proc({ cpuLimit: time * 1000 * 1000 * rate, realCpuLimit: time * 3000 * 1000 * rate, memoryLimit: memory * 1024 * 1024, + stackLimit: memory * 1024 * 1024, procLimit: process_limit, + strictMemoryLimit: true, copyIn, copyOut, copyOutCached, diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 9f62e79f1..b0719b9c6 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.30.14", + "version": "2.31.0", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", @@ -8,7 +8,7 @@ "author": "undefined ", "license": "AGPL-3.0-or-later", "engines": { - "node": ">=14" + "node": ">=10.4" }, "preferUnplugged": true, "dependencies": { @@ -30,11 +30,11 @@ "lru-cache": "^6.0.0", "minio": "7.0.17", "moment-timezone": "^0.5.33", - "mongodb": "^3.6.10", + "mongodb": "^3.6.11", "nodemailer": "^6.6.3", - "p-queue": "^6.6.2", + "p-queue": "^7.1.0", "reflect-metadata": "^0.1.13", - "serialize-javascript": "^5.0.1", + "serialize-javascript": "^6.0.0", "sockjs": "^0.3.21", "superagent": "^6.1.0" }, diff --git a/packages/login-with-qq/package.json b/packages/login-with-qq/package.json index 8b1d47694..6dde2cf29 100644 --- a/packages/login-with-qq/package.json +++ b/packages/login-with-qq/package.json @@ -7,7 +7,7 @@ "license": "AGPL-3.0-or-later", "preferUnplugged": true, "dependencies": { - "ws": "^7.5.3" + "ws": "^8.0.0" }, "devDependencies": { "@types/ws": "^7.4.7" diff --git a/packages/login-with-qq/service.ts b/packages/login-with-qq/service.ts index 65341f83f..92ee8ac65 100644 --- a/packages/login-with-qq/service.ts +++ b/packages/login-with-qq/service.ts @@ -18,8 +18,8 @@ export async function postInit() { if (accessToken) headers.Authorization = `Bearer ${accessToken}`; const socket = new WebSocket(url, { headers }); socket.on('error', console.error); - socket.on('message', async (message) => { - const payload = JSON.parse(message.toString()); + socket.on('message', async (message, isBinary) => { + const payload = JSON.parse(isBinary ? message : message.toString()); if (payload.post_type !== 'message') return; if (payload.message.startsWith('login ')) { const secret = payload.message.split(' ')[1]; diff --git a/packages/migrate-vijos/package.json b/packages/migrate-vijos/package.json index 14fa8fe90..519b506d5 100644 --- a/packages/migrate-vijos/package.json +++ b/packages/migrate-vijos/package.json @@ -10,6 +10,6 @@ "@types/mongodb": "^3.6.20" }, "dependencies": { - "mongodb": "^3.6.10" + "mongodb": "^3.6.11" } } diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index 46d54ea4c..f4380a126 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -8,8 +8,8 @@ "preferUnplugged": true, "devDependencies": { "@babel/cli": "^7.14.8", - "@babel/core": "^7.14.8", - "@babel/eslint-parser": "7.14.9", + "@babel/core": "^7.15.0", + "@babel/eslint-parser": "7.15.0", "@babel/plugin-proposal-class-properties": "^7.14.5", "@babel/plugin-proposal-export-namespace-from": "^7.14.5", "@babel/plugin-proposal-function-sent": "^7.14.5", @@ -18,8 +18,8 @@ "@babel/plugin-proposal-throw-expressions": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-transform-runtime": "^7.14.5", - "@babel/preset-env": "^7.14.9", + "@babel/plugin-transform-runtime": "^7.15.0", + "@babel/preset-env": "^7.15.0", "@babel/preset-react": "^7.14.5", "@babel/register": "^7.14.5", "@babel/runtime-corejs3": "^7.14.9", @@ -28,7 +28,7 @@ "@blueprintjs/icons": "^3.27.0", "@blueprintjs/select": "^3.16.6", "@hydrooj/utils": "workspace:*", - "@types/json-schema": "^7.0.8", + "@types/json-schema": "^7.0.9", "@types/katex": "^0.11.1", "@undefined-moe/monaco-yaml": "^2.5.0", "ansi_up": "^5.0.1", @@ -86,7 +86,7 @@ "react-dom": "^17.0.2", "react-redux": "^7.2.4", "react-split-pane": "^0.1.92", - "redux": "^4.1.0", + "redux": "^4.1.1", "redux-logger": "^3.0.6", "redux-promise-middleware": "^6.1.2", "redux-thunk": "^2.3.0", @@ -113,20 +113,20 @@ "webpackbar": "^5.0.0-3" }, "dependencies": { - "esbuild": "^0.12.17", - "esbuild-loader": "^2.13.1", + "esbuild": "^0.12.18", + "esbuild-loader": "^2.14.0", "js-yaml": "^4.1.0", "jsesc": "^3.0.2", "katex": "^0.13.13", "lodash": "^4.17.21", "markdown-it": "^12.2.0", - "markdown-it-anchor": "^7.1.0", + "markdown-it-anchor": "^8.1.2", "markdown-it-footnote": "^3.0.3", "markdown-it-imsize": "^2.0.1", "markdown-it-mark": "^3.0.1", "markdown-it-merge-cells": "^1.0.1", "markdown-it-table-of-contents": "^0.5.2", - "mongodb": "^3.6.10", + "mongodb": "^3.6.11", "nunjucks": "^3.2.3", "streamsaver": "^2.0.5", "xss": "^1.0.9" diff --git a/packages/utils/package.json b/packages/utils/package.json index c3a864adc..06e4526d5 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -11,12 +11,11 @@ "fs-extra": "^10.0.0", "js-yaml": "^4.1.0", "moment": "^2.29.1", - "mongodb": "^3.6.10", + "mongodb": "^3.6.11", "systeminformation": "^5.7.9" }, "devDependencies": { "@types/fs-extra": "^9.0.12", - "@types/node": "^15.14.5", "moment-timezone": "^0.5.33" } }