actualbudget/actual · error · Error
Remote font URL "${path}" is not allowed. Only relative path
Error message
Remote font URL "${path}" is not allowed. Only relative paths to fonts in the same GitHub repo are supported. What it means
Error "Remote font URL "${path}" is not allowed. Only relative paths to fonts in the same GitHub repo are supported." thrown in actualbudget/actual.
Source
Thrown at packages/desktop-client/src/style/customThemes.ts:566
const closeBrace = searchCss.indexOf('}', openBrace + 1);
if (closeBrace === -1) break;
const blockContent = searchCss.substring(openBrace + 1, closeBrace);
// Find url() references within this block
let urlMatch;
urlRegex.lastIndex = 0;
while ((urlMatch = urlRegex.exec(blockContent)) !== null) {
const fullMatch = urlMatch[0];
const quote = urlMatch[1] || '';
const path = urlMatch[2] ?? urlMatch[3];
// Skip data: URIs — already embedded
if (path.startsWith('data:')) continue;
if (/^https?:\/\//i.test(path)) {
throw new Error(
`Remote font URL "${path}" is not allowed. Only relative paths to fonts in the same GitHub repo are supported.`,
);
}
const cleanPath = path.replace(/^\.\//, '');
if (cleanPath.startsWith('/') || cleanPath.includes('..')) {
throw new Error(
`Font path "${path}" is not allowed. Only relative paths within the repo are supported (no "/" prefix or ".." segments).`,
);
}
const ext = cleanPath.substring(cleanPath.lastIndexOf('.')).toLowerCase();
const mime = FONT_EXTENSION_MIME[ext];
if (!mime) {
throw new Error(
`Unsupported font file extension "${ext}". Supported: ${Object.keys(FONT_EXTENSION_MIME).join(', ')}.`,
);View on GitHub (pinned to d4334cb6e6)
When it happens
Trigger: Thrown at packages/desktop-client/src/style/customThemes.ts:566 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/505baf190df62c62.
Report an issue: GitHub.