about summary refs log tree commit diff
path: root/app/services/concerns
diff options
context:
space:
mode:
authorTakeshi Umeda <noel.yoshiba@gmail.com>2020-06-03 15:33:30 +0900
committerGitHub <noreply@github.com>2020-06-03 08:33:30 +0200
commit643065799bbb0a842a321a2a0434df347146b3e6 (patch)
treed492f198717df6cc8f4bd85219864a8ec51537a5 /app/services/concerns
parentfa75deb231fd855729837c243caaabd97ac2aa5d (diff)
Fix activity not being signed (#13948)
Diffstat (limited to 'app/services/concerns')
-rw-r--r--app/services/concerns/payloadable.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/app/services/concerns/payloadable.rb b/app/services/concerns/payloadable.rb
index 7f9f21c4b..3e45570c3 100644
--- a/app/services/concerns/payloadable.rb
+++ b/app/services/concerns/payloadable.rb
@@ -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