From e19f588381b3dec837d40be25db0405240bc1efc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 26 Feb 2026 03:38:25 +0000 Subject: [PATCH 1/2] Initial plan From ea4975a41c3870dc8d3537ec92d07b1f42066840 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 26 Feb 2026 03:47:19 +0000 Subject: [PATCH 2/2] Address PR review: generic auth error and document concurrency limit Co-authored-by: manuelgruber <156138+manuelgruber@users.noreply.github.com> --- src/auth/mod.rs | 9 ++++----- src/config/parser.rs | 2 ++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/auth/mod.rs b/src/auth/mod.rs index e82704a..e006ce9 100644 --- a/src/auth/mod.rs +++ b/src/auth/mod.rs @@ -134,12 +134,11 @@ pub fn get_auth(config_token: Option<&str>) -> Result { Err(AppError::auth(format!( "No authentication found for your Git provider.\n\n\ Please authenticate using one of these methods:\n\n\ - 1. Provider CLI (recommended, e.g. GitHub CLI):\n \ - gh auth login\n\n\ + 1. Provider CLI (recommended):\n \ + e.g. `gh auth login` for GitHub\n\n\ 2. Environment variable:\n \ - export GITHUB_TOKEN=ghp_xxxx\n\ - {}\n\ - For more info: https://cli.github.com/manual/gh_auth_login", + e.g. GITHUB_TOKEN, GITLAB_TOKEN, or similar for your provider\n\ + {}", ssh_note ))) } diff --git a/src/config/parser.rs b/src/config/parser.rs index 49a4518..65bb7a8 100644 --- a/src/config/parser.rs +++ b/src/config/parser.rs @@ -189,6 +189,8 @@ impl Config { const MAX_CONCURRENCY: usize = 32; // Validate concurrency + // 32 is chosen as a safe upper bound to prevent resource exhaustion + // (file descriptors, memory, CPU) on typical developer machines. if !(1..=MAX_CONCURRENCY).contains(&self.concurrency) { return Err(AppError::config(format!( "concurrency must be between 1 and {}",