Changelogs
Los correos de cambio de correo saludan con la cuenta, no con «15#1»
15 de julio de 2026 a las 19:26adevopg · 4303e9f
Decían «Hola 15#1»: el username interno, que no le dice nada a nadie. Ahora «Hola INNA@INNA.CL (WOW1)» — el correo, que es la cuenta con Battle.net, y la cuenta de juego con su nombre visible. Si no se sabe cuál es, va el correo solo, sin paréntesis vacío. Afecta a las 3 plantillas del cambio de correo. En la que va al correo NUEVO se saluda con `old_email`: el cambio aún no ha terminado, así que la cuenta se sigue identificando con el correo viejo (hay que añadirlo al SELECT). El original de Django también decía «Hola {{ username }}», así que esto es un arreglo, no una copia.
Quitar la restricción de Gmail de toda la web
15 de julio de 2026 a las 19:20adevopg · 4a7a970
Se admite cualquier dominio de correo. Quedaba en dos validaciones (registro y cambio de correo) y en tres textos: - Register.email «Correo electrónico de Gmail» -> «Correo electrónico» - Register.emailRule «debe pertenecer a Gmail y con acceso al mismo» -> «debe ser válido y tener acceso al mismo» (el correo de activación sigue siendo real, así que se conserva el «con acceso») - ChangeEmail.info se cae la frase «El nuevo correo debe ser de Gmail» `GMAIL_RE` se queda sin uso y desaparece: ahora `EMAIL_RE` es la ÚNICA validación de correo del sitio (registro, cambio, recuperación y login), así que no pueden volver a divergir como pasaba (recuperar exigía Gmail y dejaba fuera a 16 de las 17 cuentas existentes). Verificado: pasan inna@inna.cl, hotmail, outlook, proton, nightspire.gg y dominios con doble punto; siguen fuera 15#1, textos sin @, dobles arrobas y espacios. En la /es/create-account que sirve producción ya no aparece «Gmail».
El enlace de restablecer deja de servir una vez usado
15 de julio de 2026 a las 19:13adevopg · 4ee7d78
La página pintaba el formulario sin mirar el token: rellenabas la contraseña nueva y solo al enviarla te enterabas de que el enlace ya no valía. El API sí marcaba `used = 1` y rechazaba el reintento, pero la pantalla no lo reflejaba. Ahora la página comprueba el token al abrirse con `isResetTokenValid()` (mismas condiciones que `resetPassword` —existe, sin usar, dentro de la hora— pero SIN consumirlo) y, si no vale, muestra el aviso del tema en vez del formulario. Textos: `invalidLink` pasa a «El enlace de restablecer la contraseña es inválido» y se añade `needHelp`, como en la página de activación. Verificado en producción con enlaces reales: válido -> formulario; usado, caducado, inexistente y sin token -> aviso, sin formulario. Y el ciclo entero: restablecer con un enlace válido lo marca usado y al reabrirlo ya sale el aviso.
Recuperar cuenta: siempre por correo, y sin exigir Gmail
15 de julio de 2026 a las 19:05adevopg · fea1316
- Las 4 opciones exigían Gmail (`GMAIL_RE`), así que las cuentas ya creadas no podían recuperarse: de las 17 bnet que existen, 16 NO son de Gmail. Ahora solo se valida que sea un correo (`EMAIL_RE`), en un único sitio antes del tipo. El REGISTRO sigue exigiendo Gmail: eso no se toca. - «Contraseña» se pedía por nombre de usuario («15#1»); ahora por correo, como las otras tres. El campo del formulario deja de alternar texto/correo. En el flujo de contraseña, el correo que se guarda en `passwordreset` se toma de la BD y NO del tecleado: el verifier SRP6 de bnet se deriva del correo, así que `resetPassword` necesita exactamente la misma forma (MAYÚSCULAS) o generaría un verifier con el que no se podría entrar. Quedan sin uso y se borran: `usesUsername`, la clave de error `invalidUsername` y el texto `username`. `Recover.invalidEmail` decía «Introduce un correo de Gmail válido» y pasa a ser genérico.
El login exige un correo, no un nombre de cuenta
15 de julio de 2026 a las 18:57adevopg · 79520a5
Con Battle.net se entra con el correo, pero el campo aceptaba cualquier cosa: el <form> lleva `noValidate`, así que el navegador no comprobaba su propio type="email", y el servidor solo miraba que no estuviera vacío. Entrar con «15#1» llegaba hasta `authenticate` y devolvía «Correo o contraseña incorrectos», que manda a buscar el fallo donde no está. Se valida en el servidor (autoritativo) y en el cliente (aviso inmediato), con un mensaje propio: «Introduce tu correo electrónico, no el nombre de la cuenta.». `EMAIL_RE` es a propósito permisiva —solo exige una @ con algo a cada lado, sin punto en el dominio ni restricción a Gmail—: el registro solo admite Gmail HOY, pero de las 17 cuentas Battle.net que existen, 16 NO son de Gmail (INNA@INNA.CL, y hasta Q@Q sin dominio). Validar de más al entrar las habría dejado fuera a todas. Comprobado contra los 14 correos reales: 0 bloqueadas, y rechaza 15#1, 17#1 y demás nombres de cuenta.


