about summary refs log tree commit diff
path: root/app/services/process_mentions_service.rb
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2018-12-30 09:48:59 +0100
committerEugen Rochko <eugen@zeonfederated.com>2018-12-30 09:48:59 +0100
commit290932602b32e3bdc2a4c5cb278fb73755a2cd52 (patch)
tree45403aa491d707bd683197abf602b72dcaad2b9a /app/services/process_mentions_service.rb
parentfb08039de58bee131e66c1a41db9d9f1f831d6e9 (diff)
Reduce usage of LD signatures (#9659)
* Do not LDS-sign Follow, Accept, Reject, Undo, Block

* Do not use LDS for Create activities of private toots

* Minor cleanup

* Ignore unsigned activities instead of misattributing them

* Use status.distributable? instead of querying visibility directly
Diffstat (limited to 'app/services/process_mentions_service.rb')
-rw-r--r--app/services/process_mentions_service.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/app/services/process_mentions_service.rb b/app/services/process_mentions_service.rb
index ec7d33b1d..2595c5fd3 100644
--- a/app/services/process_mentions_service.rb
+++ b/app/services/process_mentions_service.rb
@@ -60,11 +60,13 @@ class ProcessMentionsService < BaseService
   end
 
   def activitypub_json
-    @activitypub_json ||= Oj.dump(ActivityPub::LinkedDataSignature.new(ActiveModelSerializers::SerializableResource.new(
+    return @activitypub_json if defined?(@activitypub_json)
+    payload = ActiveModelSerializers::SerializableResource.new(
       @status,
       serializer: ActivityPub::ActivitySerializer,
       adapter: ActivityPub::Adapter
-    ).as_json).sign!(@status.account))
+    ).as_json
+    @activitypub_json = Oj.dump(@status.distributable? ? ActivityPub::LinkedDataSignature.new(payload).sign!(@status.account) : payload)
   end
 
   def resolve_account_service