Tracking UI returns HTTP 500 on all pages with Starlette ≥1.0 (TemplateResponse signature)
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 85/100
Línea de trabajo
Lee burr/tracking/server/run.py en el punto de entrada react_app e inspecciona la llamada a TemplateResponse alrededor de la línea 341. Reproduce el fallo de la UI de tracking con Starlette 1.0 o posterior y verifica después que el index.html servido devuelve HTTP 200; comprueba también la configuración de dependencias de burr[start] si añades la versión mínima de Starlette sugerida.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
The tracking UI server (burr / burr-admin-server) returns HTTP 500 on every page when Starlette ≥1.0 is installed. The JSON API is unaffected — only the served React app (index.html) fails. Because burr[start] doesn't pin Starlette (it arrives transitively via an unpinned fastapi), a fresh pip install "burr[start]" resolves to a current Starlette and the UI is broken out of the box.
Environment
- burr 0.40.2 (via
burr[start]) - starlette 1.3.0, jinja2 3.1.6, fastapi 0.136.3
- Reproduced on Python 3.13 and 3.14 (version-independent)
Root cause
burr/tracking/server/run.py:341 uses the pre-1.0 Starlette signature:
return templates.TemplateResponse("index.html", {"request": req})
Starlette 0.29 made request the first positional argument and 1.0 removed the old form, so "index.html" binds to request and the context dict binds to name; Jinja2 then tries to load a template whose name is a dict and raises TypeError: unhashable type: 'dict'. (Same break FastAPI hit in fastapi/fastapi#15198.)
Fix
return templates.TemplateResponse(request=req, name="index.html")
This is the only TemplateResponse call site in the package; with it the UI renders (HTTP 200) on Python 3.14 + Starlette 1.3.0. Verified locally. Worth pairing with a starlette>=0.29 floor, since the keyword form requires it.
Traceback
File ".../burr/tracking/server/run.py", line 341, in react_app
return templates.TemplateResponse("index.html", {"request": req})
File ".../starlette/templating.py", line 148, in TemplateResponse
template = self.get_template(name)
File ".../jinja2/environment.py", line 1016, in get_template
return self._load_template(name, globals)
TypeError: unhashable type: 'dict'
Happy to send a PR if useful.
- Lenguaje dominante
- Python
- Estrellas
- 2.6k
- Forks
- 199
- Merge medio
- 3 d 10 h
- PR fusionados (30 d)
- 6
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/burr
-
Streaming Event type, type hint, should support union typePosiblemente ocupada @mvanhorn la tomó hace 182 días. Abiertoarea/streaming area/typing good first issue help wanted kind/bug priority/high
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
apache/burr#607 · 12 comentarios ·
Los mantenedores suelen responder en 2 días
-
Add more instructions for applying ORM migrations for S3 deploymentPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoarea/storage area/ui help wanted kind/documentation priority/low
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/burr#524 · 11 comentarios ·
Los mantenedores suelen responder en 2 días
-
Add documentation on how to run the Burr UI serverQuizá libre de nuevo @iamSerafinnn la tomó hace 122 días y no hay ningún pull request abierto. Abiertoarea/ui good first issue kind/documentation priority/low
Dificultad 2/5 Medio día Aptitud para principiantes 68/100
apache/burr#272 · 5 comentarios ·
Los mantenedores suelen responder en 2 días
-
status/needs-triage
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Los mantenedores suelen responder en 2 días
-
status/needs-triage
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Los mantenedores suelen responder en 2 días
Todos los issues de apache/burr
Issues similares
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
pytest-dev/pluggy#757 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
NousResearch/hermes-agent#134960 ·
Los mantenedores suelen responder en 1 día
-
HTML backend: `<br>` leaks the internal sentinel U+E000 into list items, headings and captionsPosiblemente ocupada @morten-lagabote la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
docling-project/docling#4671 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
good first issue hacktoberfest infra
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día