skillhub/web/index.html
D41910 db6308adde fix(web): align namespace slug validation with SlugValidator
The create-namespace dialog validates slugs client-side before sending
the request, and its pattern was still ASCII-only. SlugValidator has
accepted Unicode letters, numbers and symbols since #196, so the form
rejected slugs the server accepts.

Signed-off-by: D41910 <158550716+D41910@users.noreply.github.com>
2026-10-15 01:22:38 +08:00

25 lines
1.3 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN" translate="no" class="notranslate">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="google" content="notranslate" />
<meta
http-equiv="Content-Security-Policy"
content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https:; font-src 'self' data:; connect-src 'self' ws: wss: http://localhost:* https://localhost:*; object-src 'none'; base-uri 'self'; frame-ancestors 'none'; form-action 'self'"
/>
<title>SkillHub</title>
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<!-- Self-hosted fonts (see /fonts/fonts.css); no external CDN so first paint
isn't blocked on fonts.googleapis.com, which is slow/unreachable on some
networks (#716). -->
<link rel="stylesheet" href="/fonts/fonts.css" />
</head>
<body>
<!-- translate=no: Chrome auto-translate mutates #root and races React 19 insertBefore. -->
<div id="root" translate="no" class="notranslate"></div>
<!-- Isolated host for Dialog/Sonner portals (avoids body sibling races with #root). -->
<div id="skillhub-portals" translate="no" class="notranslate"></div>
<script type="module" src="/src/bootstrap.ts"></script>
</body>
</html>