diff --git a/app/utils/zod.test.ts b/app/utils/zod.test.ts index c24b2e55a..656863be7 100644 --- a/app/utils/zod.test.ts +++ b/app/utils/zod.test.ts @@ -97,6 +97,16 @@ describe("actuallyNonEmptyStringOrNull", () => { expect(actuallyNonEmptyStringOrNull("\uFEFF")).toBeNull(); expect(actuallyNonEmptyStringOrNull("\u2060")).toBeNull(); }); + + it("returns null for a string with only soft hyphens", () => { + expect(actuallyNonEmptyStringOrNull("\u00AD")).toBeNull(); + expect(actuallyNonEmptyStringOrNull("\u00AD\u00AD\u00AD")).toBeNull(); + }); + + it("returns null for a string with only braille blanks", () => { + expect(actuallyNonEmptyStringOrNull("\u2800")).toBeNull(); + expect(actuallyNonEmptyStringOrNull("\u2800\u2800\u2800\u2800")).toBeNull(); + }); }); describe("hexCodeWithoutAlpha", () => { diff --git a/app/utils/zod.ts b/app/utils/zod.ts index 4a255835e..bfdb72849 100644 --- a/app/utils/zod.ts +++ b/app/utils/zod.ts @@ -282,12 +282,14 @@ export function safeJSONParse(value: unknown): unknown { } const EMPTY_CHARACTERS = [ + "\u00AD", "\u200B", "\u200C", "\u200D", "\u200E", "\u200F", "󠀠", + "\u2800", "\u3164", "\u115F", "\u1160",