From df69ac42fbbc4968d6267fc909dd696058d55c0b Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 27 Apr 2022 13:53:16 +0200 Subject: [PATCH] Attempt to automatically sign in after a window has been shown --- crates/zed/src/main.rs | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/crates/zed/src/main.rs b/crates/zed/src/main.rs index 16df63bf20..b730677c70 100644 --- a/crates/zed/src/main.rs +++ b/crates/zed/src/main.rs @@ -130,22 +130,6 @@ fn main() { diagnostics::init(cx); search::init(cx); vim::init(cx); - cx.spawn({ - let client = client.clone(); - |cx| async move { - if stdout_is_a_pty() { - if client::IMPERSONATE_LOGIN.is_some() { - client.authenticate_and_connect(false, &cx).await?; - } - } else { - if client.has_keychain_credentials(&cx) { - client.authenticate_and_connect(true, &cx).await?; - } - } - Ok::<_, anyhow::Error>(()) - } - }) - .detach_and_log_err(cx); let (settings_file, keymap_file) = cx.background().block(config_files).unwrap(); let mut settings_rx = settings_from_files( @@ -184,7 +168,7 @@ fn main() { languages, themes, channel_list, - client, + client: client.clone(), user_store, fs, build_window_options, @@ -218,6 +202,20 @@ fn main() { }) .detach(); } + + cx.spawn(|cx| async move { + if stdout_is_a_pty() { + if client::IMPERSONATE_LOGIN.is_some() { + client.authenticate_and_connect(false, &cx).await?; + } + } else { + if client.has_keychain_credentials(&cx) { + client.authenticate_and_connect(true, &cx).await?; + } + } + Ok::<_, anyhow::Error>(()) + }) + .detach_and_log_err(cx); }); }