diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 54a3160de..824c03185 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "3.3.11", + "version": "3.3.12", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/model/problem.ts b/packages/hydrooj/src/model/problem.ts index 463279df6..07ca0dd2d 100644 --- a/packages/hydrooj/src/model/problem.ts +++ b/packages/hydrooj/src/model/problem.ts @@ -366,7 +366,8 @@ export class ProblemModel { static canViewBy(pdoc: ProblemDoc, udoc: User) { if (!udoc.hasPerm(PERM.PERM_VIEW_PROBLEM)) return false; if (udoc.own(pdoc)) return true; - if (pdoc.hidden && !udoc.hasPerm(PERM.PERM_VIEW_PROBLEM_HIDDEN)) return false; + if (udoc.hasPerm(PERM.PERM_VIEW_PROBLEM_HIDDEN)) return true; + if (pdoc.hidden) return false; if (!pdoc.assign.length) return true; return !!Set.intersection(pdoc.assign, udoc.group).size; } diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index 010f6ee72..108459d76 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.29.8", + "version": "4.29.9", "author": "undefined ", "license": "AGPL-3.0", "main": "hydro.js",