El límite de tasa de mensajes personales también limita las marcas de "Algo más"

Reproducción del problema

  1. Obtenga una instancia de prueba para no romper una comunidad existente.
  2. Establezca mensajes personales máximos por día = 1. (El valor predeterminado es 20. No estoy seguro de qué significa 0 para esta configuración, así que estoy usando lo más cercano).
  3. Suplante a un usuario que no sea del personal. (Como administrador, no vi el problema. Supongo que es porque el personal no está sujeto a este límite de velocidad, pero no he mirado el código para estar seguro).
  4. Envíe un mensaje privado de prueba desde la cuenta que está suplantando a otra persona. (Lo envié a mi propia cuenta).
  5. Marque una publicación aleatoria con el motivo “Algo más”. (Por lo que puedo decir, otras razones de marcado no presentan el problema).

Debería aparecer una ventana emergente que diga:

Ocurrió un error: Ha alcanzado el número máximo de mensajes permitidos por día. Puede crear más mensajes nuevos en 23 horas.

Por qué importa

Hay varias configuraciones relevantes:

  1. Hilos de mensajes privados por día. (Predeterminado 20)
  2. Marcados por día. (Predeterminado 20)
  3. Marcados por día se multiplican por nivel de confianza. (TL2 => 1.5, TL3 => 2, TL4 => 3)

Como resultado, los usuarios de TL3 pueden iniciar hasta 20 hilos de mensajes privados en un período de 24 horas y marcar hasta 40 publicaciones. Sin embargo, los marcados que utilizan el motivo “Algo más” cuentan tanto para el límite de hilos de mensajes privados como para el límite de marcados. Dado que no hay un multiplicador de TL para el límite de mensajes privados, es imposible aumentar el límite de velocidad solo para los usuarios de confianza.

Quizás lo más importante es que el mensaje no parece estar relacionado con la acción que tomó el usuario. No es obvio que una razón de marcado en particular inicie un hilo de mensaje privado. Para ver esta confusión en la vida real, consulte estos hilos:

  1. ¿Mensajes máximos por día?
  2. Alcanzado el máximo de mensajes… de nuevo

Después de investigar hoy, ahora puedo sugerir no usar el motivo “Algo más” si se queda sin hilos de mensajes privados en un día. Pero eso no es ideal porque disuadirá a algunos usuarios de agregar contexto necesario a sus marcados. Probablemente simplemente aumentaré el límite de velocidad de los hilos de mensajes privados y esperaré que nadie descubra que pueden comenzar a enviar spam a otros usuarios.

Posibles soluciones

  1. No cuente los hilos de mensajes privados generados por el sistema contra un usuario. Entonces, si marco una publicación y el sistema la convierte útilmente en un hilo de mensaje privado con los moderadores, eso no debería contar contra mi límite. Para los marcados, solo debería aplicarse el límite de velocidad de marcado.
  2. Arregle el mensaje para que los usuarios puedan autodiagnosticar el problema. No tengo una redacción ingeniosa para sugerir, pero debería quedar claro que el problema es marcar con “Algo más” en lugar de otros tipos de marcados. Dejaría de lado cualquier indicación de que esto está relacionado con los hilos de mensajes privados, a menos que se explique cuidadosamente. Simplemente se está metiendo demasiado en las entrañas del sistema para la persona promedio.
  3. Agregue multiplicadores basados en TL al límite de velocidad de los hilos de mensajes privados. Honestamente, creo que 20 es suficiente en todas menos en las situaciones más extremas. Pero si los marcados consumen el límite, querría dar a los usuarios de confianza al menos tantas inicios de hilos de mensajes privados como a los usuarios normales.
7 Me gusta

Oye @sam, tú :heart: esto y ha pasado un mes (y finalmente actualicé el sitio a 3.1.0.beta3). Solo quería saber si la tan esperada actualización incluiría una solución para esto, creí recordar haber visto un commit al respecto, pero no veo nada aquí.

Me gusta la idea de arreglar esto, pero aún no se ha programado nada. Desacoplar suena como la solución correcta.

2 Me gusta

Hola,

Tengo una solución para este error. Pero, me gustaría discutir mi solución antes de subir el PR.
Es bastante sencillo, el nuevo mensaje privado se establece para pertenecer al usuario system y el usuario real se convierte en destinatario en lugar de iniciador.

Algo que vale la pena mencionar: el usuario recibirá su propio mensaje de system en su bandeja de entrada.

¿Alguna opinión?

1 me gusta

Esta sería una mejora fantástica en todos los aspectos para Discourse. Incluso con la configuración predeterminada de no permitir que TL0 envíe PM, permitir de repente que TL1 envíe una gran cantidad de hilos de PM nuevos es un ataque de spam de PM de bajo nivel esperando a suceder. O bien, el límite de velocidad de PM se puede establecer en algo muy bajo, pero sería insostenible aplicar el mismo límite a los usuarios de confianza >= TL2.