1
0
Fork 0
forked from gitea/nas

Fix emoji reaction error

This commit is contained in:
KMY 2023-09-13 13:23:36 +09:00
parent 35c2bb9f44
commit 49197bf6c4
3 changed files with 4 additions and 4 deletions

View file

@ -108,7 +108,7 @@ class ActivityPub::Activity::Like < ActivityPub::Activity
end end
def write_stream(emoji_reaction) def write_stream(emoji_reaction)
emoji_group = @original_status.emoji_reactions_grouped_by_name emoji_group = @original_status.emoji_reactions_grouped_by_name(nil, force: true)
.find { |reaction_group| reaction_group['name'] == emoji_reaction.name && (!reaction_group.key?(:domain) || reaction_group['domain'] == emoji_reaction.custom_emoji&.domain) } .find { |reaction_group| reaction_group['name'] == emoji_reaction.name && (!reaction_group.key?(:domain) || reaction_group['domain'] == emoji_reaction.custom_emoji&.domain) }
emoji_group['status_id'] = @original_status.id.to_s emoji_group['status_id'] = @original_status.id.to_s
DeliveryEmojiReactionWorker.perform_async(render_emoji_reaction(emoji_group), @original_status.id, emoji_reaction.account_id) DeliveryEmojiReactionWorker.perform_async(render_emoji_reaction(emoji_group), @original_status.id, emoji_reaction.account_id)

View file

@ -349,9 +349,9 @@ class Status < ApplicationRecord
update_status_stat!(status_referred_by_count: [public_send(:status_referred_by_count) + diff, 0].max) update_status_stat!(status_referred_by_count: [public_send(:status_referred_by_count) + diff, 0].max)
end end
def emoji_reactions_grouped_by_name(account = nil) def emoji_reactions_grouped_by_name(account = nil, **options)
return [] if account.present? && !self.account.show_emoji_reaction?(account) return [] if account.present? && !self.account.show_emoji_reaction?(account)
return [] if account.nil? && self.account.emoji_reaction_policy != :allow return [] if account.nil? && !options[:force] && self.account.emoji_reaction_policy != :allow
(Oj.load(status_stat&.emoji_reactions || '', mode: :strict) || []).tap do |emoji_reactions| (Oj.load(status_stat&.emoji_reactions || '', mode: :strict) || []).tap do |emoji_reactions|
if account.present? if account.present?

View file

@ -65,7 +65,7 @@ class EmojiReactService < BaseService
end end
def write_stream(emoji_reaction) def write_stream(emoji_reaction)
emoji_group = emoji_reaction.status.emoji_reactions_grouped_by_name emoji_group = emoji_reaction.status.emoji_reactions_grouped_by_name(nil, force: true)
.find { |reaction_group| reaction_group['name'] == emoji_reaction.name && (!reaction_group.key?(:domain) || reaction_group['domain'] == emoji_reaction.custom_emoji&.domain) } .find { |reaction_group| reaction_group['name'] == emoji_reaction.name && (!reaction_group.key?(:domain) || reaction_group['domain'] == emoji_reaction.custom_emoji&.domain) }
emoji_group['status_id'] = emoji_reaction.status_id.to_s emoji_group['status_id'] = emoji_reaction.status_id.to_s
DeliveryEmojiReactionWorker.perform_async(render_emoji_reaction(emoji_group), emoji_reaction.status_id, emoji_reaction.account_id) DeliveryEmojiReactionWorker.perform_async(render_emoji_reaction(emoji_group), emoji_reaction.status_id, emoji_reaction.account_id)