Problemas de nivel de confianza, tl1 no anula tl0

Básicamente, estoy experimentando con los niveles de confianza. Con el nivel de confianza 0, configuré el sistema para que solo se pueda hacer una publicación cada 24 horas. Configuré Patreon de modo que, si alguien se convierte en patrocinador, automáticamente obtiene el nivel de confianza 1, lo que significa que no hay restricciones para publicar. Así que probé esto creando un nuevo usuario que se suscribió a Patreon y, efectivamente, fue asignado al grupo de Patrocinadores, lo que otorga el nivel de confianza 1. Sin embargo, cuando intento que este usuario haga una publicación ahora, todavía solo permite una cada 24 horas. ¿Por qué está sucediendo esto? ¿Por qué el nivel de confianza 1 no está anulando las restricciones del nivel de confianza 0 para este usuario?

No creo que Patreon pueda asignarles automáticamente el nivel de confianza 1, ya que es un grupo especial gestionado por Discourse. Deberías crear un grupo para Patreon y hacer que ese grupo les asigne el nivel TL1. Esto se encuentra en la pestaña de membresía de la página del grupo:

Acabo de probarlo y sigue sin funcionar.

Déjame retroceder un poco. Parece que Patreon asignó a este usuario al nivel de confianza 1. En la imagen que publiqué, se muestra que el nivel de confianza del usuario es “1 - usuario básico”, y esto cambió de “0 - usuario nuevo” simplemente al registrarse a través de Patreon.

Pero, independientemente de lo que Patreon haya hecho o no, parece que incluso si asigno manualmente a un usuario a la categoría tl1, siguen estando restringidos para publicar cada 24 horas, en lugar de que se les levante esa restricción.

Además, ten en cuenta que configuré rate limit new user create topic en 86400 para que los usuarios con tl0 solo puedan publicar cada 24 horas. ¿Es aquí donde estoy cometiendo el error? ¿Quizás esto también se aplica a los usuarios tl1?

Esto será la causa del problema. El límite de tasa que se aplica desde esa configuración se aplica a los usuarios de nivel de confianza 0 y también a los usuarios de nivel de confianza 1 que han estado en el sitio por menos de 24 horas.

¿Estás diciendo que esto es un problema de tiempo de 24 horas en todos los niveles de confianza?

Por ejemplo, ¿qué pasaría si promocionara el grupo de Patreon al nivel de confianza 2, 3 o incluso 4? ¿Eso evitaría el límite de velocidad?

No, el límite se aplica a los usuarios de nivel de confianza 0 mientras permanezcan en ese nivel. Se aplica a los usuarios de nivel de confianza 1 durante sus primeras 24 horas en el sitio. No se aplica a los usuarios de nivel de confianza 2. Si concedieras el nivel de confianza 2 a los miembros de tu grupo de Patrocinadores, estos eludirían el límite.

Principalmente para mi propia referencia, la lógica utilizada es:

def new_user?
  (created_at >= 24.hours.ago || trust_level == TrustLevel[0]) &&
    trust_level < TrustLevel[2] &&
    !staff?
end