DaAnalyst

DaAnalyst

Parent-child LV bugs I don't have a minimal app to demo yet

So, before I allocate the time required to build a demo app reproducing these two, is there someone else who encountered the two bugs (and may have a demo for them)?

Both bugs regard having a parent and a child live view where the child is initialized with some of the assigns from the parent as in:

  <%= 
    live_render( 
      @socket, 
      MyApp.ChildView, 
      id: "child-view", 
      session: %{ "some_state" => @some_state, "some_other_state" => @some_other_state}
    )
  %>

Bug #1:
Initially, the parent live view does not have any streams to render nor any live components that render streams. The child live view has a live component with a stream. At some point the parent LiveView renders a modal live component and everything is still working. Then, in one of the modal steps, the parent live view’s modal live component renders its first stream. Sometimes, the bug manifests already here in terms of the child live view’s live component stream completely resetting (to 0 elements), but most of the time it passes this stage. Then, in a next step the parent’s live component opens another stream and here the child live view’s live component stream resets for sure.

I double checked everything and the streams are not even called the same (although it should not matter as those are all completely separately managed states) and the ids are all unique.

This exact same setup works well when all the live components with their streams are part of a single live view instance, i.e. if there are no parent and child liveview.

Bug #2:
When there’s a RuntimeException in the mount/3 of the child live view, more often than not, it does not get logged at all.

Thanks

Where Next?

Popular in Questions Top

joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New

Other popular topics Top

nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54921 245
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 49084 226
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New

We're in Beta

About us Mission Statement