Thanks for this, I had not seen this issue. Unsurprisingly Jose had a good idea of the problems to be solved long before I did ![]()
I should clarify that I think there are two separate problems here:
- The double render
- The duplicated API paths for dead/live renders (e.g. plug pipeline and
live_session)
The first is a performance problem which requires optimization. The double render can never be fully removed, only optimized away most of the time. And that’s okay, I think.
The second is a UX problem which is downstream of the way LiveView was designed: piece-by-piece on top of an existing framework. There is no reason to force developers to define this logic twice. Even if it has to be applied twice under the hood, I see no reason to leak that into the API. Especially in a security context, where mistakes are expensive!
IMO the second issue is much more egregious than the first. Maybe it can be fixed in LiveView, maybe not. But Hologram is a clean slate so this whole thing can be avoided.






















