From 1e52bb33a6e2e7382fc4fe24d705ca2ae22f5950 Mon Sep 17 00:00:00 2001 From: giles Date: Fri, 6 Mar 2026 17:55:23 +0000 Subject: [PATCH] Fix test dashboard: return SX wire format for SX-Request on index route Filter card links (/?filter=failed) were blanking the page because the index route always returned full HTML, even for SX-Request. Now returns sx_response() partial like test_detail already does. Co-Authored-By: Claude Opus 4.6 --- test/bp/dashboard/routes.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/test/bp/dashboard/routes.py b/test/bp/dashboard/routes.py index b44a0eb..3257d2c 100644 --- a/test/bp/dashboard/routes.py +++ b/test/bp/dashboard/routes.py @@ -12,18 +12,29 @@ def register(url_prefix: str = "/") -> Blueprint: @bp.get("/") async def index(): """Full page dashboard with last results.""" - from shared.sx.page import get_template_context from shared.browser.app.csrf import generate_csrf_token - from sxc.pages.renders import render_dashboard_page_sx + from sxc.pages.renders import render_dashboard_page_sx, render_results_partial_sx import runner - ctx = await get_template_context() result = runner.get_results() running = runner.is_running() csrf = generate_csrf_token() active_filter = request.args.get("filter") active_service = request.args.get("service") + is_sx = bool(request.headers.get("SX-Request") or request.headers.get("HX-Request")) + + if is_sx: + from shared.sx.helpers import sx_response + html = await render_results_partial_sx( + result, running, csrf, + active_filter=active_filter, + active_service=active_service, + ) + return sx_response(html) + + from shared.sx.page import get_template_context + ctx = await get_template_context() html = await render_dashboard_page_sx( ctx, result, running, csrf, active_filter=active_filter,