diff --git a/server.py b/server.py index f9defab..405687c 100644 --- a/server.py +++ b/server.py @@ -3375,7 +3375,14 @@ async def get_user_from_cookie(request) -> Optional[str]: def wants_html(request: Request) -> bool: """Check if request wants HTML (browser) vs JSON (API).""" accept = request.headers.get("accept", "") - return "text/html" in accept and "application/json" not in accept + # Check for explicit HTML request + if "text/html" in accept and "application/json" not in accept: + return True + # Check for browser navigation (direct URL access) + fetch_mode = request.headers.get("sec-fetch-mode", "") + if fetch_mode == "navigate": + return True + return False # Tailwind CSS config for all L1 templates