瀏覽代碼

Avoid sending some ActivityPub payloads if the receiver will get them through distribution (#4739)

Eugen Rochko 6 年之前
父節點
當前提交
390bfec6da
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 1
      app/services/process_mentions_service.rb
  2. 1 1
      app/services/reblog_service.rb

+ 1 - 1
app/services/process_mentions_service.rb

@@ -41,7 +41,7 @@ class ProcessMentionsService < BaseService
       NotifyService.new.call(mentioned_account, mention)
     elsif mentioned_account.ostatus? && (Rails.configuration.x.use_ostatus_privacy || !status.stream_entry.hidden?)
       NotificationWorker.perform_async(stream_entry_to_xml(status.stream_entry), status.account_id, mentioned_account.id)
-    elsif mentioned_account.activitypub?
+    elsif mentioned_account.activitypub? && !mentioned_account.following?(status.account)
       ActivityPub::DeliveryWorker.perform_async(build_json(mention.status), mention.status.account_id, mentioned_account.inbox_url)
     end
   end

+ 1 - 1
app/services/reblog_service.rb

@@ -36,7 +36,7 @@ class ReblogService < BaseService
       NotifyService.new.call(reblogged_status.account, reblog)
     elsif reblogged_status.account.ostatus?
       NotificationWorker.perform_async(stream_entry_to_xml(reblog.stream_entry), reblog.account_id, reblogged_status.account_id)
-    elsif reblogged_status.account.activitypub?
+    elsif reblogged_status.account.activitypub? && !reblogged_status.account.following?(reblog.account)
       ActivityPub::DeliveryWorker.perform_async(build_json(reblog), reblog.account_id, reblogged_status.account.inbox_url)
     end
   end