From 1f579f68df785fc5d89b33efe7736bedaa42b910 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Thu, 11 Sep 2025 09:10:03 +0100 Subject: fix(init): simple mode non-grasp servers selection list and allow selection / deselection of non-grasp servers when at least one grasp servers is selected and a non grasp server is a suggested default. --- src/bin/ngit/sub_commands/init.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/bin') diff --git a/src/bin/ngit/sub_commands/init.rs b/src/bin/ngit/sub_commands/init.rs index dc8c673..690714d 100644 --- a/src/bin/ngit/sub_commands/init.rs +++ b/src/bin/ngit/sub_commands/init.rs @@ -21,7 +21,8 @@ use ngit::{ list::list_from_remote, repo_ref::{ detect_existing_grasp_servers, extract_npub, extract_pks, - format_grasp_server_url_as_relay_url, normalize_grasp_server_url, save_repo_config_to_yaml, + format_grasp_server_url_as_relay_url, is_grasp_server_clone_url, + normalize_grasp_server_url, save_repo_config_to_yaml, }, repo_state::RepoState, }; @@ -389,12 +390,14 @@ pub async fn launch(cli_args: &Cli, args: &SubCommandArgs) -> Result<()> { .collect(); let mut additional_server_options: Vec = git_server_defaults .iter() - .filter(|s| grasp_server_git_servers.iter().any(|r| s.eq(&r))) + .filter(|s| !is_grasp_server_clone_url(s)) .cloned() .collect(); if simple_mode && !selected_grasp_servers.is_empty() { if additional_server_options.is_empty() { + git_server_defaults + } else { // additional git servers were listed let selected = loop { let selections: Vec = vec![true; additional_server_options.len()]; @@ -429,8 +432,6 @@ pub async fn launch(cli_args: &Cli, args: &SubCommandArgs) -> Result<()> { let mut combined = grasp_server_git_servers; combined.extend(selected); combined - } else { - git_server_defaults } } else { // show all git servers -- cgit v1.2.3