web版です、再読み込みすれば直るけど、結構な頻度で起こってるので一応報告です。
RateLimitの設定はこの辺ですかねえ。
@remote_ip (インスタンス変数)を使ってるのが気になりました。
controller内であればインスタンス変数はユーザのリクエスト毎に初期化されるけど、initializers内のインスタンス変数だとRailsのプロセス全体で共有されそうな気がします...(あまり自信ない)
remote_ip の実装を見る感じそんなに重くはないのでメモ化せずに素朴に
def remote_ip(req)
(req.env["HTTP_CF_CONNECTING_IP"] || req.env["action_dispatch.remote_ip"] || req.ip).to_s
end
とかでいい気がします。
フィードバックと調査ありがとうございます。
確かにちょこちょこ発生しますね…。ページを表示するとき複数のリクエストを投げることがあり (ステータス情報の取得など)、
それがRack::Attackの制限に触れちゃっているのかもしれません。
調査いただいた内容を参考にしつつ見てみます🙏