diff --git a/headroom/dashboard/templates/dashboard.html b/headroom/dashboard/templates/dashboard.html index 168fa73e2..1aa01f8cb 100644 --- a/headroom/dashboard/templates/dashboard.html +++ b/headroom/dashboard/templates/dashboard.html @@ -1180,7 +1180,7 @@

HEADROOM

No per-project data yet.
Add to each project's .claude/settings.local.json:
- ANTHROPIC_BASE_URL: http://127.0.0.1:8787/p/<project-name> +
diff --git a/tests/test_dashboard_cache_ttl_playwright.py b/tests/test_dashboard_cache_ttl_playwright.py index 7144aa55b..a2ae2ad88 100644 --- a/tests/test_dashboard_cache_ttl_playwright.py +++ b/tests/test_dashboard_cache_ttl_playwright.py @@ -187,6 +187,39 @@ def handler(route) -> None: # type: ignore[no-untyped-def] page.route("**/*", handler) +def test_dashboard_per_project_setup_url_uses_current_origin() -> None: + with sync_playwright() as pw: + browser = pw.chromium.launch() + page = browser.new_page(viewport={"width": 1720, "height": 1400}, color_scheme="dark") + _install_dashboard_routes(page) + + page.goto("http://127.0.0.1:8788/dashboard", wait_until="load") + expect( + page.get_by_text( + "ANTHROPIC_BASE_URL: http://127.0.0.1:8788/p/", exact=True + ) + ).to_be_visible() + expect( + page.get_by_text( + "ANTHROPIC_BASE_URL: http://127.0.0.1:8787/p/", exact=True + ) + ).to_have_count(0) + + page.goto("http://headroom.local:9393/dashboard", wait_until="load") + expect( + page.get_by_text( + "ANTHROPIC_BASE_URL: http://headroom.local:9393/p/", exact=True + ) + ).to_be_visible() + expect( + page.get_by_text( + "ANTHROPIC_BASE_URL: http://127.0.0.1:8787/p/", exact=True + ) + ).to_have_count(0) + + browser.close() + + def test_dashboard_renders_observed_ttl_metrics_and_can_capture_screenshot() -> None: artifact_dir = os.environ.get("HEADROOM_PLAYWRIGHT_ARTIFACT_DIR")