fix: PR review nits — response shape, landing copy, form reset

- /llm/generate's "model is downloading" branch was raising HTTPException(202, detail={...}), which wraps the payload in {"detail": ...} and forces clients to parse a success status as if it were an error. Switched to JSONResponse so the payload sits at the top level.
- The landing page's "Language Models" card advertised "Qwen 3.5" with sizes 4B/2B/0.8B; we ship Qwen3 at 0.6B/1.7B/4B. Aligned to what's actually in the binary.
- ProfileForm's discard-draft button reset the form without touching `personality` or `avatarFile`, so stale persona text and an attached avatar would survive the discard. The other three resets in the file already include both fields — this brings the discard path in line.
This commit is contained in:
Jamie Pine
2026-04-25 01:21:21 -07:00
parent c5b7760a8c
commit 0aa3a8d6b4
3 changed files with 7 additions and 4 deletions
+3 -2
View File
@@ -1,6 +1,7 @@
"""LLM inference endpoints."""
from fastapi import APIRouter, HTTPException
from fastapi.responses import JSONResponse
from .. import models
from ..backends import get_llm_model_configs
@@ -39,9 +40,9 @@ async def llm_generate(request: models.LLMGenerateRequest):
task_manager.start_download(progress_model_name)
create_background_task(download_llm_background())
raise HTTPException(
return JSONResponse(
status_code=202,
detail={
content={
"message": f"Qwen3 {model_size} is being downloaded. Please wait and try again.",
"model_name": progress_model_name,
"downloading": True,