From 1e67d25856f5a164059e73d101e40c7bbca70185 Mon Sep 17 00:00:00 2001 From: KMY Date: Tue, 28 Feb 2023 14:48:55 +0900 Subject: [PATCH] Fix removing activitypub emoji reaction --- app/services/un_emoji_react_service.rb | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/app/services/un_emoji_react_service.rb b/app/services/un_emoji_react_service.rb index 69b1a93929..5ff45af935 100644 --- a/app/services/un_emoji_react_service.rb +++ b/app/services/un_emoji_react_service.rb @@ -5,20 +5,16 @@ class UnEmojiReactService < BaseService include Payloadable def call(account_id, status_id, emoji_reaction = nil) - @account_id = account_id - @account = Account.find(account_id) - @status = Status.find(status_id) - - p '==================================== DEBUG' - p emoji_reaction + @status = Status.find(status_id) if emoji_reaction emoji_reaction.destroy! - create_notification(emoji_reaction) if !@account.local? && @account.activitypub? - notify_to_followers(emoji_reaction) if @account.local? + create_notification(emoji_reaction) if !@status.account.local? && @status.account.activitypub? + notify_to_followers(emoji_reaction) if @status.account.local? write_stream(emoji_reaction) else - bulk(@account, @status) + account = Account.find(account_id) + bulk(account, @status) end emoji_reaction end @@ -32,11 +28,11 @@ class UnEmojiReactService < BaseService end def create_notification(emoji_reaction) - ActivityPub::DeliveryWorker.perform_async(build_json(emoji_reaction), @account_id, @account.inbox_url) + ActivityPub::DeliveryWorker.perform_async(build_json(emoji_reaction), emoji_reaction.account_id, @status.account.inbox_url) end def notify_to_followers(emoji_reaction) - ActivityPub::RawDistributionWorker.perform_async(build_json(emoji_reaction), @account_id) + ActivityPub::RawDistributionWorker.perform_async(build_json(emoji_reaction), @status.account_id) end def write_stream(emoji_reaction) @@ -49,7 +45,7 @@ class UnEmojiReactService < BaseService emoji_group = { 'name' => emoji_reaction.name, 'count' => 0, 'account_ids' => [], 'status_id' => @status.id.to_s } emoji_group['domain'] = emoji_reaction.custom_emoji.domain if emoji_reaction.custom_emoji end - FeedAnyJsonWorker.perform_async(render_emoji_reaction(emoji_group), @status.id, @account_id) + FeedAnyJsonWorker.perform_async(render_emoji_reaction(emoji_group), @status.id, emoji_reaction.account_id) end def build_json(emoji_reaction)