Unattributed provider complaints count against the receiving organization
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
Línea de trabajo
Read services/email/reputation/tasks.py, especially parse_fbl_report and its resolve_fbl_owner path, then inspect services/email/reputation/evaluation.py and the complaints calculation. Trace how unattributed reports reach organization rates and suspension decisions. Done means unattributed reports remain visible to staff but no longer contribute to any organization's complaint rate.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
An unattributed provider complaint counts against the organization that owns the FBL inbox. That is relay's own organization, so platform complaints can suspend the receiving side.
When a provider complaint cannot be attributed to a sending organization, parse_fbl_report keeps the organization that owns the inbound FBL address. compute_org_reputation counts every provider report for that organization, with no filter on attribution.
The FBL inbox belongs to the platform. Complaints that relay cannot match therefore accumulate against relay's own organization and feed its complaint rate. The same code path that suspends customers can then suspend that organization, and the receiving side of the platform goes down with it.
Evidence:
services/email/reputation/tasks.py:parse_fbl_reportkeeps the ingest organization whenresolve_fbl_ownerreturnsNoneservices/email/reputation/evaluation.py:complaintscounts provider reports per organization with no attribution requirement
Suggested direction: record unattributed reports with no owner, or with a dedicated platform-review flag. Exclude them from any organization's rate. Keep them visible for staff.
Found during the sandbox-credentials change (#259). This fault is older than that change.
- Lenguaje dominante
- Python
- Estrellas
- 4
- Forks
- 0
- Merge medio
- 2 h 40 min
- PR fusionados (30 d)
- 163
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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 codingjoe/relay
-
enhancement real sec
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
codingjoe/relay#410 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug side quest
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 1 día
-
bug side quest
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
bug side quest
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
side quest test
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
Todos los issues de codingjoe/relay
Issues similares
-
Skill submission: negative-test-first (testing discipline; PR creation is collaborator-only)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ComposioHQ/awesome-claude-skills#2398 ·
Los mantenedores suelen responder en 2 días
-
bug converter
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
grafana/sigma-rule-deployment#435 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
datamodel-code-generator/datamodel-code-generator#5589 ·
Los mantenedores suelen responder en 1 día
-
Shell: serve the home app's Cookie Policy on a hard reloadPosiblemente ocupada @2001anshkaushik la tomó hoy. Abiertofeature module:ai
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
rocketride-org/rocketride-server#2899 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
GEFSv12
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100