Un gestor de comunidad se puso en contacto con nosotros porque notó que el número de usuarios en su foro no estaba aumentando como solían hacerlo.
Tras una investigación, descubrimos que muchos usuarios que acababan de registrarse estaban siendo eliminados por considerarse inactivos.
Resultó que esto se debía a que la configuración clean_up_inactive_users_after_days estaba establecida en 1
Así que hice clic en el icono de historial y vi que la configuración había sido cambiada de 730 (dos años) a 1.095 (tres años) hace más de un año.
Sí, amigos, cuando introducen una coma (o un punto, como es común en países de habla no inglesa) como separador de grupos de dígitos en una configuración numérica del sitio, se cortará silenciosamente(!) todo lo que esté detrás del primer separador. Para empeorar las cosas, esto solo será visible después de una actualización forzada de la página.
Este es uno aterrador, en efecto. Lo hemos solucionado aquí 1) permitiendo solo entradas numéricas en la interfaz de usuario y 2) eliminando cualquier carácter no numérico en el backend para mayor seguridad.
¡Gracias por el informe, Richard! Yo también puedo replicar lo que describes. Todo está “diseñado” a día de hoy, excepto el 5,0 que resulta en 0 en Firefox, lo cual es un error. Es uno raro.
Parece que tenemos que revisar esto de nuevo, al menos para actualizar lo que ve el administrador para que sea preciso y no incluya los separadores. Actualmente, tienes que actualizar tu navegador web después de guardar los cambios para verlo.
Pero creo que también podemos hacer más aquí para ayudar al administrador a evitar cometer estos errores y a no confundirse con ellos. Me parece mal que puedas poner “364.5 días” en días máximos de antigüedad de temas sugeridos y que eso se convierta en 3645 días. Quizás simplemente no permitamos introducir caracteres no numéricos en este tipo de campos.
Anteriormente, solo saneábamos la entrada para la configuración del sitio de enteros en el lado del servidor, lo que era un poco confuso cuando los usuarios introducían, por ejemplo, 100.5 y terminaban con 1005, y no veían esto reflejado en la interfaz de usuario.
Ahora que utilizamos entradas numéricas nativas para estas configuraciones, podemos mejorar un poco la experiencia al no permitir . o , en la entrada, porque solo deben ser números enteros, y añadir un tamaño de paso de 1. Todos los demás caracteres ya están impedidos en esta entrada numérica nativa.