X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fchat_channel.ex;h=37eba8c3f6648bd522d11261fed6819813df427d;hb=89c5de90969cbd2b7cd5854c7209795443659062;hp=48a3553bf0447192f275683ef048d3d331d41a0e;hpb=314f4775c580552543ae7d26d66942b450ba136b;p=akkoma diff --git a/lib/pleroma/web/chat_channel.ex b/lib/pleroma/web/chat_channel.ex index 48a3553bf..37eba8c3f 100644 --- a/lib/pleroma/web/chat_channel.ex +++ b/lib/pleroma/web/chat_channel.ex @@ -9,16 +9,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 - 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}) + 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) + end - broadcast! socket, "new_msg", message {:noreply, socket} end end @@ -40,6 +45,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