From 8a29aef8428e863a79edb9123375e722dabf091f 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: Thu, 15 Feb 2024 12:53:11 +0900 Subject: [PATCH] =?UTF-8?q?Add:=20#446=20=E3=82=B9=E3=82=BF=E3=83=B3?= =?UTF-8?q?=E3=83=97=E4=B8=8A=E9=99=90=E3=81=AE=E8=A8=AD=E5=AE=9A=E3=82=92?= =?UTF-8?q?=E3=80=81=E3=83=AD=E3=83=BC=E3=82=AB=E3=83=AB=E3=83=A6=E3=83=BC?= =?UTF-8?q?=E3=82=B6=E3=83=BC=E5=90=91=E3=81=91=E3=81=A8=E5=A4=96=E9=83=A8?= =?UTF-8?q?=E3=82=B5=E3=83=BC=E3=83=90=E3=83=BC=E3=83=A6=E3=83=BC=E3=82=B6?= =?UTF-8?q?=E3=83=BC=E5=90=91=E3=81=91=E3=81=AE=E3=82=82=E3=81=AE=E3=81=AB?= =?UTF-8?q?=E5=88=86=E3=81=91=E3=82=8B=20(#553)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/lib/activitypub/activity/like.rb | 2 +- app/models/emoji_reaction.rb | 1 + app/serializers/rest/instance_serializer.rb | 1 + app/serializers/rest/v1/instance_serializer.rb | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/like.rb b/app/lib/activitypub/activity/like.rb index 065a2a7d9a..dd02e9ffcf 100644 --- a/app/lib/activitypub/activity/like.rb +++ b/app/lib/activitypub/activity/like.rb @@ -46,7 +46,7 @@ class ActivityPub::Activity::Like < ActivityPub::Activity reaction = nil with_redis_lock("emoji_reaction:#{@original_status.id}") do - return if EmojiReaction.where(account: @account, status: @original_status).count >= EmojiReaction::EMOJI_REACTION_PER_ACCOUNT_LIMIT + return if EmojiReaction.where(account: @account, status: @original_status).count >= EmojiReaction::EMOJI_REACTION_PER_REMOTE_ACCOUNT_LIMIT return if EmojiReaction.find_by(account: @account, status: @original_status, name: shortcode) reaction = @original_status.emoji_reactions.create!(account: @account, name: shortcode, custom_emoji: emoji, uri: @json['id']) diff --git a/app/models/emoji_reaction.rb b/app/models/emoji_reaction.rb index 7eebe81cb1..2534cfebe2 100644 --- a/app/models/emoji_reaction.rb +++ b/app/models/emoji_reaction.rb @@ -19,6 +19,7 @@ class EmojiReaction < ApplicationRecord 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 update_index('statuses', :status) diff --git a/app/serializers/rest/instance_serializer.rb b/app/serializers/rest/instance_serializer.rb index 38010e4949..c3070b6852 100644 --- a/app/serializers/rest/instance_serializer.rb +++ b/app/serializers/rest/instance_serializer.rb @@ -90,6 +90,7 @@ class REST::InstanceSerializer < ActiveModel::Serializer emoji_reactions: { max_reactions: EmojiReaction::EMOJI_REACTION_LIMIT, max_reactions_per_account: EmojiReaction::EMOJI_REACTION_PER_ACCOUNT_LIMIT, + max_reactions_per_remote_account: EmojiReaction::EMOJI_REACTION_PER_REMOTE_ACCOUNT_LIMIT, }, reaction_deck: { diff --git a/app/serializers/rest/v1/instance_serializer.rb b/app/serializers/rest/v1/instance_serializer.rb index 74ceec385b..57a1e80713 100644 --- a/app/serializers/rest/v1/instance_serializer.rb +++ b/app/serializers/rest/v1/instance_serializer.rb @@ -92,6 +92,7 @@ class REST::V1::InstanceSerializer < ActiveModel::Serializer emoji_reactions: { max_reactions: EmojiReaction::EMOJI_REACTION_LIMIT, max_reactions_per_account: EmojiReaction::EMOJI_REACTION_PER_ACCOUNT_LIMIT, + max_reactions_per_remote_account: EmojiReaction::EMOJI_REACTION_PER_REMOTE_ACCOUNT_LIMIT, }, reaction_deck: {