collegeimprovements
JS not working for Phoenix
Any JS command, push_patch etc are not working and giving the following error:
live_socket.js:377 Uncaught TypeError: Cannot read properties of null (reading 'el')
at LiveSocket.replaceMain (live_socket.js:377:60)
at live_socket.js:748:12
at LiveSocket.withPageLoading (live_socket.js:718:23)
at LiveSocket.historyRedirect (live_socket.js:747:10)
at Object.exec_navigate (js.js:58:21)
at js.js:17:22
at Array.forEach (<anonymous>)
at js.js:16:40
at Array.forEach (<anonymous>)
at Object.exec (js.js:12:14)
I’m having the following error when I try to apply push_patch.
** (ArgumentError) cannot push_patch/2 to
%URI{authority: nil, fragment: nil, host: "localhost", path: "/events/de98359c-9b32-4197-82f0-fa7b2e283646", port: 4000, query: nil, scheme: "http", userinfo: nil}
because the given path does not point to the current root view APIWeb.Ev.Index`
Relevant handle_event code:
@impl true
def handle_event("debug", %{"event" => event_guid} = _params, socket) do
socket
|> push_patch(to: "/events/#{event_guid}")
|> noreply_socket()
end
push_navigate works but it takes 10 seconds while normal anchor tag just works instantaneously.
What can I try here ?
LiveView Version: 0.18.16
Phoenix Version: 1.16
Marked As Solved
mcrumm
Someone reported a similar issue recently and it was resolved by making sure all dependencies were up-to-date, including making sure to rebuild client assets:
Does any of that advice apply in your case?
Also Liked
mcrumm
Here are the rules around LiveView navigation:
-
Patch is only for modifying the URL and staying on the current LiveView process. It only works for links to the current LiveView.
-
Navigate is to move between routes in the same live_session block in your Router. It can also be used to tear down the current LiveView process and start a new one.
Note that if you do not have any explicit live_session blocks in your Router then all live routes are in the default live session.
- Href is for everything else.
The slowness you are experiencing with navigate is all of the extra round-trips the client must do because the server returns errors on the invalid navigate call.
Edit: early submit ![]()
collegeimprovements
I nuked all the deps and reinstalled them and it fixed it.
Thanks a lot for your help ![]()
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








