about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/models/concerns/streamable.rb6
-rw-r--r--app/models/follow_request.rb4
-rw-r--r--app/services/authorize_follow_service.rb1
-rw-r--r--app/services/reject_follow_service.rb1
4 files changed, 11 insertions, 1 deletions
diff --git a/app/models/concerns/streamable.rb b/app/models/concerns/streamable.rb
index 58c15cfbc..910736dac 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 080c686e5..2755ba0ab 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 1590d8433..5370b4b61 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 0c568b981..a17d6a7be 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