From 59090b82c32f369acf99add8ecb17f2884b8ee6f Mon Sep 17 00:00:00 2001 From: luke2x <97411838+luke2x@users.noreply.github.com> Date: Sun, 18 Oct 2026 20:53:23 +0100 Subject: [PATCH] perf(mobile): walk HTML code ranges once when converting markdown --- apps/mobile/src/lib/markdownDocument.ts | 7 ++++++- apps/mobile/src/lib/markdownHtml.test.ts | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/apps/mobile/src/lib/markdownDocument.ts b/apps/mobile/src/lib/markdownDocument.ts index 640a512dd4e51..db3b43a5726ca 100644 --- a/apps/mobile/src/lib/markdownDocument.ts +++ b/apps/mobile/src/lib/markdownDocument.ts @@ -101,8 +101,13 @@ export function markdownHtmlContent(content: string): string { codeRanges.push({ start: opening.index, end: closing.index + closing[0].length }); index = closingIndex; } + let codeRangeIndex = 0; return content.replace(HTML_TAG, (tag, offset: number) => { - if (codeRanges.some((range) => offset >= range.start && offset < range.end)) return tag; + while (codeRanges[codeRangeIndex] && offset >= codeRanges[codeRangeIndex]!.end) { + codeRangeIndex += 1; + } + const range = codeRanges[codeRangeIndex]; + if (range && offset >= range.start) return tag; if (tag.startsWith("