connection: add additional guards for idle changing