From e8a5c5b337da1e70cc094011a651d88552182276 Mon Sep 17 00:00:00 2001 From: Daniel James Smith Date: Wed, 6 Sep 2023 16:12:14 +0200 Subject: [PATCH] [PM-3586] Fix short MP not showing minLength (#6086) * Fix short MP not showing minLength Added path to include the mininum password length defined as const in our Utils * Introduce previousMinimumPasswordLength and use a minLength for MP * Rename previousMinimumPasswordLength to originalMinimumPasswordLength --- libs/angular/src/auth/components/login.component.ts | 7 ++++++- libs/common/src/platform/misc/utils.ts | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/angular/src/auth/components/login.component.ts b/libs/angular/src/auth/components/login.component.ts index 33b3dc2364e..63e8dcc3721 100644 --- a/libs/angular/src/auth/components/login.component.ts +++ b/libs/angular/src/auth/components/login.component.ts @@ -42,7 +42,10 @@ export class LoginComponent extends CaptchaProtectedComponent implements OnInit formGroup = this.formBuilder.group({ email: ["", [Validators.required, Validators.email]], - masterPassword: ["", [Validators.required, Validators.minLength(8)]], + masterPassword: [ + "", + [Validators.required, Validators.minLength(Utils.originalMinimumPasswordLength)], + ], rememberEmail: [false], }); @@ -278,6 +281,8 @@ export class LoginComponent extends CaptchaProtectedComponent implements OnInit switch (error.errorName) { case "email": return this.i18nService.t("invalidEmail"); + case "minlength": + return this.i18nService.t("masterPasswordMinlength", Utils.originalMinimumPasswordLength); default: return this.i18nService.t(this.errorTag(error)); } diff --git a/libs/common/src/platform/misc/utils.ts b/libs/common/src/platform/misc/utils.ts index cd1b5fe33aa..6711e78c3b7 100644 --- a/libs/common/src/platform/misc/utils.ts +++ b/libs/common/src/platform/misc/utils.ts @@ -32,6 +32,7 @@ export class Utils { static regexpEmojiPresentation = /(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])/g; static readonly validHosts: string[] = ["localhost"]; + static readonly originalMinimumPasswordLength = 8; static readonly minimumPasswordLength = 12; static readonly DomainMatchBlacklist = new Map>([ ["google.com", new Set(["script.google.com"])],