From 550d0e9617bd339798678cf3d97aa2e2f459051c Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:28:21 +0200 Subject: [PATCH 1/3] Fix punctuation in custom background error messages --- frontend/src/ts/elements/input-validation.ts | 6 +++--- packages/schemas/src/configs.ts | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/frontend/src/ts/elements/input-validation.ts b/frontend/src/ts/elements/input-validation.ts index 21316ae46025..73bc3e48c9f5 100644 --- a/frontend/src/ts/elements/input-validation.ts +++ b/frontend/src/ts/elements/input-validation.ts @@ -112,9 +112,9 @@ export function createInputEventHandler( if (!schemaResult.success) { callback({ status: "failed", - errorMessage: schemaResult.error.errors - .map((err) => err.message) - .join(", "), + errorMessage: + schemaResult.error.errors.map((err) => err.message).join(", ") + + ".", }); return; } diff --git a/packages/schemas/src/configs.ts b/packages/schemas/src/configs.ts index d6e8e1d510cf..568bfbd77697 100644 --- a/packages/schemas/src/configs.ts +++ b/packages/schemas/src/configs.ts @@ -360,11 +360,11 @@ export type MaxLineWidth = z.infer; export const CustomBackgroundSchema = z .string() - .url("Needs to be an URI.") - .regex(/^(https|http):\/\/.*/, "Unsupported protocol.") - .regex(/^[^`'"]*$/, "May not contain quotes.") - .regex(/.+(\.png|\.gif|\.jpeg|\.jpg|\.webp)/gi, "Unsupported image format.") - .max(2048, "URL is too long.") + .url("Needs to be an URI") + .regex(/^(https|http):\/\/.*/, "Unsupported protocol") + .regex(/^[^`'"]*$/, "May not contain quotes") + .regex(/.+(\.png|\.gif|\.jpeg|\.jpg|\.webp)/gi, "Unsupported image format") + .max(2048, "URL is too long") .or(z.literal("")); export type CustomBackground = z.infer; From 71e6ed07a34732271984e3e9f922f8023b48e004 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:39:10 +0200 Subject: [PATCH 2/3] Fix tests --- packages/schemas/__tests__/config.spec.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/schemas/__tests__/config.spec.ts b/packages/schemas/__tests__/config.spec.ts index 8c2f9288d912..b01e158e411f 100644 --- a/packages/schemas/__tests__/config.spec.ts +++ b/packages/schemas/__tests__/config.spec.ts @@ -36,39 +36,39 @@ describe("config schema", () => { { name: "non-url", input: `test`, - expectedError: "Needs to be an URI.", + expectedError: "Needs to be an URI", }, { name: "single quotes", input: `https://example.com/404.jpg?q=alert('1')`, - expectedError: "May not contain quotes.", + expectedError: "May not contain quotes", }, { name: "double quotes", input: `https://example.com/404.jpg?q=alert("1")`, - expectedError: "May not contain quotes.", + expectedError: "May not contain quotes", }, { name: "back tick", input: `https://example.com/404.jpg?q=alert(\`1\`)`, - expectedError: "May not contain quotes.", + expectedError: "May not contain quotes", }, { name: "javascript url", input: `javascript:alert('asdf');//https://example.com/img.jpg`, - expectedError: "Unsupported protocol.", + expectedError: "Unsupported protocol", }, { name: "data url", input: `data:image/gif;base64,data`, - expectedError: "Unsupported protocol.", + expectedError: "Unsupported protocol", }, { name: "long url", input: `https://example.com/path/image.jpeg?q=${new Array(2048) .fill("x") .join()}`, - expectedError: "URL is too long.", + expectedError: "URL is too long", }, ])(`$name`, ({ input, expectedError }) => { const parsed = CustomBackgroundSchema.safeParse(input); From c8b063eeb5b341666a31609dcc356e6d64b97550 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Thu, 22 Jan 2026 19:40:41 +0200 Subject: [PATCH 3/3] Actually fix tests --- packages/schemas/__tests__/config.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schemas/__tests__/config.spec.ts b/packages/schemas/__tests__/config.spec.ts index b01e158e411f..50db32000f94 100644 --- a/packages/schemas/__tests__/config.spec.ts +++ b/packages/schemas/__tests__/config.spec.ts @@ -31,7 +31,7 @@ describe("config schema", () => { { name: "tiff", input: `https://example.com/path/image.tiff`, - expectedError: "Unsupported image format.", + expectedError: "Unsupported image format", }, { name: "non-url",