From fcc68750cf29bf87b28fe2f08c29fb92ff9941a0 Mon Sep 17 00:00:00 2001 From: abizek <91976421+abizek@users.noreply.github.com> Date: Tue, 2 Apr 2024 12:22:30 +0530 Subject: [PATCH 1/2] fix(tfa): error message for tfa code length --- libs/dto/src/auth/two-factor.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/dto/src/auth/two-factor.ts b/libs/dto/src/auth/two-factor.ts index 756e5b359..dbdb262c3 100644 --- a/libs/dto/src/auth/two-factor.ts +++ b/libs/dto/src/auth/two-factor.ts @@ -4,8 +4,8 @@ import { z } from "nestjs-zod/z"; export const twoFactorSchema = z.object({ code: z .string() - .length(6) - .regex(/^[0-9]+$/, { message: "code must be a 6 digit number" }), + .length(6, { message: "Code must be a 6 digit number" }) + .regex(/^[0-9]+$/, { message: "Code must be a 6 digit number" }), }); export class TwoFactorDto extends createZodDto(twoFactorSchema) {} From 8c879841d708c4d21a67dc142040337d4a8268de Mon Sep 17 00:00:00 2001 From: abizek <91976421+abizek@users.noreply.github.com> Date: Tue, 2 Apr 2024 17:05:29 +0530 Subject: [PATCH 2/2] fix(tfa): lazily translate error message --- .../src/pages/dashboard/settings/_dialogs/two-factor.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/client/src/pages/dashboard/settings/_dialogs/two-factor.tsx b/apps/client/src/pages/dashboard/settings/_dialogs/two-factor.tsx index 1e9fcf29b..c4c2d14b0 100644 --- a/apps/client/src/pages/dashboard/settings/_dialogs/two-factor.tsx +++ b/apps/client/src/pages/dashboard/settings/_dialogs/two-factor.tsx @@ -1,5 +1,6 @@ import { zodResolver } from "@hookform/resolvers/zod"; -import { t } from "@lingui/macro"; +import { i18n } from "@lingui/core"; +import { msg, t } from "@lingui/macro"; import { QrCode } from "@phosphor-icons/react"; import { Alert, @@ -46,8 +47,9 @@ import { useDialog } from "@/client/stores/dialog"; const formSchema = z.object({ uri: z.literal("").or(z.string().optional()), - // eslint-disable-next-line lingui/t-call-in-function - code: z.literal("").or(z.string().regex(/^\d{6}$/, t`Code must be exactly 6 digits long.`)), + code: z + .literal("") + .or(z.string().regex(/^\d{6}$/, i18n._(msg`Code must be exactly 6 digits long.`))), backupCodes: z.array(z.string()), });