on_unload return value can now prevent un/reloading
better reconnect handling