livebook-dev/kino

Add support for rendering LiveViews

Closed this issue · 2 comments

This could make it a great playground for teaching LiveView. This will require two features on the Phoenix side:

  1. The ability to sanitize HTML from LiveView side
  2. The ability in Phoenix to spawn channels in remote nodes

Probably via a socket configuration here: https://github.com/phoenixframework/phoenix/blob/master/lib/phoenix/channel/server.ex#L26

Closing this one for now because, while the above is doable, there is still another huge open question, which is CSS, and at the moment I am not convinced the work and the limitations make it worth.

Plus there is also the issue that the client is in Livebook and it works only for certain LiveView versions while the notebook will install its own LiveView which may have another version. And the only way to address this is to tie those together, which will affect the notebook reproducibility.

dkuku commented

I have some ideas when reading this issue.
I was thinking about rendering generic html and also liveviews. Maybe rendering it in an iframe is the solution for css.
And for this liveview versions - can it maybe be solved by using hot code reloading somehow - the 2 module versions running at the same time sounds like designed exactly for this problem.