From 33754190234ae28a1194e48b7018b8d68e8ff390 Mon Sep 17 00:00:00 2001 From: Miodec Date: Wed, 26 Nov 2025 10:08:57 +0100 Subject: [PATCH 1/4] fix: unable to enter fullscreen on result page --- frontend/src/ts/event-handlers/global.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/ts/event-handlers/global.ts b/frontend/src/ts/event-handlers/global.ts index b8096e137cf2..9bf0658af3ca 100644 --- a/frontend/src/ts/event-handlers/global.ts +++ b/frontend/src/ts/event-handlers/global.ts @@ -11,14 +11,14 @@ import * as TestLogic from "../test/test-logic"; import { navigate } from "../controllers/route-controller"; import { isInputElementFocused } from "../input/input-element"; import * as ManualRestart from "../test/manual-restart-tracker"; +import * as TestState from "../test/test-state"; document.addEventListener("keydown", (e) => { if (PageTransition.get()) return; if (e.key === undefined) return; const pageTestActive: boolean = ActivePage.get() === "test"; - - if (pageTestActive && !isInputElementFocused()) { + if (pageTestActive && !TestState.resultVisible && !isInputElementFocused()) { const popupVisible: boolean = Misc.isAnyPopupVisible(); // this is nested because isAnyPopupVisible is a bit expensive // and we don't want to call it during the test From a552272cd4ca52f858e0cfd0600ef1854491dc1a Mon Sep 17 00:00:00 2001 From: Miodec Date: Wed, 26 Nov 2025 10:45:24 +0100 Subject: [PATCH 2/4] fix: skill issue fix not fitting on mobile screens --- frontend/src/ts/commandline/lists.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/ts/commandline/lists.ts b/frontend/src/ts/commandline/lists.ts index 5cc8b61749ba..565123e0373a 100644 --- a/frontend/src/ts/commandline/lists.ts +++ b/frontend/src/ts/commandline/lists.ts @@ -342,9 +342,9 @@ export const commands: CommandsSubgroup = { exec: async (): Promise => { // window.open("https://www.youtube.com/watch?v=dQw4w9WgXcQ"); (document.querySelector("body") as HTMLElement).innerHTML = ` -
+

Fixing skill issue...

- +
`; setTimeout(() => { From 0faccf7cb1da6785dacd44f731a87e55e4a8fbf8 Mon Sep 17 00:00:00 2001 From: Miodec Date: Wed, 26 Nov 2025 13:17:33 +0100 Subject: [PATCH 3/4] chore: release v25.48.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 78773f0cb2be..a9924f5dcc1c 100644 --- a/package.json +++ b/package.json @@ -89,6 +89,6 @@ "eslint" ] }, - "version": "25.46.0", + "version": "25.48.0", "packageManager": "pnpm@9.6.0" } From f63972a63c2bb1ab0cd9efb21280f01d2536f295 Mon Sep 17 00:00:00 2001 From: Miodec Date: Wed, 26 Nov 2025 17:42:59 +0100 Subject: [PATCH 4/4] fix: ellipsis not working correctly closes #7156 closes #7149 --- frontend/src/ts/input/handlers/insert-text.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/src/ts/input/handlers/insert-text.ts b/frontend/src/ts/input/handlers/insert-text.ts index 953d0938ae46..a3e09211b483 100644 --- a/frontend/src/ts/input/handlers/insert-text.ts +++ b/frontend/src/ts/input/handlers/insert-text.ts @@ -62,12 +62,12 @@ type OnInsertTextParams = { export async function onInsertText(options: OnInsertTextParams): Promise { const { now, lastInMultiIndex, isCompositionEnding } = options; + const { inputValue } = getInputElementValue(); if (options.data.length > 1) { // remove the entire data from the input value // make sure to not call TestInput.input.syncWithInputElement in here // it will be updated later in the body of onInsertText - const { inputValue } = getInputElementValue(); setInputElementValue(inputValue.slice(0, -options.data.length)); for (let i = 0; i < options.data.length; i++) { const char = options.data[i] as string; @@ -88,6 +88,10 @@ export async function onInsertText(options: OnInsertTextParams): Promise { TestWords.words.getCurrent()[TestInput.input.current.length] !== options.data ) { + // replace the data with the override + setInputElementValue( + inputValue.slice(0, -options.data.length) + charOverride + ); await onInsertText({ ...options, data: charOverride,