actualbudget/actual · error · Error
Font file "${ref.cleanPath}" exceeds maximum size of ${MAX_F
Error message
Font file "${ref.cleanPath}" exceeds maximum size of ${MAX_FONT_FILE_SIZE / 1024 / 1024}MB. What it means
Error "Font file "${ref.cleanPath}" exceeds maximum size of ${MAX_FONT_FILE_SIZE / 1024 / 1024}MB." thrown in actualbudget/actual.
Source
Thrown at packages/desktop-client/src/style/customThemes.ts:613
// Fetch fonts sequentially to enforce a running total size budget
const fetched: { ref: FontRef; dataUri: string }[] = [];
let totalBytes = 0;
for (const ref of fontRefs) {
const fontUrl = baseUrl + ref.cleanPath;
const perFontTimeout = AbortSignal.timeout(FONT_FETCH_TIMEOUT_MS);
const fetchSignal = signal
? AbortSignal.any([signal, perFontTimeout])
: perFontTimeout;
const response = await fetch(fontUrl, { signal: fetchSignal });
if (!response.ok) {
throw new Error(
`Failed to fetch font file "${ref.cleanPath}" from ${fontUrl}: ${response.status} ${response.statusText}`,
);
}
const buffer = await response.arrayBuffer();
if (buffer.byteLength > MAX_FONT_FILE_SIZE) {
throw new Error(
`Font file "${ref.cleanPath}" exceeds maximum size of ${MAX_FONT_FILE_SIZE / 1024 / 1024}MB.`,
);
}
totalBytes += buffer.byteLength;
if (totalBytes > MAX_TOTAL_FONT_SIZE) {
throw new Error(
`Total embedded font data exceeds maximum of ${MAX_TOTAL_FONT_SIZE / 1024 / 1024}MB.`,
);
}
const base64 = arrayBufferToBase64(buffer);
fetched.push({ ref, dataUri: `data:${ref.mime};base64,${base64}` });
}
// Replace each url() reference with its data: URI
let result = css;
for (const { ref, dataUri } of fetched) {
const q = ref.quote || "'";
result = result.replace(ref.fullMatch, `url(${q}${dataUri}${q})`);View on GitHub (pinned to d4334cb6e6)
When it happens
Trigger: Thrown at packages/desktop-client/src/style/customThemes.ts:613 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of actualbudget/actual@d4334cb6e6 (2026-08-29).
Data as JSON: /api/errors/080a8ae2c1060870.
Report an issue: GitHub.