Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,13 @@ Standard commands live in `CONTRIBUTING.md` and `package.json` scripts (`npm run
- `npm run dev` runs the Express API (`:3001`) and Vite UI (`:5173`) together; open the
UI at http://localhost:5173. API liveness: `GET http://localhost:3001/api/health`
→ `{"ok":true}`. Default mode is single-user (no login).
- Vite is configured with `server.host: true` and `server.allowedHosts: true` so
`http://127.0.0.1:5173` works (not only IPv6 localhost) and Cursor/cloud
- Vite is configured with `server.host: true`, `server.strictPort: true`, and
`server.allowedHosts: true` so `http://127.0.0.1:5173` works (not only IPv6
localhost), the port does not silently hop to 5174+, and Cursor/cloud
port-forward Host headers are not rejected with 403 (which looks like a blank page).
- `apps/web/index.html` paints a dark `#020617` shell inline before JS/CSS so a
hung module graph never shows a white page. If the embedded preview is still
pure white while Playwright/`curl` see the UI, hard-refresh the preview panel.
- Vite prints a "Failed to run dependency scan … monaco-editor/esm/…" warning on startup.
It is **non-fatal** — Monaco is installed and the SQL editor works; ignore it.

Expand Down
6 changes: 5 additions & 1 deletion apps/web/index.html
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
<!doctype html>
<html lang="en">
<html lang="en" style="background:#020617">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Fox Schema</title>
<!-- Inline so the first paint is never a white flash before CSS/JS load. -->
<style>
html, body { margin: 0; background: #020617; color: #94a3b8; }
</style>
</head>
<body>
<!-- Visible until React mounts. If this stays forever, JS failed to load. -->
Expand Down
2 changes: 2 additions & 0 deletions apps/web/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ export default defineConfig({
// makes http://127.0.0.1:5173 fail with ERR_CONNECTION_REFUSED.
host: true,
port: 5173,
// Don't silently hop to 5174+ — Cursor / agent previews pin :5173.
strictPort: true,
// Cursor / cloud port-forwards send a non-localhost Host header; Vite 8
// rejects those with 403 ("Blocked request…") → blank page in the browser.
allowedHosts: true,
Expand Down
Loading