Fetch the same data from json webfinger as from xml webfinger.
[akkoma] / lib / pleroma / web / streamer.ex
index 9f10800154cd24b46c9f5ebc74889f12e79b06a1..a417178bae0e781f82d3af32dfdfafee620b6ae5 100644 (file)
@@ -1,7 +1,6 @@
 defmodule Pleroma.Web.Streamer do
   use GenServer
   require Logger
-  import Plug.Conn
   alias Pleroma.{User, Notification}
 
   def start_link do
@@ -38,17 +37,6 @@ defmodule Pleroma.Web.Streamer do
     {:noreply, topics}
   end
 
-  def push_to_socket(topics, topic, item) do
-    Enum.each(topics[topic] || [], fn (socket) ->
-      json = %{
-        event: "update",
-        payload: Pleroma.Web.MastodonAPI.StatusView.render("status.json", activity: item, for: socket.assigns[:user]) |> Poison.encode!
-      } |> Poison.encode!
-
-      send socket.transport_pid, {:text, json}
-    end)
-  end
-
   def handle_cast(%{action: :stream, topic: "user", item: %Notification{} = item}, topics) do
     topic = "user:#{item.user_id}"
     Enum.each(topics[topic] || [], fn (socket) ->
@@ -80,18 +68,12 @@ defmodule Pleroma.Web.Streamer do
     {:noreply, topics}
   end
 
-  defp internal_topic("user", socket) do
-    "user:#{socket.assigns[:user].id}"
-  end
-  defp internal_topic(topic, socket), do: topic
-
   def handle_cast(%{action: :add, topic: topic, socket: socket}, sockets) do
     topic = internal_topic(topic, socket)
     sockets_for_topic = sockets[topic] || []
     sockets_for_topic = Enum.uniq([socket | sockets_for_topic])
     sockets = Map.put(sockets, topic, sockets_for_topic)
     Logger.debug("Got new conn for #{topic}")
-    IO.inspect(sockets)
     {:noreply, sockets}
   end
 
@@ -101,12 +83,28 @@ defmodule Pleroma.Web.Streamer do
     sockets_for_topic = List.delete(sockets_for_topic, socket)
     sockets = Map.put(sockets, topic, sockets_for_topic)
     Logger.debug("Removed conn for #{topic}")
-    IO.inspect(sockets)
     {:noreply, sockets}
   end
 
   def handle_cast(m, state) do
-    IO.inspect("Unknown: #{inspect(m)}, #{inspect(state)}")
+    Logger.info("Unknown: #{inspect(m)}, #{inspect(state)}")
     {:noreply, state}
   end
+
+  def push_to_socket(topics, topic, item) do
+    Enum.each(topics[topic] || [], fn (socket) ->
+      json = %{
+        event: "update",
+        payload: Pleroma.Web.MastodonAPI.StatusView.render("status.json", activity: item, for: socket.assigns[:user]) |> Poison.encode!
+      } |> Poison.encode!
+
+      send socket.transport_pid, {:text, json}
+    end)
+  end
+
+  defp internal_topic("user", socket) do
+    "user:#{socket.assigns[:user].id}"
+  end
+
+  defp internal_topic(topic, _), do: topic
 end