Add LiveStash to backfill page, recover limit on reconnect

This commit is contained in:
Graham McIntire 2026-04-02 13:13:23 -05:00
parent c1da0f20b1
commit 59665a5009
No known key found for this signature in database
GPG key ID: F4ABF488E6029E59

View file

@ -1,6 +1,7 @@
defmodule MicrowavepropWeb.BackfillLive do
@moduledoc false
use MicrowavepropWeb, :live_view
use LiveStash
import Ecto.Query
@ -20,16 +21,22 @@ defmodule MicrowavepropWeb.BackfillLive do
unprocessed = count_unprocessed()
total_contacts = Repo.aggregate(from(c in Contact, where: not is_nil(c.pos1)), :count)
{:ok,
assign(socket,
page_title: "Backfill",
limit: 500,
stats: stats,
unprocessed: unprocessed,
total_contacts: total_contacts,
last_enqueued: nil,
enqueuing: false
)}
case LiveStash.recover_state(socket) do
{:recovered, socket} ->
{:ok, assign(socket, stats: stats, unprocessed: unprocessed, total_contacts: total_contacts)}
_ ->
{:ok,
assign(socket,
page_title: "Backfill",
limit: 500,
stats: stats,
unprocessed: unprocessed,
total_contacts: total_contacts,
last_enqueued: nil,
enqueuing: false
)}
end
end
@impl true
@ -44,7 +51,7 @@ defmodule MicrowavepropWeb.BackfillLive do
send(pid, {:enqueued, count})
end)
{:noreply, assign(socket, enqueuing: true)}
{:noreply, socket |> assign(enqueuing: true, limit: limit) |> LiveStash.stash_assigns([:limit])}
end
@impl true