diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 1e92ad53..d302dc5a 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -1,4 +1,7 @@ { + "worktree": { + "baseRef": "head" + }, "permissions": { "allow": [ "Bash(git add:*)", diff --git a/src/ClaudeDo.App/Program.cs b/src/ClaudeDo.App/Program.cs index cb3e95aa..7b9fd392 100644 --- a/src/ClaudeDo.App/Program.cs +++ b/src/ClaudeDo.App/Program.cs @@ -52,8 +52,14 @@ sealed class Program // Dispose the container so WorkerClient.DisposeAsync runs — // cancels the retry loop and closes the SignalR connection cleanly // instead of abandoning it. - try { services.DisposeAsync().AsTask().GetAwaiter().GetResult(); } - catch { /* best effort on shutdown */ } + try + { + services.DisposeAsync().AsTask().GetAwaiter().GetResult(); + } + catch + { + /* best effort on shutdown */ + } } } @@ -102,7 +108,9 @@ sealed class Program sc.AddSingleton(sp => sp.GetRequiredService()); // Release check + installer update - sc.AddSingleton(_ => new HttpClient { Timeout = TimeSpan.FromSeconds(10) }); + sc.AddSingleton(_ => + new HttpClient(new SocketsHttpHandler { PooledConnectionLifetime = TimeSpan.FromMinutes(5) }) + { Timeout = TimeSpan.FromSeconds(10) }); sc.AddSingleton(sp => new ReleaseClient(sp.GetRequiredService())); sc.AddSingleton(); sc.AddSingleton(); @@ -124,7 +132,8 @@ sealed class Program sc.AddTransient(); sc.AddTransient>(sp => () => sp.GetRequiredService()); sc.AddTransient(); - sc.AddTransient>(sp => () => sp.GetRequiredService()); + sc.AddTransient>(sp => + () => sp.GetRequiredService()); sc.AddTransient(); sc.AddSingleton(); sc.AddSingleton(); @@ -137,9 +146,11 @@ sealed class Program sc.AddTransient(); sc.AddTransient>(sp => () => sp.GetRequiredService()); sc.AddTransient(); - sc.AddTransient>(sp => () => sp.GetRequiredService()); + sc.AddTransient>(sp => + () => sp.GetRequiredService()); sc.AddTransient(); - sc.AddTransient>(sp => () => sp.GetRequiredService()); + sc.AddTransient>(sp => + () => sp.GetRequiredService()); sc.AddSingleton>(sp => taskId => new ClaudeDo.Ui.ViewModels.Conflicts.ConflictResolverViewModel( sp.GetRequiredService(), taskId));