Socket disconnect reconnects inconsistent

Summary

Sometimes on dropping the socket connection it is not recovered gracefully.

For instance on reconnect the current state is not updated and the reconnect is not propagated to the render worker. This yield a weird state where the user has to refresh the page to recover. This is especially noticeable on PWA app installs where the website is fully cached.

Proposed fix

The app should check if the socket is connected in both the main worker and inside the render worker on visibility change. If the sockets are not connected, show a banner to allow the user to manually reconnect or refresh the page.

This is related to #89 (closed) and should fix most if not all caching problems.

Edited by Sebastian Bernd Mohr
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information