Add: #446 スタンプ上限の設定を、ローカルユーザー向けと外部サーバーユーザー向けのものに分ける (#553)

This commit is contained in:
KMY(雪あすか) 2024-02-15 12:53:11 +09:00 committed by GitHub
parent a51da9243e
commit 8a29aef842
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 4 additions and 1 deletions

View file

@ -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'])

View file

@ -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)

View file

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

View file

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