From 2b0bd3df0457cf856a7fc13afd15e6d6b0840281 Mon Sep 17 00:00:00 2001 From: undefined Date: Wed, 29 Jun 2022 00:04:00 +0800 Subject: [PATCH] core: fix redirect path generation --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/service/server.ts | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index cc6e93ec5..aebca8f8f 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "3.14.0", + "version": "3.14.1", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/service/server.ts b/packages/hydrooj/src/service/server.ts index 93bc2d6ca..fa47de495 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -236,7 +236,11 @@ export class Handler extends HandlerCommon { if (error.stack) logger.error(error.stack); } if (this.user?._id === 0 && (error instanceof PermissionError || error instanceof PrivilegeError)) { - this.response.redirect = this.ctx.getUrl('user_login', { query: { redirect: this.request.path + this.ctx.search } }); + this.response.redirect = this.ctx.getUrl('user_login', { + query: { + redirect: (this.ctx.originalPath || this.request.path) + this.ctx.search, + }, + }); } else { this.response.status = error instanceof UserFacingError ? error.code : 500; this.response.template = error instanceof UserFacingError ? 'error.html' : 'bsod.html';