Files
Tomas DvorakandDevin 182b0c49c2 fix: vendor dashboard fonts + vault_exec docs cleanup
- Geist/Geist Mono via @fontsource inside the Vite bundle — the
  Google Fonts <link> was blocked by the nginx CSP (style-src 'self'),
  so the dashboard silently fell back and phoned home on self-hosted
  instances. Fonts now serve from /assets under 'self' — CSP-clean,
  airgapped, no console violation.
- mcp README: vault_exec described the old deny-list; rewritten for
  the allow-list contract.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-24 22:01:47 +02:00

31 lines
1.2 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0b0d11" />
<meta name="color-scheme" content="dark" />
<meta name="description" content="Primora — self-hosted backend console: storage, collections, API keys and audit logs." />
<title>Primora</title>
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Primora" />
<style>
html { background: #0a0a0b; color-scheme: dark; }
html.light { background: #fafaf9; color-scheme: light; }
body { opacity: 0; animation: primora-fade 0.2s ease-out forwards; }
@keyframes primora-fade { to { opacity: 1; } }
</style>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>