Você pede para excluir uma conta e recebe uma mensagem de confirmação. Ela confirmou o pedido ou avisou que os dados já foram apagados?

A diferença muda o que você pode esperar a partir dali. No Garfim, existe um período de sete dias em que a conta ainda pode ser recuperada. A exclusão definitiva acontece depois.

Em 8 de outubro, acrescentei à implementação um e-mail para esse segundo momento. Ele só deve ser preparado quando a remoção foi concluída. Essa pequena mensagem exigiu pensar na ordem das operações e no que fazer quando o envio falha.

O aviso precisa vir depois do fato

Excluir uma conta envolve refeições, fotos, peso e água associados a ela. Se uma etapa necessária falha, o sistema não pode anunciar que terminou.

Um dos testes adicionados ao Garfim simula justamente uma falha ao apagar as fotos. A confirmação final não é preparada nesse caso. Pedidos cancelados e exclusões que ainda não chegaram ao prazo também ficam fora do envio.

É um princípio que aplico a outras mensagens do produto: “concluído” precisa corresponder ao resultado que a pessoa entende por essa palavra. O sistema ter recebido uma solicitação é uma informação diferente.

E se a conta for apagada, mas o e-mail falhar?

A exclusão e a entrega da mensagem dependem de operações distintas. Pode dar certo apagar a conta e dar errado contatar o serviço de e-mail logo depois.

Para lidar com isso, o Garfim registra a confirmação pendente junto com a remoção. O envio acontece a partir desse registro. Se houver uma interrupção, a próxima tentativa sabe que ainda existe uma pessoa a avisar.

Essa organização evita depender de duas operações terminarem no mesmo instante. Também permite repetir o envio com controle para reduzir o risco de duplicar a confirmação.

É uma solução útil sempre que uma mudança importante precisa gerar uma comunicação: primeiro preservar a informação de que o aviso é necessário, depois acompanhar sua entrega.

Até a fila de envio precisa ter um limite

Surge então outra pergunta: por quanto tempo manter o endereço de alguém que acabou de excluir a conta?

Na fila de confirmação do Garfim, defini um limite de 24 horas. O endereço sai dela depois do envio ou quando esse prazo termina. Se a entrega não acontece a tempo, a falha fica registrada para acompanhamento.

Esse limite vale para essa fila específica. O ponto da decisão é evitar que uma tentativa de comunicação conserve indefinidamente o contato que usou.

Os testes também verificam que repetir a tarefa de exclusão não cria outra confirmação para a mesma conta. Falhas e repetições fazem parte da operação de um sistema; é melhor projetar o comportamento esperado do que presumir que tudo ocorrerá uma única vez.

Excluir a conta e cancelar a assinatura são ações distintas

O novo e-mail orienta que a exclusão não cancela automaticamente assinaturas na App Store ou no Google Play. Se houver uma assinatura ativa, a pessoa precisa administrá-la na loja.

Vale colocar essa informação onde ela faz diferença. Quem está encerrando a conta precisa entender se ainda existe algo a fazer para interromper a renovação.

Em 12 de outubro: a atualização estava no código e nos testes. A entrega da confirmação em produção ainda precisava ser acompanhada.

Quem decide sair também merece saber em que ponto está e quando o pedido terminou. Uma confirmação útil precisa corresponder ao que o sistema de fato concluiu.

Pensar nessa experiência me obriga a olhar o produto inteiro, inclusive o momento em que alguém deixa de usá-lo.