From 62dd0b7f9c76aac7ea9ad144bec7416eb4fec4ee Mon Sep 17 00:00:00 2001
From: ThibG <thib@sitedethib.com>
Date: Thu, 21 Mar 2019 14:24:09 +0100
Subject: [PATCH] Fix processing poll Updates (#10333)

ActivityPub::ProcessPollService was checking the JSON-LD context although
it was passed only the `Question` object embedded in the `Update` activity.
---
 app/services/activitypub/fetch_remote_poll_service.rb | 1 +
 app/services/activitypub/process_poll_service.rb      | 6 +-----
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/app/services/activitypub/fetch_remote_poll_service.rb b/app/services/activitypub/fetch_remote_poll_service.rb
index 44a23712c3..854a32d050 100644
--- a/app/services/activitypub/fetch_remote_poll_service.rb
+++ b/app/services/activitypub/fetch_remote_poll_service.rb
@@ -5,6 +5,7 @@ class ActivityPub::FetchRemotePollService < BaseService
 
   def call(poll, on_behalf_of = nil)
     json = fetch_resource(poll.status.uri, true, on_behalf_of)
+    return unless supported_context?(json)
     ActivityPub::ProcessPollService.new.call(poll, json)
   end
 end
diff --git a/app/services/activitypub/process_poll_service.rb b/app/services/activitypub/process_poll_service.rb
index ee248169d9..61357abd3c 100644
--- a/app/services/activitypub/process_poll_service.rb
+++ b/app/services/activitypub/process_poll_service.rb
@@ -5,7 +5,7 @@ class ActivityPub::ProcessPollService < BaseService
 
   def call(poll, json)
     @json = json
-    return unless supported_context? && expected_type?
+    return unless expected_type?
 
     previous_expires_at = poll.expires_at
 
@@ -54,10 +54,6 @@ class ActivityPub::ProcessPollService < BaseService
 
   private
 
-  def supported_context?
-    super(@json)
-  end
-
   def expected_type?
     equals_or_includes_any?(@json['type'], %w(Question))
   end
-- 
GitLab