fix(api): the feature-flag list has no defined order across pages
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
Línea de trabajo
Empieza con get_multi en backend/app/crud/base.py, que construye la consulta paginada por offset sin ORDER BY, y sigue su recorrido desde el manejador de GET /api/v1/feature-flags/. Añade un orden determinista, por ejemplo created_at y luego id, y comprueba que la lista de feature flags siga devolviendo el mismo total. Está terminado cuando las páginas consecutivas de skip/limit dividen los flags sin solapamientos, verificado con una prueba de paginación. Si existe sdk/mcp/tools.json, actualiza la descripción de list_feature_flags para que coincida.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
GET /api/v1/feature-flags/ pages with skip and limit, but the query behind it has no ORDER BY (backend/app/crud/base.py, get_multi: offset paging with no order). PostgreSQL then returns rows in whatever order the plan produces, which can change between two requests.
What goes wrong: a client that pages through the list (the dashboard, a script, an SDK helper, the planned MCP server's list_feature_flags) can see a flag on two pages, or on none, when the order shifts between page requests. total is still right; only the page contents are unstable.
Expected: a defined, stable order for the list (for example created_at then id), so that consecutive pages partition the flags.
When it is fixed: the fix also updates the description of list_feature_flags in sdk/mcp/tools.json (if sdk/mcp exists by then), which today says the list has no defined order, and restores the paging half of that tool's contract test.
Found while planning the MCP server (#1607). Priority is set in the pre-launch bug triage.
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 4
- Merge medio
- 5 h 19 min
- PR fusionados (30 d)
- 503
Preparar el entorno
- Incluye un Dockerfile o un 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 Controlvar/controlvar
-
Dashboard: the sequential panel's "Ready to stop" banner shows no sample-ratio-mismatch cautionAbiertobug post-launch
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Controlvar/controlvar#1737 ·
Los mantenedores suelen responder en 1 día
-
bug post-launch
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Controlvar/controlvar#1562 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Controlvar/controlvar#1447 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Experiment setup: emptying a traffic share box and typing a number shows a leading zero ("034")Abiertobug post-launch
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Controlvar/controlvar#1428 ·
Los mantenedores suelen responder en 1 día
-
bug post-launch
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Controlvar/controlvar#1425 ·
Los mantenedores suelen responder en 1 día
Todos los issues de Controlvar/controlvar
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
huggingface/deep-rl-class#723 ·
-
[tool] bug: Qwen3 XML tool parser raises on `...` argument values (Ellipsis is not JSON serializable)Posiblemente ocupada @super-yuki la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 87/100
verl-project/verl#8559 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
TencentCloud/octop-harness#228 ·
Los mantenedores suelen responder en 1 día
-
fix(requirements): UTF-8 BOM omits the first pinned requirementPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
google/osv-scalibr#2585 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
NousResearch/hermes-agent#149323 ·
Los mantenedores suelen responder en 1 día