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: {