Change: #185 『スタンプをつけられた人』ではなく『スタンプをつけた人』のフォロワーにスタンプを転送 (#232)

* Change: #185 『スタンプをつけられた人』ではなく『スタンプをつけた人』のフォロワーにスタンプを転送

* Fix: 絵文字削除が届かない問題

* Test: 送る方にも同じテストを追加
This commit is contained in:
KMY(雪あすか) 2023-11-04 21:27:59 +09:00 committed by GitHub
parent a1d197dfef
commit 24909f9760
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 134 additions and 91 deletions

View file

@ -46,29 +46,15 @@ class EmojiReactService < BaseService
def create_notification
status = @emoji_reaction.status
return unless status.account.local?
return unless status.account.user&.setting_enable_emoji_reaction
if status.account.local?
if status.account.user&.setting_enable_emoji_reaction
LocalNotificationWorker.perform_async(status.account_id, @emoji_reaction.id, 'EmojiReaction', 'reaction') if status.account.user&.setting_emoji_reaction_streaming_notify_impl2
LocalNotificationWorker.perform_async(status.account_id, @emoji_reaction.id, 'EmojiReaction', 'emoji_reaction')
end
elsif status.account.activitypub?
ActivityPub::DeliveryWorker.perform_async(payload, @emoji_reaction.account_id, status.account.inbox_url)
end
LocalNotificationWorker.perform_async(status.account_id, @emoji_reaction.id, 'EmojiReaction', 'reaction') if status.account.user&.setting_emoji_reaction_streaming_notify_impl2
LocalNotificationWorker.perform_async(status.account_id, @emoji_reaction.id, 'EmojiReaction', 'emoji_reaction')
end
def notify_to_followers
status = @emoji_reaction.status
return unless status.account.local?
ActivityPub::DeliveryWorker.push_bulk(inboxes, limit: 1_000) do |inbox_url|
[payload, @status.account.id, inbox_url]
end
end
def inboxes
StatusReachFinder.new(@status).all_inboxes
ActivityPub::EmojiReactionDistributionWorker.perform_async(@emoji_reaction.id)
end
def write_stream!