Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 793f493

Browse files
Merge pull request #230 from github-for-unity/fixes/227-startup-exceptions
Handle exceptions properly on startup
2 parents e957673 + 793e39e commit 793f493

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

src/GitHub.Api/Application/ApplicationManagerBase.cs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,20 +39,24 @@ protected void Initialize()
3939
Logging.TracingEnabled = UserSettings.Get(Constants.TraceLoggingKey, false);
4040
ProcessManager = new ProcessManager(Environment, Platform.GitEnvironment, CancellationToken);
4141
Platform.Initialize(ProcessManager, TaskManager);
42-
if (Environment.GitExecutablePath != null)
43-
{
44-
GitClient = new GitClient(Environment, ProcessManager, Platform.CredentialManager, TaskManager);
45-
}
42+
GitClient = new GitClient(Environment, ProcessManager, Platform.CredentialManager, TaskManager);
4643
SetupMetrics();
4744
}
4845

49-
public virtual async Task Run(bool firstRun)
46+
public void Run(bool firstRun)
47+
{
48+
new ActionTask(SetupGit())
49+
.Then(RestartRepository)
50+
.ThenInUI(InitializeUI)
51+
.Start();
52+
}
53+
54+
private async Task SetupGit()
5055
{
5156
Logger.Trace("Run - CurrentDirectory {0}", NPath.CurrentDirectory);
5257

5358
if (Environment.GitExecutablePath == null)
5459
{
55-
GitClient = new GitClient(Environment, ProcessManager, Platform.CredentialManager, TaskManager);
5660
Environment.GitExecutablePath = await DetermineGitExecutablePath();
5761

5862
Logger.Trace("Environment.GitExecutablePath \"{0}\" Exists:{1}", Environment.GitExecutablePath, Environment.GitExecutablePath.FileExists());
@@ -67,8 +71,6 @@ public virtual async Task Run(bool firstRun)
6771
}
6872
}
6973

70-
RestartRepository();
71-
InitializeUI();
7274
}
7375

7476
public ITask InitializeRepository()

src/GitHub.Api/Application/IApplicationManager.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ interface IApplicationManager : IDisposable
1717
ITaskManager TaskManager { get; }
1818
IGitClient GitClient { get; }
1919
IUsageTracker UsageTracker { get; }
20+
21+
void Run(bool firstRun);
2022
void RestartRepository();
2123
ITask InitializeRepository();
2224
}

src/UnityExtension/Assets/Editor/GitHub.Unity/EntryPoint.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ private static void Initialize()
5858
Logging.LogAdapter = new FileLogAdapter(logPath);
5959
Logging.Info("Initializing GitHub for Unity version " + ApplicationInfo.Version);
6060

61-
((ApplicationManager)ApplicationManager).Run(ApplicationCache.Instance.FirstRun).Forget();
61+
ApplicationManager.Run(ApplicationCache.Instance.FirstRun);
6262
}
6363

6464
private static bool ServerCertificateValidationCallback(object sender, X509Certificate certificate,

0 commit comments

Comments
 (0)