From 44a9691df55b3563a9bd27412c3d05719d2878bb Mon Sep 17 00:00:00 2001 From: Jamil Date: Mon, 28 Jul 2025 12:24:58 -0400 Subject: [PATCH] refactor(portal): don't store account assoc on client (#10009) The full `account` struct is only used to render the client's interface, and doesn't need to be stored in the `client` struct when the `subject` struct already tracks it. --- elixir/apps/api/lib/api/client/channel.ex | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/elixir/apps/api/lib/api/client/channel.ex b/elixir/apps/api/lib/api/client/channel.ex index 75254345b..ea0e4fc13 100644 --- a/elixir/apps/api/lib/api/client/channel.ex +++ b/elixir/apps/api/lib/api/client/channel.ex @@ -169,10 +169,11 @@ defmodule API.Client.Channel do {:updated, %Accounts.Account{} = old_account, %Accounts.Account{} = account}, socket ) do - socket = assign(socket, client: %{socket.assigns.client | account: account}) + # update our cached subject's account + socket = assign(socket, subject: %{socket.assigns.subject | account: account}) if old_account.config != account.config do - payload = %{interface: Views.Interface.render(socket.assigns.client)} + payload = %{interface: Views.Interface.render(%{socket.assigns.client | account: account})} :ok = push(socket, "config_changed", payload) end