After some internal discussion this isn't a bug but just that we're not handling navigation events that do disconnect gracefully enough.
Some changes we should do for this:
We shouldn't render the Disconnected view in the midst of a navigation, as LiveView's own programming model expects there to be disconnects during navigation events from time to time
We need to implement a method so that if we download a parse a stylesheet from a given URL if they app reconnects and it is the same URL then we don't fetch and don't re-parse the stylesheet, we rely upon the current cache of the parsed stylesheet.
I've been meaning to request a method for LiveView so that the dead render can just give us connection information. This way we can avoid the overhead of a slower dead render.
Video:
https://github.com/user-attachments/assets/1d5b8bc2-483d-4c3d-a806-6495190f6bb3
Log: