diff options
author | lain <lain@soykaf.club> | 2020-05-13 08:12:09 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-05-13 08:12:09 +0000 |
commit | a5ccb5b0b1032b102c54d4df2e17c61423089e73 (patch) | |
tree | 48f8014dbdd9deb8b9aae1d894344c039c203918 /lib/pleroma/web/streamer/state.ex | |
parent | a6283bbae13a873af969336bd4e62011777a1a70 (diff) | |
parent | 2906cbbd40ea07c2ceb4d67e1c889cc7ab8b7662 (diff) | |
download | pleroma-2.0.5.tar.gz |
Merge branch 'release/2.0.5' into 'stable'v2.0.5
Release/2.0.5
See merge request pleroma/secteam/pleroma!4
Diffstat (limited to 'lib/pleroma/web/streamer/state.ex')
-rw-r--r-- | lib/pleroma/web/streamer/state.ex | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/lib/pleroma/web/streamer/state.ex b/lib/pleroma/web/streamer/state.ex index 999550b88..4eb462a1a 100644 --- a/lib/pleroma/web/streamer/state.ex +++ b/lib/pleroma/web/streamer/state.ex @@ -36,30 +36,28 @@ defmodule Pleroma.Web.Streamer.State do end def handle_call({:add, topic, socket}, _from, %{sockets: sockets} = state) do - internal_topic = internal_topic(topic, socket) stream_socket = StreamerSocket.from_socket(socket) sockets_for_topic = sockets - |> Map.get(internal_topic, []) + |> Map.get(topic, []) |> List.insert_at(0, stream_socket) |> Enum.uniq() - state = put_in(state, [:sockets, internal_topic], sockets_for_topic) + state = put_in(state, [:sockets, topic], sockets_for_topic) Logger.debug("Got new conn for #{topic}") {:reply, state, state} end def handle_call({:remove, topic, socket}, _from, %{sockets: sockets} = state) do - internal_topic = internal_topic(topic, socket) stream_socket = StreamerSocket.from_socket(socket) sockets_for_topic = sockets - |> Map.get(internal_topic, []) + |> Map.get(topic, []) |> List.delete(stream_socket) - state = Kernel.put_in(state, [:sockets, internal_topic], sockets_for_topic) + state = Kernel.put_in(state, [:sockets, topic], sockets_for_topic) {:reply, state, state} end @@ -70,13 +68,4 @@ defmodule Pleroma.Web.Streamer.State do defp do_remove_socket(_env, topic, socket) do GenServer.call(__MODULE__, {:remove, topic, socket}) end - - defp internal_topic(topic, socket) - when topic in ~w[user user:notification direct] do - "#{topic}:#{socket.assigns[:user].id}" - end - - defp internal_topic(topic, _) do - topic - end end |