初日トピック数上限エラー、最初のトピックから4日後

エラーメッセージは次のとおりでした。

初めてのユーザーが初日に作成できるトピックの最大数に達しました。再度入力する前に2時間お待ちください。

これは「max topics in first day」によって制御されているようです。これを調整するとエラーが解消されました。

問題は、ユーザーが4日前に最初のトピックを作成して以来、8つのトピックを持っていることです。そのため、この設定は最初の投稿から24時間のみ影響を与えるはずなので、この設定の影響を受けるべきではないと思います。投稿アカウントはTL0ユーザーです。

オプションの説明は次のとおりです。

最初の投稿から24時間以内にユーザーが作成できるトピックの最大数

この設定は実際には「TL0ユーザーあたりの1日の最大投稿数」であると推測します。

「max replies in first day」設定でも同様かどうかを確認する価値があるかもしれません。

はい、コードを確認すると、ユーザーが TL0 かどうかをチェックしているだけで、サイトへの最初の 24 時間かどうかはチェックしていないようです。もしそうであれば、ユーザーに表示されるメッセージを変更する必要があるかもしれません。ただし、TL1 に到達するためのデフォルト要件は比較的緩やかです。多くの場合、TL0 ユーザーを新規ユーザーと見なすのは正しい判断だと考えられます。

「いいね!」 1

@simon はい、TL1+ を達成する難易度をユーザーに合わせて調整する実験を行っています。

これらの設定の機能が変わらない場合(初日の最大返信数も同様だと仮定して)、他の「newuser」設定と一貫性を持たせるために名前を変更すると良いと思います。また、ご指摘いただいた通り、ユーザーへのメッセージや設定の説明も更新する必要があります。

例:
max topics in first day → newuser max topics per day
max replies in first day → newuser max replies per day

これはまだ本来あるべき姿ではないのでしょうか? このコード
は、ユーザーの最初の投稿が1日以上前かどうかを確認しているように見えますが、間違っているように思えます。

 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

承知しました。少し解きほぐすのに手間取りましたが、これで問題が修正されるはずです。

基本的に、new_user_posting_on_first_day? の意図を数年前に変更したため、説明やエラーと一致しなくなっていました。これにより、古い動作が復元され、このチェックの目的において、TL0 ユーザーを常に新規ユーザーとして扱わないようになります。

「いいね!」 3