Usuario baneado por publicar una respuesta en menos de 3 segundos

En el siguiente tema, un usuario fue silenciado por responder con un mensaje breve y rápido:

La configuración relacionada se llama “silenciar automáticamente a los que escriben rápido en la primera publicación”, pero claramente no era la primera publicación del usuario. ¿Se activó esta regla por error?

No es la primera vez que alguien es baneado al escribir respuestas tan cortas, que pueden redactarse fácilmente en 3 segundos. He reducido la configuración min_first_post_typing_time en mi foro de 3 a 2 segundos, pero me confunde por qué las respuestas también están cubiertas por la opción de silenciamiento automático.

¿Qué tan seguro está de que este no fue el primer mensaje del usuario? ¿Ves mensajes anteriores en su historial de publicaciones?

Si haces clic en el tema que enlacé, verás que primero se publicó una pregunta detallada, luego yo respondí, y cuando el usuario respondió ‘No puedo encontrarlo’, la respuesta se puso en cola para aprobación y el usuario fue silenciado.

Esto está volviendo a ocurrir, incluso después de haber reducido el “tiempo mínimo de escritura para el primer mensaje” a solo 2 segundos:

Ahora, el primer mensaje de jhoney sí parece sospechoso, ya que no pudo haber sido escrito en 2 segundos y, de hecho, es un fragmento copiado de una parte anterior de ese tema. Así que podría tratarse efectivamente de un spammer.

Pero jzza acaba de escribir un rápido agradecimiento después de que se respondiera su pregunta inicial. Es posible que lo haya escrito en 2 segundos, pero no fue su primer mensaje, por lo que su mensaje no debería haber sido retenido.

No se recomienda permitir mensajes muy cortos. ¿Cuál es la longitud mínima de publicación que estableciste para las respuestas? El valor predeterminado de Discourse es de 20 caracteres. Si lo has modificado, es posible que debas configurar la protección contra tiempo mínimo de escritura para spammers a niveles muy bajos.

Los nuevos usuarios legítimos que copian y pegan contenido pueden verse afectados; si este es un patrón común en tu plataforma, es posible que no tengas más remedio que prescindir de esta protección.

He reducido ese límite de 20 a 10 caracteres, porque quiero permitir mensajes cortos de agradecimiento y no me gusta obligar a las personas a alargar artificialmente sus publicaciones.

Sin embargo, esa configuración es irrelevante para el problema que estoy reportando. El problema que estoy encontrando es que hay publicaciones retenidas y usuarios silenciados basándose en la velocidad con la que escribieron su segunda publicación, aunque la configuración dice explícitamente: “El nuevo usuario escribió su primera publicación sospechosamente rápido”.

Justo, ¿podemos reproducir esto @justin?

Lo intenté hoy con buen ánimo y aún no he podido reproducirlo, incluso usando la misma configuración del sitio. No veo que ningún usuario termine en la cola de revisión en su primera o segunda publicación, pero sí que se les bloquea la publicación durante unos 20 segundos si lo hacen demasiado rápido, como es de esperar.

@bjorn81, ¿tienes más información de estos usuarios sobre cómo podrían haber sido silenciados?

¿Por qué estás reduciendo el límite de caracteres para los mensajes de agradecimiento si Discourse ya tiene un botón de «Me gusta»? Precisamente para eso está. Los usuarios pueden expresar su agradecimiento sin hacer subir el tema, distraer a otros usuarios ni aumentar innecesariamente la longitud del tema.

Parece mucho que hayas modificado una configuración predeterminada que existe porque los mensajes de «ok», «GG» o «+1» no son necesarios en Discourse, y ahora estás sufriendo las consecuencias.

Sin embargo, ese no es el caso; este es el problema reportado:

@justin ten en cuenta que definitivamente necesitarías pegar la publicación mediante ctrl+v para activar esto. Lo específico que estamos probando es: ¿puede esto ocurrir en una segunda publicación? También podrías revisar la ruta del código para ver si sus suposiciones son válidas.

Lo intentaré de nuevo. Revisé la ruta del código y todos los supuestos que pude encontrar parecían válidos en función de los valores proporcionados en la configuración del sitio.

EDITO: Logré reproducirlo usando copiar/pegar en una segunda publicación con la configuración proporcionada anteriormente. Los restableceré a los valores predeterminados y veré si puedo encontrar alguna correlación.

EDITO 2: Logré encontrar el problema.

En este bloque de código, solo estamos considerando el post_count del usuario. Si un usuario crea un tema primero, eso no se cuenta como una publicación. Por lo tanto, cuando un usuario copia y pega una respuesta, se cuenta como su primera publicación, activando la protección.

Ya hay una PR para corregirlo