diff --git a/app/models/concerns/streamable.rb b/app/models/concerns/streamable.rb index 58c15cfbcea02d5a26a1ea3cf1743d796eabb4a8..910736dac6ac362976cb3f03192076b3961d5e21 100644 --- a/app/models/concerns/streamable.rb +++ b/app/models/concerns/streamable.rb @@ -30,8 +30,12 @@ module Streamable false end + def needs_stream_entry? + account.local? + end + after_create do - account.stream_entries.create!(activity: self, hidden: hidden?) if account.local? + account.stream_entries.create!(activity: self, hidden: hidden?) if needs_stream_entry? end end end diff --git a/app/models/follow_request.rb b/app/models/follow_request.rb index 080c686e53ba9bbfe2705467696fcbae99f97221..2755ba0abba2eb6f4e11ea9482f6ab3806137659 100644 --- a/app/models/follow_request.rb +++ b/app/models/follow_request.rb @@ -45,6 +45,10 @@ class FollowRequest < ApplicationRecord true end + def needs_stream_entry? + true + end + def title if destroyed? case @verb diff --git a/app/services/authorize_follow_service.rb b/app/services/authorize_follow_service.rb index 1590d843385363f9883f4029eb7fbb7ebb6d5df1..5370b4b61a5e404e8ad02d3dd8c0d41ba4a1e92f 100644 --- a/app/services/authorize_follow_service.rb +++ b/app/services/authorize_follow_service.rb @@ -7,5 +7,6 @@ class AuthorizeFollowService < BaseService follow_request = FollowRequest.find_by!(account: source_account, target_account: target_account) follow_request.authorize! NotificationWorker.perform_async(stream_entry_to_xml(follow_request.stream_entry), target_account.id, source_account.id) unless source_account.local? + follow_request.stream_entry.destroy end end diff --git a/app/services/reject_follow_service.rb b/app/services/reject_follow_service.rb index 0c568b981f2ed40c3437630d2c7f9433341730e9..a17d6a7bea07c986310a564b107df7abbb25af05 100644 --- a/app/services/reject_follow_service.rb +++ b/app/services/reject_follow_service.rb @@ -7,5 +7,6 @@ class RejectFollowService < BaseService follow_request = FollowRequest.find_by!(account: source_account, target_account: target_account) follow_request.reject! NotificationWorker.perform_async(stream_entry_to_xml(follow_request.stream_entry), target_account.id, source_account.id) unless source_account.local? + follow_request.stream_entry.destroy end end