Voici ce que nous avons fait pour résoudre le problème et éviter qu’il ne se reproduise :
Ce commit est un « 3-en-1 » car il a corrigé trois problèmes qui ont conduit à ce bogue et nous ont empêchés d’identifier rapidement la cause racine.
-
Nous nous sommes assurés que les « journaux d’e-mails » ne sont pas supprimés lorsqu’un compte utilisateur est supprimé. Si nous avions disposé des journaux d’e-mails des utilisateurs supprimés, nous aurions pu voir rapidement tous les e-mails de rejet qui ont été envoyés.
-
Nous avons veillé à ce que, partout où nous supprimons un utilisateur dans le code, le « contexte » soit correctement défini afin que nous puissions identifier clairement où et pourquoi un utilisateur a été supprimé. Il y avait plusieurs endroits dans le code où le contexte n’était pas défini, ce qui nous empêchait de savoir pourquoi ces utilisateurs avaient été supprimés et nous obligeait à fouiller dans le code pour le comprendre.
-
Nous avons corrigé le bogue réel et n’enverrons plus d’e-mails de rejet aux utilisateurs de révision supprimés automatiquement.
Tous ces changements ont été accompagnés de tests afin que nous puissions être sûrs de ne pas régresser.