Address incoming messages to followers.
[akkoma] / lib / pleroma / web / ostatus / ostatus.ex
index 2a107b6a652febb0d499c977c2a0257f839a3c56..f335e9972abfc52ffaf968029eecf782aeb3eb9e 100644 (file)
@@ -124,7 +124,7 @@ defmodule Pleroma.Web.OStatus do
     if !Object.get_cached_by_ap_id(inReplyTo) do
       inReplyToHref = string_from_xpath("//thr:in-reply-to[1]/@href", entry)
       if inReplyToHref do
-        Task.start(fn -> fetch_activity_from_html_url(inReplyToHref) end)
+        fetch_activity_from_html_url(inReplyToHref)
       end
     end
 
@@ -143,7 +143,8 @@ defmodule Pleroma.Web.OStatus do
               end
 
     to = [
-      "https://www.w3.org/ns/activitystreams#Public"
+      "https://www.w3.org/ns/activitystreams#Public",
+      User.ap_followers(actor)
     ]
 
     mentions = :xmerl_xpath.string('//link[@rel="mentioned" and @ostatus:object-type="http://activitystrea.ms/schema/1.0/person"]', entry)
@@ -274,9 +275,9 @@ defmodule Pleroma.Web.OStatus do
   end
 
   def fetch_activity_from_html_url(url) do
-    with {:ok, %{body: body}} <- @httpoison.get(url),
+    with {:ok, %{body: body}} <- @httpoison.get(url, [], follow_redirect: true),
          {:ok, atom_url} <- get_atom_url(body),
-         {:ok, %{status_code: code, body: body}} when code in 200..299 <- @httpoison.get(atom_url) do
+         {:ok, %{status_code: code, body: body}} when code in 200..299 <- @httpoison.get(atom_url, [], follow_redirect: true) do
       handle_incoming(body)
     end
   end