Dois códigos enviados ao tocar duas vezes
Em conexão lenta, tocar duas vezes em “Enviar novo código” pode gerar dois envios. A pessoa recebe códigos diferentes e não sabe qual usar.
Impacto
O erro afeta parte das pessoas que usam o reenvio em rede lenta. Há um contorno: esperar a primeira confirmação e usar apenas o último código. Como isso não é óbvio, a correção tem prioridade alta.
Como reproduzir
- Iniciar um cadastro e chegar à tela de código expirado.
- Simular uma conexão lenta.
- Tocar duas vezes rapidamente em “Enviar novo código”.
- Verificar se duas solicitações e dois e-mails são gerados.
O que acontece hoje
O botão aceita dois toques e envia duas solicitações. A pessoa recebe dois códigos, mas apenas o último funciona.
O que deveria acontecer
O primeiro toque inicia o envio e desativa imediatamente o botão. Uma única solicitação é feita. A tela mostra uma confirmação clara.
Causa identificada
O botão só era desativado depois da resposta do servidor. Em redes lentas, havia tempo para uma segunda ação. O teste anterior não incluía dois toques rápidos.
Correção
Desativar o botão assim que a primeira solicitação começar e bloquear pedidos duplicados no servidor durante o mesmo intervalo.
Como provar que foi corrigido
- Reproduzir a falha antes da alteração.
- Repetir o teste com dois toques rápidos em rede lenta e confirmar um único envio.
- Testar falha de envio e nova tentativa após o intervalo.
- Adicionar teste automatizado para pedido duplicado.
- Verificar a quantidade de envios no ambiente final.
Lançamento e volta atrás
Publicar junto da FEAT-001. Se o bloqueio impedir reenvios legítimos, retornar à versão anterior e analisar os registros de erro.
Verificação final
Pendente: revisão de outra pessoa e teste em produção. A situação só mudará para “Concluído” depois dessa confirmação.