Skip to content
Snippets Groups Projects
Commit 5945ec84 authored by lain's avatar lain
Browse files

Don't save user in socket, just save the name.

parent 69f1024b
Branches
No related tags found
No related merge requests found
......@@ -25,7 +25,7 @@ defmodule Pleroma.Web.UserSocket do
def connect(%{"token" => token}, socket) do
with {:ok, user_id} <- Phoenix.Token.verify(socket, "user socket", token, max_age: 84600),
%User{} = user <- Pleroma.Repo.get(User, user_id) do
{:ok, assign(socket, :user, user)}
{:ok, assign(socket, :user_name, user.nickname)}
else
_e -> :error
end
......
defmodule Pleroma.Web.ChatChannel do
use Phoenix.Channel
alias Pleroma.Web.ChatChannel.ChatChannelState
alias Pleroma.User
def join("chat:public", _message, socket) do
send(self(), :after_join)
......@@ -12,10 +13,10 @@ defmodule Pleroma.Web.ChatChannel do
{:noreply, socket}
end
def handle_in("new_msg", %{"text" => text}, socket) do
author = socket.assigns[:user]
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})
message = ChatChannelState.add_message(%{text: text, author: author})
broadcast! socket, "new_msg", message
{:noreply, socket}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment