Problem with upgrading LiveView from 0.16 to 0.17/0.18

I’m running an old Phoenix LiveView app and today I wanted to upgrade from 0.16 to 0.17 (and eventually 0.18).

I have changed my mix.exs can ran mix deps.get and I can see the mix.lock being updated.

I have added import Phoenix.Component to PadelLisboaWeb.view_helpers

Changed all my .leex files to .heex and fixed all the errors/warnings when trying to build the app.

But somehow I have this strange issue that on initial loading, the page looks fine and it seems as soon as the WS connection is established, some content changes to “undefined”

undefined-phx-liveview

I have a feeling it’s a tiny little thing that I’ve forgotten in the upgrade process. Has anyone else experienced this issue? (for the GIF I’m actively pressing CMD + R to refresh the page)

1 Like

what are you using to build js assets? If you have a node/npm setup, you will need to bust your npm deps and refetch. It looks like you are still on the old js client.

3 Likes

Yes, you are right… Banging my head against the wall now… Thank you very much. :pray:

For anyone else coming across the same issue, don’t forget to update your js packages in assets/package.json

-    "phoenix": "1.6.0-rc.0",
-    "phoenix_html": "2.14.3",
-    "phoenix_live_view": "0.16.3",
+    "phoenix": "1.6.15",
+    "phoenix_html": "3.2.0",
+    "phoenix_live_view": "0.18.2"
1 Like