diff --git a/frontend/src/ts/elements/result-word-highlight.ts b/frontend/src/ts/elements/result-word-highlight.ts index cfb997b5bb89..354a47a1e42b 100644 --- a/frontend/src/ts/elements/result-word-highlight.ts +++ b/frontend/src/ts/elements/result-word-highlight.ts @@ -311,12 +311,12 @@ async function init(): Promise { // Calculate inputWordEl properties relative to inputWordsContainerEl inputWordEl.style.left = `${wordEl.offsetLeft + PADDING_OFFSET_X - RTL_offset}px`; - inputWordEl.innerHTML = userInputString - .replace(/\t/g, "_") - .replace(/\n/g, "_") - .replace(//g, ">") - .slice(0, wordEl.childElementCount); + inputWordEl.innerHTML = Misc.escapeHTML( + userInputString + .replace(/\t/g, "_") + .replace(/\n/g, "_") + .slice(0, wordEl.childElementCount), + ); inputWordEl.className = "inputWord"; inputWordsContainerEl.append(inputWordEl); diff --git a/frontend/src/ts/test/test-ui.ts b/frontend/src/ts/test/test-ui.ts index d55ceba54553..be9a6f1e694c 100644 --- a/frontend/src/ts/test/test-ui.ts +++ b/frontend/src/ts/test/test-ui.ts @@ -1402,11 +1402,7 @@ async function loadWordsHistory(): Promise { "beforeend", `
- ${input - .replace(/\t/g, "_") - .replace(/\n/g, "_") - .replace(//g, ">")} + ${Misc.escapeHTML(input.replace(/\t/g, "_").replace(/\n/g, "_"))}
${isNaN(burst) || burst >= 1000 ? "Infinite" : Format.typingSpeed(burst, { showDecimalPlaces: false })}