Skip to content

feat(web): replace empty dashboard zeros with a first-run screen - #1

Merged
krey-yon merged 2 commits into
mainfrom
feat/dashboard-first-run
Sep 2, 2026
Merged

feat(web): replace empty dashboard zeros with a first-run screen#1
krey-yon merged 2 commits into
mainfrom
feat/dashboard-first-run

Conversation

@krey-yon

@krey-yon krey-yon commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Why

An account with no tunnels rendered three KPI cards at 0 plus empty ops tables. That looked like a broken product. First-run users need CLI setup, not fake monitoring.

Scope

dashboardView in web/lib/dashboard-view.ts turns settled relay fetches into first-run, relay-down, or operating. web/app/dashboard/page.tsx switches on kind. First-run hides KPIs, routes, and logs, and shows a personalized host plus copyable install, login, bitrok myapp 3000, and curl. Operating keeps the existing KPI, route, and log layout. Relay-down keeps the warning and does not claim the account is empty. Dead {!username && ...} banner after redirect is gone. web/lib/dashboard-view.test.ts covers the three kinds.

Tradeoffs

A separate first-run screen means a new user does not see where KPIs will live until they have a tunnel. That is the point. The progressive alternative kept the ops shell with em dashes and still looked empty.

Redis is unused. Traffic still comes from relay SQLite.

Blast Radius

Signed-in /dashboard only. Accounts with tunnels should look the same except logs-unavailable shows instead of 0. Username onboarding still redirects to settings.

Verification

cd web && npm test: 16 passed, including four dashboardView cases. npx eslint on the touched files passed. npx tsc --noEmit passed in the worktree. No browser MCP in this session, so first-run layout was not clicked through in a live session.

Made with Cursor

An account with no tunnels was rendering ops KPIs at 0, which looked like a broken product. Switch on a DashboardView union so first-run, relay-down, and operating cannot share chrome.

Co-authored-by: Cursor <cursoragent@cursor.com>
@vercel

vercel Bot commented Sep 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
bitrok Ready Ready Preview Sep 2, 2026 4:24pm UTC

Co-authored-by: Cursor <cursoragent@cursor.com>
@krey-yon
krey-yon merged commit 2887394 into main Sep 2, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant