Problem. A clean EOF keeps the drawn tree and reconnects. A thrown fetch (or 5xx) replaces the whole page with the unreachable banner and discards a tree still in client state.
Why. Spec 83 D2 says state survives the socket and a reconnect is not a page reload. D5 requires unreachable to look different from empty. The current client meets D5 by swapping the whole view to a connection banner, which throws away a tree that is still valid.
Scope of a fix. Keep the last good tree on the page and put the connection state on a strip above it, the same way a clean EOF already does. Unreachable and empty must still look different.
Found in the spec 83 integration review (PR #104). Out of scope for that unit.
Related: #83
Problem. A clean EOF keeps the drawn tree and reconnects. A thrown
fetch(or 5xx) replaces the whole page with the unreachable banner and discards a tree still in client state.Why. Spec 83 D2 says state survives the socket and a reconnect is not a page reload. D5 requires unreachable to look different from empty. The current client meets D5 by swapping the whole view to a connection banner, which throws away a tree that is still valid.
Scope of a fix. Keep the last good tree on the page and put the connection state on a strip above it, the same way a clean EOF already does. Unreachable and empty must still look different.
Found in the spec 83 integration review (PR #104). Out of scope for that unit.
Related: #83