find_referenced_groups: Fixes-keyword ID list spans newlines, linking wrong issues as fixed
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 86/100
Direzione di ricerca
Inizia in src/sentry/utils/groupreference.py con _fixes_re, quindi segui Commit.find_referenced_groups() e PullRequest.find_referenced_groups() per capire come gli ID estratti diventano riferimenti risolti. Aggiungi la copertura per una parola chiave fixes seguita da un a capo e verifica che gli elenchi sulla stessa riga, come “Fixes A-1, B-2”, continuino a funzionare, senza che gli ID nel testo descrittivo vengano trattati come corretti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
_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).
- Lingua principale
- Python
- Stelle
- 45.6k
- Fork
- 4.9k
- Merge medio
- 1g 1h
- PR unite (30g)
- 665
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di getsentry/sentry
-
Cocoa replays hide Logs tab on supported SDK versionsForse già presa @Brian-An l’ha presa 17 giorni fa. ApertaBug Cocoa Replays
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
getsentry/sentry#124217 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
SAML2 Login Dark modeApertaProduct Area: Settings - Auth Waiting for: Product Owner
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
getsentry/sentry#122437 · 6 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Incorrect Russian translation in django.poForse già presa @nightcityblade l’ha presa 14 giorni fa. ApertaBug Good First Issue Product Area: Settings - Integrations
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
getsentry/sentry#120651 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Product Area: Other Waiting for: Product Owner
Difficoltà 1/5 1-3 ore Idoneità per principianti 68/100
getsentry/sentry#118618 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
getsentry/sentry#116812 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di getsentry/sentry
Issue simili
-
filesystem: `file://C:/...` bucket_url is read as a UNC share named `C:` and silently lists no filesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
comp/desktop desktop/shell os/windows P3 tool/file type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
NousResearch/hermes-agent#145928 ·
I maintainer di solito rispondono entro 1 giorno
-
integration:coding-agents
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
vectorize-io/hindsight#6151 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
FormalLanguageConstrainedPathQuerying/FLPQ_Data#174 ·
I maintainer di solito rispondono entro 1 giorno
-
[VLM] granite_vision preset produces empty output and runs ~3× slower with Granite Vision 3.3-2B than with Granite Vision 4.1-4BForse già presa @prassu017 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
docling-project/docling#5068 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno