Erro de tópicos máximos no primeiro dia, 4 dias após o primeiro tópico

A mensagem de erro foi:

Você atingiu o número máximo de tópicos que um novo usuário pode criar no primeiro dia. Por favor, aguarde 2 horas antes de digitar novamente.

Isso parece ser controlado por: ‘max topics in first day’ - ajustar isso removeu o erro.

O problema é que o usuário tem 8 Tópicos anteriores, sendo o primeiro há 4 dias. Então, acho que eles não deveriam ser afetados por essa configuração, já que ela se destina a afetar apenas o período de 24 horas após a primeira postagem do usuário. A conta de postagem é um usuário TL0.

A descrição da opção é:

O número máximo de tópicos que um usuário pode criar no período de 24 horas após a criação de sua primeira postagem

Eu faria uma suposição especulativa de que a configuração pode ser realmente ‘maximum posts per day for TL0 users’.

Pode valer a pena verificar se isso também é verdade para a configuração ‘max replies in first day’.

Yes, the code seems to be checking to see if a user is TL0 - not checking that it’s the user’s first 24 hours on the site. If that’s the case, possibly the message that is displayed to the user should be changed. The default requirements for achieving TL1 are fairly low though. I’d expect that considering TL0 users to be new users is correct for most cases.

1 curtida

@simon Yeah, I’m experimenting with adjusting the difficulty for users to achieve TL1+.

If the functionality of these settings are kept the same (and assuming it is the same case for max replies in first day), I think it could be good to rename them to be consistent with the other ‘newuser’ settings. As well as update the message to users as you mentioned and the setting descriptions.

E.g.
max topics in first day -> newuser max topics per day
max replies in first day -> newuser max replies per day

Isto ainda não está como deveria? Este código
parece errado para mim, verificando se o primeiro post do usuário tem mais de um dia?

 def new_user_posting_on_first_day?
    !staff? && trust_level < TrustLevel[2] &&
      (
        trust_level == TrustLevel[0] || self.first_post_created_at.nil? ||
          self.first_post_created_at >= 24.hours.ago
      )
  end

Ok, foi um pouco complicado de resolver, mas acho que isso corrigirá o problema:

Basicamente, mudamos a intenção de new_user_posting_on_first_day? anos atrás, de modo que não correspondia mais à descrição e aos erros. Isso restaura o comportamento antigo e não trata usuários TL0 como novos usuários o tempo todo para fins desta verificação.

3 curtidas