Ecco cosa abbiamo fatto per risolvere il problema ed evitare che si ripresenti:
Questo commit risolve tre problemi contemporaneamente, che hanno causato questo bug e ci hanno impedito di individuare rapidamente la causa principale.
-
Abbiamo garantito che i “log delle email” non vengano cancellati quando un account utente viene eliminato. Se avessimo avuto i log delle email degli utenti cancellati, avremmo potuto vedere immediatamente tutte le email di rifiuto inviate.
-
Abbiamo assicurato che in ogni punto del codice in cui un utente viene eliminato, venga impostato correttamente il “contesto”, in modo da poter individuare chiaramente dove e perché un utente è stato cancellato. C’erano diversi punti nel codice in cui il contesto non era impostato, quindi non sapevamo perché quegli utenti fossero stati eliminati e abbiamo dovuto esaminare il codice per scoprirlo.
-
Abbiamo corretto il bug effettivo e non invieremo più email di rifiuto agli utenti di revisione eliminati automaticamente.
Tutte queste modifiche sono state accompagnate da test, in modo da essere sicuri di non introdurre regressioni.