From c7c6e52deb75a874e43be404c7dd973c5252ccc9 Mon Sep 17 00:00:00 2001 From: bruno Date: Wed, 22 Jul 2026 11:02:48 -0400 Subject: [PATCH] fix: dashboard.py duplicate /pages/{id} route was intercepting embed requests Root cause: dashboard.router registered BEFORE board.router in main.py, so dashboard's /pages/{page_id} handler got all requests and ignored the embed parameter. board.py's embed-aware route was never reached. Fix: add embed support to dashboard.py's view_page_root too: - Detect ?embed=1 query param - Select page_editor_embed.html when embed=True - Pass embed_mode to template context --- app/routers/dashboard.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/routers/dashboard.py b/app/routers/dashboard.py index 278b020..2065372 100644 --- a/app/routers/dashboard.py +++ b/app/routers/dashboard.py @@ -280,7 +280,9 @@ async def library_page(request: Request, owner: str = Query(default=""), repo: s @router.get("/pages/{page_id}", response_class=HTMLResponse) async def view_page_root(request: Request, page_id: int): - """Render a Markdown page at root level with workspace context — or file viewer.""" + """Render a Markdown page at root level with workspace context — or file viewer. + ?embed=1 — minimal mode for side peek (editor only, no header).""" + embed = request.query_params.get("embed") == "1" from jinja2 import Environment, FileSystemLoader from app.routers.board import _sidebar_data as board_sidebar env = Environment(loader=FileSystemLoader("app/templates")) @@ -342,8 +344,9 @@ async def view_page_root(request: Request, page_id: int): "page_data": page_data, "breadcrumb_items": nav_crumbs, "nav_workspace_id": page.get("workspace_id") or 0, - "nav_page_id": page_id} - template = env.get_template("page_editor.html") + "nav_page_id": page_id, + "embed_mode": embed} + template = env.get_template("page_editor_embed.html" if embed else "page_editor.html") response = template.render(**ctx) return HTMLResponse(content=response, headers={"Cache-Control": "no-store, max-age=0"})