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

bnv-manager-v2: accept_invite creates the Mailcow domain admin before the commit

Cerrado Apto para principiantes
#28 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@myOmikron ya está trabajando en esto.

Desde el 17/10/2026.

  • #29 de @myOmikron — abierto

Evaluación

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

Línea de trabajo

Empieza en services/bnv-manager-v2/src/http/handler_frontend/invites/handler_common.rs en accept_invite, donde el tokio::spawn que llama a create_domain_admin se encuentra antes de tx.commit(). Lee set_password y reset_password en el mismo servicio para ver cómo recopilan los datos dentro de la transacción y llaman a Mailcow::global() después del commit. Está terminado cuando la llamada a Mailcow se ejecuta solo después de que tx.commit().await? tenga éxito y la ruta de los miembros del club no cambia.

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

Descripción

bug ready-for-agent

Problem

accept_invite (services/bnv-manager-v2/src/http/handler_frontend/invites/handler_common.rs) spawns the task that creates the domain admin in Mailcow (create_domain_admin) while the transaction is still open. tx.commit() only runs after that.

If the commit fails (e.g. connection drop), the account and the accepted invite roll back, but the domain admin in Mailcow stays. Accepting the invite again then fails on the existing Mailcow user.

Expected

The Mailcow side effect only runs after a successful commit. set_password and reset_password in the same service already do this: gather what is needed inside the transaction, call Mailcow::global() after tx.commit().

Acceptance criteria

  • In accept_invite, tokio::spawn with create_domain_admin only runs after tx.commit().await?
  • A failed commit leaves no trace in Mailcow
  • Club-member invites (without a Mailcow call) behave unchanged
Lenguaje dominante
TypeScript
Estrellas
0
Forks
1
Merge medio
9 h 39 min
PR fusionados (30 d)
144

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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 myOmikron/code

Todos los issues de myOmikron/code

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.