]> cat aescling's git repositories - mastodon.git/commitdiff
Fix activity not being signed (#13948)
authorTakeshi Umeda <noel.yoshiba@gmail.com>
Wed, 3 Jun 2020 06:33:30 +0000 (15:33 +0900)
committerGitHub <noreply@github.com>
Wed, 3 Jun 2020 06:33:30 +0000 (08:33 +0200)
app/services/concerns/payloadable.rb

index 7f9f21c4b95f49eb82ca4cf4e5aa9b14ca0ed556..3e45570c3468a2909e6c4d390f4fd1987c7f5d85 100644 (file)
@@ -5,8 +5,9 @@ module Payloadable
     signer    = options.delete(:signer)
     sign_with = options.delete(:sign_with)
     payload   = ActiveModelSerializers::SerializableResource.new(record, options.merge(serializer: serializer, adapter: ActivityPub::Adapter)).as_json
+    object    = record.respond_to?(:virtual_object) ? record.virtual_object : record
 
-    if (record.respond_to?(:sign?) && record.sign?) && signer && signing_enabled?
+    if (object.respond_to?(:sign?) && object.sign?) && signer && signing_enabled?
       ActivityPub::LinkedDataSignature.new(payload).sign!(signer, sign_with: sign_with)
     else
       payload