From f980e9eb6dd92b6dea03602c0b20c5a3db91a31e Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Thu, 12 Mar 2026 14:25:08 -0500 Subject: [PATCH] fix: preserve NetBox url/api_token in netbox_config across re-renders Sync direction button clicks (phx-click) triggered a LiveView re-render that reset the url and api_token inputs to their saved DB values, wiping any unsaved typed text. Fix by tracking url and api_token in @netbox_config so they survive click-triggered re-renders. --- lib/towerops_web/live/org/settings_live.ex | 6 ++++++ lib/towerops_web/live/org/settings_live.html.heex | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/towerops_web/live/org/settings_live.ex b/lib/towerops_web/live/org/settings_live.ex index b636023d..1deab69b 100644 --- a/lib/towerops_web/live/org/settings_live.ex +++ b/lib/towerops_web/live/org/settings_live.ex @@ -442,6 +442,8 @@ defmodule ToweropsWeb.Org.SettingsLive do socket = if socket.assigns.configuring == "netbox" do assign(socket, :netbox_config, %{ + "url" => Map.get(params, "url", ""), + "api_token" => Map.get(params, "api_token", ""), "sync_direction" => Map.get(params, "sync_direction", "pull"), "sync_devices" => Map.get(params, "sync_devices", "true") == "true", "sync_sites" => Map.get(params, "sync_sites", "true") == "true", @@ -921,6 +923,8 @@ defmodule ToweropsWeb.Org.SettingsLive do defp default_netbox_config do %{ + "url" => "", + "api_token" => "", "sync_direction" => "pull", "sync_devices" => true, "sync_sites" => true, @@ -936,6 +940,8 @@ defmodule ToweropsWeb.Org.SettingsLive do defp load_netbox_config(%Integration{credentials: creds}) when is_map(creds) do %{ + "url" => Map.get(creds, "url", ""), + "api_token" => Map.get(creds, "api_token", ""), "sync_direction" => Map.get(creds, "sync_direction", "pull"), "sync_devices" => Map.get(creds, "sync_devices", true), "sync_sites" => Map.get(creds, "sync_sites", true), diff --git a/lib/towerops_web/live/org/settings_live.html.heex b/lib/towerops_web/live/org/settings_live.html.heex index 4daa36a0..bf830413 100644 --- a/lib/towerops_web/live/org/settings_live.html.heex +++ b/lib/towerops_web/live/org/settings_live.html.heex @@ -1204,7 +1204,7 @@