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

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

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

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

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

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

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

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

「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

@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

これはまだ本来あるべき姿ではないのでしょうか? このコード
は、ユーザーの最初の投稿が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