HEEX variables render `undefined` on websocket update

I’m trying to upgrade an existing app to 1.6 and having problems that my assigns are rendered properly on initial rendering but then are replace with undefined on page reload. Seems like its related to the case statement or calling another render function. which both don’t work. I however need as my example here is really slimmed down.

My Component

defmodule App.PaginationControlsComponent do
  use App, :component

  def render(assigns) do
    ~H"""
    <ul class="text-sm flex" id="pagination">
      <li><div class="mx-1 h-8 w-8 text-center">Current Page <%= @page %></div></li>
      <%= for i <- @data do %>
          <span class="works mx-0.5 h-8 w-8 rounded bg-green-800 border text-white font-semibold flex items-center justify-center"><%= i %></span>
          <%= case i do %>
          <% 1 -> %>
          <div class="mx-0.5 h-8 w-8 rounded bg-blue-800 border text-white font-semibold flex items-center justify-center">
              <span class="undefined">99</span>
          </div>
          <% _ -> %>
          <div class="mx-0.5 h-8 w-8 rounded bg-blue-800 border text-white font-semibold flex items-center justify-center">
          <span class="undefined"><%= i %></span>
          </div>
          <% end %>
        <%= paginate(%{page: i }) %>
      <% end %>
    </ul>
    """
  end

  def paginate(assigns) do
    ~H"""
    <div id={"pagination_#{@page}"} >
    <li >
      <div class="mx-0.5 h-8 w-8 rounded bg-red-800 border text-white font-semibold flex items-center justify-center">
        <%= @page %>
      </div>
    </li>
    </div>
    """
  end
end

after lv update I get undefined values

lv_update

how can I make this work.

… I recreated the post here in the phoenix forum as it went to the elixir section.