diff --git a/lib/towerops_web/live/device_live/index.ex b/lib/towerops_web/live/device_live/index.ex index 3a6cb5cb..95e070d1 100644 --- a/lib/towerops_web/live/device_live/index.ex +++ b/lib/towerops_web/live/device_live/index.ex @@ -282,15 +282,20 @@ defmodule ToweropsWeb.DeviceLive.Index do {:noreply, reload_device_stream(socket)} end - @tick_interval_ms if Mix.env() == :test, do: :infinity, else: to_timeout(second: 15) + defp tick_interval_ms do + if Mix.env() == :test, do: :infinity, else: to_timeout(second: 15) + end defp schedule_tick do - if @tick_interval_ms != :infinity do - Process.send_after(self(), :tick, @tick_interval_ms) + case tick_interval_ms() do + :infinity -> :ok + interval -> Process.send_after(self(), :tick, interval) end end - @debounce_ms if Mix.env() == :test, do: 0, else: 100 + defp debounce_ms do + if Mix.env() == :test, do: 0, else: 100 + end defp schedule_debounced_reload(socket, event) do # Cancel any pending debounced reload @@ -302,12 +307,14 @@ defmodule ToweropsWeb.DeviceLive.Index do if event == :device_status_changed && socket.assigns.active_tab == "discovered" do assign(socket, :pending_reload_ref, nil) else - if @debounce_ms == 0 do - # In test: reload immediately so render(view) sees the update - reload_device_stream(socket) - else - ref = Process.send_after(self(), :debounced_device_reload, @debounce_ms) - assign(socket, :pending_reload_ref, ref) + case debounce_ms() do + 0 -> + # In test: reload immediately so render(view) sees the update + reload_device_stream(socket) + + ms -> + ref = Process.send_after(self(), :debounced_device_reload, ms) + assign(socket, :pending_reload_ref, ref) end end end