the emit is happening asynchronously after the client list is computed, so clients may have disconnected in the intervening time.