diff --git a/src/main.rs b/src/main.rs index 988f62b3..a4618572 100644 --- a/src/main.rs +++ b/src/main.rs @@ -513,16 +513,17 @@ impl Future for Main { while (!self.auto_connect_times.is_empty()) && ((Instant::now() - self.auto_connect_times[0]).as_secs() > 600) { let _ = self.auto_connect_times.remove(0); } - if self.auto_connect_times.len() >= 5 { - error!("Spirc shut down too often. Exiting to avoid too many login attempts."); - return Ok(Async::Ready(())); - } + if let Some(credentials) = self.last_credentials.clone() { - self.auto_connect_times.push(Instant::now()); - self.credentials(credentials); - progress = true; + if self.auto_connect_times.len() >= 5 { + warn!("Spirc shut down too often. Not reconnecting automatically."); + } else { + self.auto_connect_times.push(Instant::now()); + self.credentials(credentials); + } } } + progress = true; } }