Skip to content

Live Debugger stops working after template change. #378

@Benjamin-van-Heerden

Description

@Benjamin-van-Heerden

Bug Description

As title implies, the live debugger functionality, both in extension and dedicated tab stops working after a change to the heex template. So what happens is that event tracking in the callback traces works fine, but after a change to the current template it stops and requires a server restart to get back to working.

Actual Behavior

Very simple live view

defmodule StudiiWeb.Client.Index do
  use StudiiWeb, :client_live_view

  def handle_event("test", _unsigned_params, socket) do
    {:noreply, socket}
  end
end

with lib/studii_web/live/client/index.html.heex:

<StudiiWeb.Layouts.page>
  <StudiiWeb.CoreComponents.button phx-click="test">
    this
  </StudiiWeb.CoreComponents.button>
</StudiiWeb.Layouts.page>

The StudiiWeb.Layouts.page is just a div wrapper, nothing fancy, the button is the normal button exposed in core_components.ex when creating a new phoenix project

When I start the server and click the button a couple of times

Image

After I change index.html.heex to this

<StudiiWeb.Layouts.page>
  <StudiiWeb.CoreComponents.button phx-click="test">
    this
  </StudiiWeb.CoreComponents.button>
  <p>that</p>
</StudiiWeb.Layouts.page>

(i.e. add the p tag)

Callback traces stop, no render, nothing when I click the button, does not work when I record. Changes to the assigns state also no longer reflect. Nothing

Image

Requires a full server restart to work again.

Expected Behavior

That the debugger continues working and tracking callback traces.

Steps to Reproduce

  • New phoenix 1.8 project
  • Install live_debugger through igniter
  • Create a simple live view with accompanying heex template
  • Check debugger is working
  • Make a change to heex template -> no longer working

The description I gave in the "Actual Behavior" pretty much outlines it exactly

Elixir version with Erlang/OTP

Erlang/OTP 27 [erts-15.2.6] [source] [64-bit] [smp:20:20] [ds:20:20:10] [async-threads:1] [jit:ns] Elixir 1.18.3 (compiled with Erlang/OTP 27)

LiveDebugger version

  • live_debugger 0.2.1 (Hex package) (mix) locked at 0.2.1 (live_debugger) 86059c3a

Phoenix version

  • phoenix 1.8.0-rc.3 (Hex package) (mix) locked at 1.8.0-rc.3 (phoenix) 419422af

Phoenix LiveView version

  • phoenix_live_view 1.0.11 (Hex package) (mix) locked at 1.0.11 (phoenix_live_view) 522b8c16

Operating system

Ubuntu 22.04

Browser(s)

Chromium

Metadata

Metadata

Labels

bugSomething isn't working

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions