From 3bde0fcd2a68d2c0b7b12ce0e947976d985372a5 Mon Sep 17 00:00:00 2001 From: Patrik Braun Date: Wed, 19 Jul 2017 10:21:52 +0200 Subject: [PATCH] minor bugfixes --- .angular-cli.json | 1 + backend/ProjectPath.ts | 4 ++++ backend/middlewares/AdminMWs.ts | 4 +++- backend/model/PasswordHelper.ts | 13 +++++++++---- backend/server.ts | 2 ++ common/config/private/PrivateConfigClass.ts | 2 +- common/config/public/ConfigClass.ts | 2 +- frontend/app/login/login.component.html | 2 +- frontend/app/login/login.component.ts | 5 ++++- frontend/index.html | 1 - package.json | 3 ++- 11 files changed, 28 insertions(+), 11 deletions(-) diff --git a/.angular-cli.json b/.angular-cli.json index d1c232ba..20cc9b55 100644 --- a/.angular-cli.json +++ b/.angular-cli.json @@ -20,6 +20,7 @@ "testTsconfig": "tsconfig.spec.json", "prefix": "app", "styles": [ + "../node_modules/ng2-toastr/bundles/ng2-toastr.min.css", "../node_modules/bootstrap/dist/css/bootstrap.css", "styles.css" ], diff --git a/backend/ProjectPath.ts b/backend/ProjectPath.ts index 61611a19..d211e656 100644 --- a/backend/ProjectPath.ts +++ b/backend/ProjectPath.ts @@ -20,6 +20,10 @@ class ProjectPathClass { } constructor() { + this.reset(); + } + + reset() { this.Root = path.join(__dirname, "/../"); this.ImageFolder = this.getAbsolutePath(Config.Server.imagesFolder); this.ThumbnailFolder = this.getAbsolutePath(Config.Server.thumbnail.folder); diff --git a/backend/middlewares/AdminMWs.ts b/backend/middlewares/AdminMWs.ts index 01dcd92e..d17a491a 100644 --- a/backend/middlewares/AdminMWs.ts +++ b/backend/middlewares/AdminMWs.ts @@ -9,7 +9,7 @@ import {ConfigDiagnostics} from "../model/ConfigDiagnostics"; import {ClientConfig} from "../../common/config/public/ConfigClass"; import {BasicConfigDTO} from "../../common/entities/settings/BasicConfigDTO"; import {OtherConfigDTO} from "../../common/entities/settings/OtherConfigDTO"; -import set = Reflect.set; +import {ProjectPath} from "../ProjectPath"; const LOG_TAG = "[AdminMWs]"; @@ -165,6 +165,7 @@ export class AdminMWs { original.Server.thumbnail = settings.server; original.Client.Thumbnail = settings.client; original.save(); + ProjectPath.reset(); await ConfigDiagnostics.runDiagnostics(); Logger.info(LOG_TAG, "new config:"); Logger.info(LOG_TAG, JSON.stringify(Config, null, '\t')); @@ -197,6 +198,7 @@ export class AdminMWs { original.Client.publicUrl = settings.publicUrl; original.Client.applicationTitle = settings.applicationTitle; original.save(); + ProjectPath.reset(); await ConfigDiagnostics.runDiagnostics(); Logger.info(LOG_TAG, "new config:"); Logger.info(LOG_TAG, JSON.stringify(Config, null, '\t')); diff --git a/backend/model/PasswordHelper.ts b/backend/model/PasswordHelper.ts index 45baed31..475fe29b 100644 --- a/backend/model/PasswordHelper.ts +++ b/backend/model/PasswordHelper.ts @@ -1,12 +1,17 @@ -import * as bcryptjs from "bcryptjs"; +let bcrypt; +try { + bcrypt = require("bcrypt"); +} catch (err) { + bcrypt = require("bcryptjs"); +} export class PasswordHelper { public static cryptPassword(password) { - const salt = bcryptjs.genSaltSync(10); - return bcryptjs.hashSync(password, salt); + const salt = bcrypt.genSaltSync(9); + return bcrypt.hashSync(password, salt); } public static comparePassword(password, encryptedPassword) { - return bcryptjs.compareSync(password, encryptedPassword); + return bcrypt.compareSync(password, encryptedPassword); } } diff --git a/backend/server.ts b/backend/server.ts index 771ae1ac..322923fc 100644 --- a/backend/server.ts +++ b/backend/server.ts @@ -19,6 +19,7 @@ import {ConfigDiagnostics} from "./model/ConfigDiagnostics"; import _session = require('cookie-session'); const LOG_TAG = "[server]"; + export class Server { private app: any; @@ -103,6 +104,7 @@ export class Server { */ private onError = (error: any) => { if (error.syscall !== 'listen') { + Logger.error(LOG_TAG, 'Server error', error); throw error; } diff --git a/common/config/private/PrivateConfigClass.ts b/common/config/private/PrivateConfigClass.ts index f1db580b..c44df739 100644 --- a/common/config/private/PrivateConfigClass.ts +++ b/common/config/private/PrivateConfigClass.ts @@ -31,7 +31,7 @@ export class PrivateConfigClass extends PublicConfigClass implements IPrivateCon updateTimeout: 1000 * 60 * 5 }, enableThreading: true, - folderPreviewSize: 5 + folderPreviewSize: 2 }; private ConfigLoader: any; diff --git a/common/config/public/ConfigClass.ts b/common/config/public/ConfigClass.ts index 6cdf0605..f1d6ff11 100644 --- a/common/config/public/ConfigClass.ts +++ b/common/config/public/ConfigClass.ts @@ -59,7 +59,7 @@ export class PublicConfigClass { googleApiKey: "" }, concurrentThumbnailGenerations: 1, - enableCache: false, + enableCache: true, enableOnScrollRendering: true, enableOnScrollThumbnailPrioritising: true, authenticationRequired: true, diff --git a/frontend/app/login/login.component.html b/frontend/app/login/login.component.html index e89bb3b2..cd09510a 100644 --- a/frontend/app/login/login.component.html +++ b/frontend/app/login/login.component.html @@ -41,7 +41,7 @@
diff --git a/frontend/app/login/login.component.ts b/frontend/app/login/login.component.ts index d30698ab..606dc6d4 100644 --- a/frontend/app/login/login.component.ts +++ b/frontend/app/login/login.component.ts @@ -14,6 +14,7 @@ export class LoginComponent implements OnInit { loginCredential: LoginCredential; loginError: any = null; title: string; + inProgress = false; constructor(private _authService: AuthenticationService, private _navigation: NavigationService) { this.loginCredential = new LoginCredential(); @@ -29,14 +30,16 @@ export class LoginComponent implements OnInit { async onLogin() { this.loginError = null; + this.inProgress = true; try { await this._authService.login(this.loginCredential); } catch (error) { if (error && error.code === ErrorCodes.CREDENTIAL_NOT_FOUND) { this.loginError = "Wrong username or password"; - return; } } + + this.inProgress = false; } } diff --git a/frontend/index.html b/frontend/index.html index f9024491..34dc3e05 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -6,7 +6,6 @@ Loading.. -