CommonAPI: Create profile updates as public.
authorlain <lain@soykaf.club>
Sat, 5 Oct 2019 12:53:50 +0000 (14:53 +0200)
committerlain <lain@soykaf.club>
Sat, 5 Oct 2019 12:53:50 +0000 (14:53 +0200)
This saves us lots of sending out because we can use sharedInbox.

lib/pleroma/web/common_api/common_api.ex
test/web/common_api/common_api_test.exs

index ce73b3270841d3a29a20103b70c4a893ec4a852c..386408d51f24a7127be51caee97d319f1a5673bb 100644 (file)
@@ -16,6 +16,8 @@ defmodule Pleroma.Web.CommonAPI do
   import Pleroma.Web.Gettext
   import Pleroma.Web.CommonAPI.Utils
 
+  require Pleroma.Constants
+
   def follow(follower, followed) do
     timeout = Pleroma.Config.get([:activitypub, :follow_handshake_timeout])
 
@@ -271,7 +273,7 @@ defmodule Pleroma.Web.CommonAPI do
 
     ActivityPub.update(%{
       local: true,
-      to: [user.follower_address],
+      to: [Pleroma.Constants.as_public(), user.follower_address],
       cc: [],
       actor: user.ap_id,
       object: Pleroma.Web.ActivityPub.UserView.render("user.json", %{user: user})
index 2d3c41e82042cfb2934abbd2803da2d19d109043..83df44c36969d58b3e4574273a062f079c2c8484 100644 (file)
@@ -14,6 +14,8 @@ defmodule Pleroma.Web.CommonAPITest do
 
   import Pleroma.Factory
 
+  require Pleroma.Constants
+
   clear_config([:instance, :safe_dm_mentions])
   clear_config([:instance, :limit])
   clear_config([:instance, :max_pinned_statuses])
@@ -96,11 +98,13 @@ defmodule Pleroma.Web.CommonAPITest do
   test "it adds emoji when updating profiles" do
     user = insert(:user, %{name: ":firefox:"})
 
-    CommonAPI.update(user)
+    {:ok, activity} = CommonAPI.update(user)
     user = User.get_cached_by_ap_id(user.ap_id)
     [firefox] = user.info.source_data["tag"]
 
     assert firefox["name"] == ":firefox:"
+
+    assert Pleroma.Constants.as_public() in activity.recipients
   end
 
   describe "posting" do