fix a bug where Hall could deleteLater() the client earlier than Room