]> cat aescling's git repositories - mastodon.git/commitdiff
Fallback from perform_via_activitypub on private posts (#4758)
authorunarist <m.unarist@gmail.com>
Fri, 1 Sep 2017 10:33:02 +0000 (19:33 +0900)
committerEugen Rochko <eugen@zeonfederated.com>
Fri, 1 Sep 2017 10:33:02 +0000 (12:33 +0200)
Currently, private / direct posts via OStatus from AP compatible instance will be dropped due to failing to fetch AP version.

So this fallbacks to OStatus handling:

* when failed to fetch ActivityPub version
* when status is neither :public nor :unlisted

app/lib/ostatus/activity/creation.rb

index 12488ab31bd59bcc5bd1ea23b94aa49d450c052b..b28239a05b6ad2215a31db463cc9a42d096bbbee 100644 (file)
@@ -8,7 +8,11 @@ class OStatus::Activity::Creation < OStatus::Activity::Base
     end
 
     return [nil, false] if @account.suspended?
-    return perform_via_activitypub if activitypub_uri?
+
+    if activitypub_uri? && [:public, :unlisted].include?(visibility_scope)
+      result = perform_via_activitypub
+      return result if result.first.present?
+    end
 
     Rails.logger.debug "Creating remote status #{id}"