X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fchat_channel.ex;h=ac28f300b645625a3ac639ae6a41f7b90ef6f29f;hb=bee6acd51dc4e84e44caecf9d123dfff2f640a38;hp=ddc1d6f80ebb026f5c6da12ffd1baf68b466e76d;hpb=2fab3c44f5a8fd5c2729d10330dae377ab60abdc;p=akkoma diff --git a/lib/pleroma/web/chat_channel.ex b/lib/pleroma/web/chat_channel.ex index ddc1d6f80..ac28f300b 100644 --- a/lib/pleroma/web/chat_channel.ex +++ b/lib/pleroma/web/chat_channel.ex @@ -1,3 +1,7 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2018 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + defmodule Pleroma.Web.ChatChannel do use Phoenix.Channel alias Pleroma.Web.ChatChannel.ChatChannelState @@ -9,19 +13,21 @@ defmodule Pleroma.Web.ChatChannel do end def handle_info(:after_join, socket) do - push socket, "messages", %{messages: ChatChannelState.messages()} + push(socket, "messages", %{messages: ChatChannelState.messages()}) {:noreply, socket} end def handle_in("new_msg", %{"text" => text}, %{assigns: %{user_name: user_name}} = socket) do text = String.trim(text) + if String.length(text) > 0 do author = User.get_cached_by_nickname(user_name) author = Pleroma.Web.MastodonAPI.AccountView.render("account.json", user: author) message = ChatChannelState.add_message(%{text: text, author: author}) - broadcast! socket, "new_msg", message + broadcast!(socket, "new_msg", message) end + {:noreply, socket} end end @@ -43,6 +49,6 @@ defmodule Pleroma.Web.ChatChannel.ChatChannelState do end def messages() do - Agent.get(__MODULE__, fn state -> state[:messages] |> Enum.reverse end) + Agent.get(__MODULE__, fn state -> state[:messages] |> Enum.reverse() end) end end