From ade23645ee5821eb9dfbca1e40a9d840f5be3613 Mon Sep 17 00:00:00 2001 From: KMY Date: Sat, 19 Aug 2023 19:23:34 +0900 Subject: [PATCH] Fix removing status on antenna timeline --- app/services/batched_remove_status_service.rb | 9 +++++++++ app/services/remove_status_service.rb | 3 +++ streaming/index.js | 4 +++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/services/batched_remove_status_service.rb b/app/services/batched_remove_status_service.rb index f5cb339cdf..191854e0fd 100644 --- a/app/services/batched_remove_status_service.rb +++ b/app/services/batched_remove_status_service.rb @@ -47,6 +47,7 @@ class BatchedRemoveStatusService < BaseService unpush_from_home_timelines(account, account_statuses) unpush_from_list_timelines(account, account_statuses) + unpush_from_antenna_timelines(account, account_statuses) end # Cannot be batched @@ -76,6 +77,14 @@ class BatchedRemoveStatusService < BaseService end end + def unpush_from_antenna_timelines(_account, statuses) + Antenna.availables.select(:id, :account_id).includes(account: :user).reorder(nil).find_each do |antenna| + statuses.each do |status| + FeedManager.instance.unpush_from_antenna(antenna, status) + end + end + end + def unpush_from_public_timelines(status, pipeline) return unless status.public_visibility? && status.id > @status_id_cutoff diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb index 574237046b..2c80300298 100644 --- a/app/services/remove_status_service.rb +++ b/app/services/remove_status_service.rb @@ -81,6 +81,9 @@ class RemoveStatusService < BaseService Antenna.availables.where(list_id: 0).select(:id, :account_id).includes(account: :user).reorder(nil).find_each do |antenna| FeedManager.instance.unpush_from_home(antenna.account, @status) end + Antenna.availables.select(:id, :account_id).includes(account: :user).reorder(nil).find_each do |antenna| + FeedManager.instance.unpush_from_antenna(antenna, @status) + end end def remove_from_mentions diff --git a/streaming/index.js b/streaming/index.js index 7331e004ed..a7970659a2 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -486,6 +486,8 @@ const startServer = async () => { return 'direct'; case '/api/v1/streaming/list': return 'list'; + case '/api/v1/streaming/antenna': + return 'antenna'; default: return undefined; } @@ -1267,7 +1269,7 @@ const startServer = async () => { if (channelName === 'list') { return [channelName, params.list]; } else if (channelName === 'antenna') { - return [channelName, params.antenna]; + return [channelName, params.antenna]; } else if (['hashtag', 'hashtag:local'].includes(channelName)) { return [channelName, params.tag]; } else {