diff options
-rw-r--r-- | lib/pleroma/web/fed_sockets/adapter.ex | 4 | ||||
-rw-r--r-- | lib/pleroma/web/fed_sockets/adapter/cowboy.ex | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/lib/pleroma/web/fed_sockets/adapter.ex b/lib/pleroma/web/fed_sockets/adapter.ex index 00ab2d056..edb22d1d9 100644 --- a/lib/pleroma/web/fed_sockets/adapter.ex +++ b/lib/pleroma/web/fed_sockets/adapter.ex @@ -43,7 +43,7 @@ defmodule Pleroma.Web.FedSockets.Adapter do {:noreply, waiting_fetches} end - def process_message(%{"action" => "fetch", "uuid" => uuid, "data" => ap_id}, _, _) do + def process_message(%{"action" => "fetch", "uuid" => uuid, "data" => ap_id}, _, waiting_fetches) do data = %{ "action" => "fetch_reply", "status" => "processed", @@ -51,7 +51,7 @@ defmodule Pleroma.Web.FedSockets.Adapter do "data" => represent_item(ap_id) } - {:reply, {:text, Jason.encode!(data)}} + {:reply, {:text, Jason.encode!(data)}, waiting_fetches} end def process_message( diff --git a/lib/pleroma/web/fed_sockets/adapter/cowboy.ex b/lib/pleroma/web/fed_sockets/adapter/cowboy.ex index 880af929c..107d80849 100644 --- a/lib/pleroma/web/fed_sockets/adapter/cowboy.ex +++ b/lib/pleroma/web/fed_sockets/adapter/cowboy.ex @@ -95,7 +95,7 @@ defmodule Pleroma.Web.FedSockets.Adapter.Cowboy do adapter_state: %{last_fetch_id_ref: last_fetch_id_ref, waiting_fetches: %{}} }) do {:ok, _owner} -> - {:ok, %{origin: origin}} + {:ok, %{origin: origin, waiting_fetches: %{}}} {:error, {:already_registered, _}} -> {:stop, origin} @@ -103,7 +103,7 @@ defmodule Pleroma.Web.FedSockets.Adapter.Cowboy do end @impl true - def websocket_handle(:ping, socket_info), do: {:ok, socket_info} + def websocket_handle(:ping, state), do: {:ok, state} def websocket_handle( {:text, raw_message}, @@ -111,7 +111,8 @@ defmodule Pleroma.Web.FedSockets.Adapter.Cowboy do ) do case Adapter.process_message(raw_message, origin, waiting_fetches) do {:reply, frame, waiting_fetches} -> - {:reply, frame, %{state | waiting_fetches: waiting_fetches}} + state = %{state | waiting_fetches: waiting_fetches} + {:reply, frame, state} {:noreply, waiting_fetches} -> {:ok, %{state | waiting_fetches: waiting_fetches}} |