Si un usuario con la dirección user+123@gmail.com intenta cambiar su dirección a user@gmail.com, recibe el enlace de verificación, pero cuando intenta aceptarlo, recibe el mensaje “el correo electrónico ya está en uso”.
Parece que debería hacer algo como:
Denegar el cambio a la otra dirección.
Aceptar la dirección sin verificación (es la misma dirección).
Reemplazar la dirección antes de comprobar si ya existe.
Esto. Si el usuario intenta cambiar el correo electrónico y las direcciones de correo electrónico normalizadas son las mismas, simplemente debería cambiarlo sin ningún proceso adicional.