If you reconnect via WebSockets, grab the whole current state and update the interface.  Also a bit of cleanup.
Merge remote-tracking branch 'upstream/master'