Backend issue lists report in-patch warnings and out-of-patch errors as not publishable

Abierto Apto para principiantes
#3,794 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@RaphaelFakhri ya está trabajando en esto.

Desde el 4/11/2026.

  • #3795 de @RaphaelFakhri — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
75/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
django, python

Línea de trabajo

Empieza por localizar las anotaciones publishable en IssueViewSet y IssueCheckDetails, y luego compáralas con la propiedad IssueLink.publishable y las reglas compartidas de publishable descritas en el issue. Comprueba el endpoint de diff issues y el filtro de detalles de checks para las advertencias dentro del parche y los errores fuera de él. El trabajo estará terminado cuando ambos endpoints indiquen que esos casos son publishable y el filtro predeterminado de detalles de checks siga siendo coherente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

IssueLink.publishable treats an issue as publishable when it is in the patch or is an error (in_patch is True or level == "error"). The bulk creation response, the publishable filter of the check details endpoint, and the publishable counters for diffs and check stats use the same rule.

Two endpoints compute the publishable field with & instead of |:

  • GET /v1/diff/<diff_provider_id>/issues/ (IssueViewSet)
  • GET /v1/check/<repository>/<analyzer>/<check>/ (IssueCheckDetails)
.annotate(publishable=Q(issue_links__in_patch=True) & Q(level=LEVEL_ERROR))

As a result, these endpoints return:

  • publishable: false for warnings inside the patch.
  • publishable: false for errors outside the patch, and null when in_patch is unknown.

On the check details endpoint, the default ?publishable=true filter keeps these issues while each one reports publishable: false.

The annotation came in with #2451, which moved publishable to IssueLink. The model property kept the or rule.

Steps to reproduce

  1. Link an error issue to a diff with in_patch=False, and a warning issue with in_patch=True.
  2. Request /v1/diff/<diff_provider_id>/issues/.

Expected: both issues have publishable: true.
Actual: both issues have publishable: false.

Lenguaje dominante
Python
Estrellas
68
Forks
54
Merge medio
2 d 4 h
PR fusionados (30 d)
24

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de mozilla/code-review

Todos los issues de mozilla/code-review

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.