diff --git a/.github/labeler.yml b/.github/labeler.yml index 905ecca6f768..276210e62ce1 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,29 +1,36 @@ api: - - any: ["frontend/src/ts/ape/**/*", "backend/src/api/**/*"] + - changed-files: + - any-glob-to-any-file: + - "frontend/src/ts/ape/**/*" + - "backend/src/api/**/*" assets: - - any: ["frontend/static/**/*"] - all: ["!frontend/static/**/*.html"] + - all: + - changed-files: + - any-glob-to-any-file: "frontend/static/**/*" + - all-globs-to-all-files: "!frontend/static/**/*.html" backend: - - any: ["backend/**/*"] + - changed-files: + - any-glob-to-any-file: "backend/**/*" docs: - - any: ["**/*.md"] + - changed-files: + - any-glob-to-any-file: "**/*.md" frontend: - - any: ["frontend/**/*"] + - changed-files: + - any-glob-to-any-file: "frontend/**/*" packages: - - any: ["packages/**/*"] + - changed-files: + - any-glob-to-any-file: "packages/**/*" -local dev: - - any: - [ - "**/turbo.json", - "**/tsconfig.json", - "**/knip.json", - "**/.prettierrc", - "**/.oxlintrc.json", - "**/.eslintrc.cjs", - ] +"local dev": + - changed-files: + - any-glob-to-any-file: + - "**/turbo.json" + - "**/tsconfig.json" + - "**/knip.json" + - "**/.prettierrc.json" + - "**/.oxlintrc.json" diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 9fd7a06cda13..ca909275fe53 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -9,6 +9,7 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@v4 + - uses: actions/labeler@v6 with: repo-token: "${{ secrets.API_TOKEN }}" + sync-labels: true diff --git a/frontend/src/ts/constants/fonts.ts b/frontend/src/ts/constants/fonts.ts index fe13c891857e..ce7afcb29f17 100644 --- a/frontend/src/ts/constants/fonts.ts +++ b/frontend/src/ts/constants/fonts.ts @@ -146,4 +146,8 @@ export const Fonts: Record = { Space_Grotesk: { fileName: "SpaceGrotesk-Regular.woff2", }, + Noto_Sans_Lao: { + display: "Noto Sans Lao (ລາວ)", + fileName: "NotoSansLao-Regular.woff2", + }, }; diff --git a/frontend/src/ts/controllers/challenge-controller.ts b/frontend/src/ts/controllers/challenge-controller.ts index a53b0d9310d5..0252e8d5e7b2 100644 --- a/frontend/src/ts/controllers/challenge-controller.ts +++ b/frontend/src/ts/controllers/challenge-controller.ts @@ -318,9 +318,6 @@ export async function setup(challengeName: string): Promise { nosave: true, }); } else if (challenge.type === "funbox") { - setConfig("funbox", challenge.parameters[0] as FunboxName[], { - nosave: true, - }); setConfig("difficulty", "normal", { nosave: true, }); @@ -341,6 +338,14 @@ export async function setup(challengeName: string): Promise { nosave: true, }); } + + if ( + !setConfig("funbox", challenge.parameters[0] as FunboxName[], { + nosave: true, + }) + ) { + throw new Error("Can't load challenge with current config"); + } } else if (challenge.type === "other") { if (challenge.name === "semimak") { // so can you make a link that sets up 120s, 10k, punct, stop on word, and semimak as the layout? diff --git a/frontend/src/ts/test/test-logic.ts b/frontend/src/ts/test/test-logic.ts index 05f267804092..c3685172aa69 100644 --- a/frontend/src/ts/test/test-logic.ts +++ b/frontend/src/ts/test/test-logic.ts @@ -1199,27 +1199,29 @@ function compareCompletedEvents( ); } } - mismatchedKeys.sort(); - const groupKey = mismatchedKeys.join(","); - Ape.results - .reportCompletedEventMismatch({ - body: { - notMatching, - mismatchedKeys, - groupKey, - language: ce.language, - mode: ce.mode, - mode2: ce.mode2, - difficulty: ce.difficulty, - duration: ce.testDuration, - funboxes: getActiveFunboxNames().join(","), - // ce: ce as Record, - // ce2: ce2 as Record, - }, - }) - .catch(() => { - // - }); + if (!ignoreMismatch) { + mismatchedKeys.sort(); + const groupKey = mismatchedKeys.join(","); + Ape.results + .reportCompletedEventMismatch({ + body: { + notMatching, + mismatchedKeys, + groupKey, + language: ce.language, + mode: ce.mode, + mode2: ce.mode2, + difficulty: ce.difficulty, + duration: ce.testDuration, + funboxes: getActiveFunboxNames().join(","), + // ce: ce as Record, + // ce2: ce2 as Record, + }, + }) + .catch(() => { + // + }); + } } console.debug("Completed event object2", ce2); diff --git a/frontend/static/webfonts/NotoSansLao-Regular.woff2 b/frontend/static/webfonts/NotoSansLao-Regular.woff2 new file mode 100644 index 000000000000..ab170d0b283f Binary files /dev/null and b/frontend/static/webfonts/NotoSansLao-Regular.woff2 differ diff --git a/packages/schemas/src/fonts.ts b/packages/schemas/src/fonts.ts index 3ee826d2209e..ed7f13276c44 100644 --- a/packages/schemas/src/fonts.ts +++ b/packages/schemas/src/fonts.ts @@ -45,6 +45,7 @@ const KnownFontNameSchema = z.enum( "Adwaita_Mono", "Inter_Tight", "Space_Grotesk", + "Noto_Sans_Lao", ], { errorMap: customEnumErrorHandler("Must be a known font family"),