Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

find_referenced_groups: Fixes-keyword ID list spans newlines, linking wrong issues as fixed

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

Los mantenedores suelen responder en 1 día

@CodeAlex52 ya está trabajando en esto.

Desde el 30/9/2026.

  • #126044 de @CodeAlex52 — abierto

Evaluación

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

Línea de trabajo

Empieza en src/sentry/utils/groupreference.py con _fixes_re y luego sigue Commit.find_referenced_groups() y PullRequest.find_referenced_groups() para entender cómo los IDs extraídos se convierten en referencias resueltas. Añade cobertura para una palabra clave fixes seguida de un salto de línea y verifica que las listas en la misma línea, como «Fixes A-1, B-2», sigan funcionando, sin que los IDs narrativos se traten como corregidos.

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

Descripción

Product Area: Releases Waiting for: Product Owner

_fixes_re in src/sentry/utils/groupreference.py:

_fixes_re = re.compile(
    rf"\b{_fix_keywords}:?\s+([A-Za-z0-9_\-\s\,]+)\b",
    re.I,
)

The \s inside the ID-list character class also matches newlines, so the match swallows every line after the keyword, and _short_id_re then pulls short-ID-shaped tokens out of narrative prose. For example:

Fixes SENTRY-1
Backported from OTHER-456 for the release branch

The IDs treated as fixed come out as ['SENTRY-1', 'OTHER-456'], when only SENTRY-1 was meant.

This matters because Commit.find_referenced_groups() and PullRequest.find_referenced_groups() feed the resolved_in_commit / resolved_in_pull_request receivers, which create GroupLink(relationship=resolves) records. A phantom ID that happens to resolve to a real group in the org can then get auto-resolved by a release containing that commit. The \s was clearly intended for same-line separators like Fixes A-1, B-2, not newlines.

(find_fix_statements, used by the Seer RPC path, works per-line and is not affected.)

Observed on master at bb47162e (2026-09-25).

Lenguaje dominante
Python
Estrellas
45.7k
Forks
5k
Merge medio
1 d 2 h
PR fusionados (30 d)
651

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 getsentry/sentry

Todos los issues de getsentry/sentry

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.