Skip to content

Commit 3959611

Browse files
GiteaBotKN4CK3R
andauthored
Change katex limits (#27823) (#27868)
Backport #27823 by @KN4CK3R Fixes #27812 Use higher defaults again but limit the input size. ![grafik](https://github.com/go-gitea/gitea/assets/1666336/23cdf572-de30-4799-b9cf-ef386b1623b9) Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
1 parent 352906b commit 3959611

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

web_src/js/markup/math.js

+12-2
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,28 @@ export async function renderMath() {
1515
import(/* webpackChunkName: "katex" */'katex/dist/katex.css'),
1616
]);
1717

18+
const MAX_CHARS = 1000;
19+
const MAX_SIZE = 25;
20+
const MAX_EXPAND = 1000;
21+
1822
for (const el of els) {
1923
const target = targetElement(el);
2024
if (target.hasAttribute('data-render-done')) continue;
2125
const source = el.textContent;
26+
27+
if (source.length > MAX_CHARS) {
28+
displayError(target, new Error(`Math source of ${source.length} characters exceeds the maximum allowed length of ${MAX_CHARS}.`));
29+
continue;
30+
}
31+
2232
const displayMode = el.classList.contains('display');
2333
const nodeName = displayMode ? 'p' : 'span';
2434

2535
try {
2636
const tempEl = document.createElement(nodeName);
2737
katex.render(source, tempEl, {
28-
maxSize: 25,
29-
maxExpand: 50,
38+
maxSize: MAX_SIZE,
39+
maxExpand: MAX_EXPAND,
3040
displayMode,
3141
});
3242
target.replaceWith(tempEl);

0 commit comments

Comments
 (0)