From 5e35892e4756188dd842747b0e35bada004d1c83 Mon Sep 17 00:00:00 2001 From: Miodec Date: Wed, 16 Oct 2024 14:31:06 +0200 Subject: [PATCH] fix: unable to enable some layouts due to an incorrect schema closes #5948 --- frontend/__tests__/root/config.spec.ts | 6 +++--- frontend/static/layouts/_list.json | 2 +- packages/contracts/src/schemas/configs.ts | 7 +++++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/frontend/__tests__/root/config.spec.ts b/frontend/__tests__/root/config.spec.ts index 9d9704907..251009468 100644 --- a/frontend/__tests__/root/config.spec.ts +++ b/frontend/__tests__/root/config.spec.ts @@ -439,8 +439,8 @@ describe("Config", () => { it("setKeymapLayout", () => { expect(Config.setKeymapLayout("overrideSync")).toBe(true); expect(Config.setKeymapLayout("override_sync")).toBe(true); - expect(Config.setKeymapLayout("override sync")).toBe(true); - expect(Config.setKeymapLayout("override-sync!")).toBe(true); + expect(Config.setKeymapLayout("override sync")).toBe(false); + expect(Config.setKeymapLayout("override-sync!")).toBe(false); expect(Config.setKeymapLayout(stringOfLength(50))).toBe(true); expect(Config.setKeymapLayout(stringOfLength(51))).toBe(false); @@ -451,7 +451,7 @@ describe("Config", () => { expect(Config.setLayout(stringOfLength(50))).toBe(true); expect(Config.setLayout("semi mak")).toBe(false); - expect(Config.setLayout("semi-mak")).toBe(false); + expect(Config.setLayout("semi-mak")).toBe(true); expect(Config.setLayout(stringOfLength(51))).toBe(false); }); it("setFontSize", () => { diff --git a/frontend/static/layouts/_list.json b/frontend/static/layouts/_list.json index a75f81a16..9092d2dd4 100644 --- a/frontend/static/layouts/_list.json +++ b/frontend/static/layouts/_list.json @@ -1419,7 +1419,7 @@ "row5": [" "] } }, - "3l ": { + "3l": { "keymapShowTopRow": false, "type": "ansi", "keys": { diff --git a/packages/contracts/src/schemas/configs.ts b/packages/contracts/src/schemas/configs.ts index 0465b57f3..b562994a1 100644 --- a/packages/contracts/src/schemas/configs.ts +++ b/packages/contracts/src/schemas/configs.ts @@ -265,10 +265,13 @@ export type ThemeName = z.infer; export const KeymapLayoutSchema = z .string() .max(50) - .regex(/[\w\-_]+/); + .regex(/^[a-zA-Z0-9\-_]+$/gi); export type KeymapLayout = z.infer; -export const LayoutSchema = token().max(50); +export const LayoutSchema = z + .string() + .max(50) + .regex(/^[a-zA-Z0-9\-_]+$/gi); export type Layout = z.infer; export const FontSizeSchema = z.number().positive();