From 9a3c8c5bda1f372463c44bc29b290f2244c8564a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KMY=EF=BC=88=E9=9B=AA=E3=81=82=E3=81=99=E3=81=8B=EF=BC=89?= Date: Sat, 17 Feb 2024 10:42:34 +0900 Subject: [PATCH] =?UTF-8?q?Add:=20=E7=B5=B5=E6=96=87=E5=AD=97=E3=83=AA?= =?UTF-8?q?=E3=82=A2=E3=82=AF=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=AE=E3=83=AC?= =?UTF-8?q?=E3=83=BC=E3=83=88=E3=83=AA=E3=83=9F=E3=83=83=E3=83=88=20(#575)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/lib/rate_limiter.rb | 5 +++++ app/models/emoji_reaction.rb | 3 +++ 2 files changed, 8 insertions(+) diff --git a/app/lib/rate_limiter.rb b/app/lib/rate_limiter.rb index 4a0b35b081..ff105443e8 100644 --- a/app/lib/rate_limiter.rb +++ b/app/lib/rate_limiter.rb @@ -14,6 +14,11 @@ class RateLimiter period: 3.hours.freeze, }.freeze, + emoji_reactions: { + limit: 300, + period: 3.hours.freeze, + }.freeze, + reports: { limit: 400, period: 24.hours.freeze, diff --git a/app/models/emoji_reaction.rb b/app/models/emoji_reaction.rb index 2534cfebe2..50da1a083f 100644 --- a/app/models/emoji_reaction.rb +++ b/app/models/emoji_reaction.rb @@ -16,11 +16,14 @@ class EmojiReaction < ApplicationRecord include Paginable + include RateLimitable EMOJI_REACTION_LIMIT = 32_767 EMOJI_REACTION_PER_ACCOUNT_LIMIT = ENV.fetch('EMOJI_REACTION_PER_ACCOUNT_LIMIT', 3).to_i EMOJI_REACTION_PER_REMOTE_ACCOUNT_LIMIT = ENV.fetch('EMOJI_REACTION_PER_REMOTE_ACCOUNT_LIMIT', 3).to_i + rate_limit by: :account, family: :emoji_reactions + update_index('statuses', :status) scope :local, -> { where(uri: nil) }