use socket.io to reload on visibility toggle

closes #6