upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/client.rs124
1 files changed, 63 insertions, 61 deletions
diff --git a/src/lib/client.rs b/src/lib/client.rs
index 61a091d..580db5c 100644
--- a/src/lib/client.rs
+++ b/src/lib/client.rs
@@ -1851,7 +1851,7 @@ async fn process_fetched_events(
1851 event.created_at, 1851 event.created_at,
1852 )); 1852 ));
1853 } 1853 }
1854 // if contains new maintainer 1854 // if contains announcement
1855 if let Ok(repo_ref) = &RepoRef::try_from((event.clone(), None)) { 1855 if let Ok(repo_ref) = &RepoRef::try_from((event.clone(), None)) {
1856 for m in &repo_ref.maintainers { 1856 for m in &repo_ref.maintainers {
1857 if !request 1857 if !request
@@ -2140,11 +2140,12 @@ pub struct FetchReport {
2140 2140
2141impl Display for FetchReport { 2141impl Display for FetchReport {
2142 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 2142 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2143 // report: "1 new maintainer, 1 announcement, 1 proposal, 3 commits, 2 statuses" 2143 // report: "1 announcement, 1 announcement, 1 proposal, 3 commits, 2
2144 // statuses"
2144 let mut display_items: Vec<String> = vec![]; 2145 let mut display_items: Vec<String> = vec![];
2145 if !self.repo_coordinates_without_relays.is_empty() { 2146 if !self.repo_coordinates_without_relays.is_empty() {
2146 display_items.push(format!( 2147 display_items.push(format!(
2147 "{} new maintainer{}", 2148 "{} announcement{}",
2148 self.repo_coordinates_without_relays.len(), 2149 self.repo_coordinates_without_relays.len(),
2149 if self.repo_coordinates_without_relays.len() > 1 { 2150 if self.repo_coordinates_without_relays.len() > 1 {
2150 "s" 2151 "s"
@@ -2568,54 +2569,54 @@ pub async fn send_events(
2568 let pb_after_style_failed = pb_after_style_failed.clone(); 2569 let pb_after_style_failed = pb_after_style_failed.clone();
2569 let pb_after_style_succeeded = pb_after_style_succeeded.clone(); 2570 let pb_after_style_succeeded = pb_after_style_succeeded.clone();
2570 async move { 2571 async move {
2571 let relay_clean = remove_trailing_slash(relay); 2572 let relay_clean = remove_trailing_slash(relay);
2572 let details = format!( 2573 let details = format!(
2573 "{}{}{} {}", 2574 "{}{}{} {}",
2574 if my_write_relays 2575 if my_write_relays
2575 .iter() 2576 .iter()
2576 .any(|r| relay_clean.eq(&remove_trailing_slash(r))) 2577 .any(|r| relay_clean.eq(&remove_trailing_slash(r)))
2577 { 2578 {
2578 " [my-relay]" 2579 " [my-relay]"
2579 } else { 2580 } else {
2580 "" 2581 ""
2581 }, 2582 },
2582 if repo_read_relays 2583 if repo_read_relays
2583 .iter() 2584 .iter()
2584 .any(|r| relay_clean.eq(&remove_trailing_slash(&r.to_string()))) 2585 .any(|r| relay_clean.eq(&remove_trailing_slash(&r.to_string())))
2585 { 2586 {
2586 " [repo-relay]" 2587 " [repo-relay]"
2587 } else { 2588 } else {
2588 "" 2589 ""
2589 }, 2590 },
2590 if fallback 2591 if fallback
2591 .iter() 2592 .iter()
2592 .any(|r| relay_clean.eq(&remove_trailing_slash(r))) 2593 .any(|r| relay_clean.eq(&remove_trailing_slash(r)))
2593 { 2594 {
2594 " [default]" 2595 " [default]"
2595 } else { 2596 } else {
2596 "" 2597 ""
2597 }, 2598 },
2598 relay_clean, 2599 relay_clean,
2599 ); 2600 );
2600 let pb = m.add( 2601 let pb = m.add(
2601 ProgressBar::new(events.len() as u64) 2602 ProgressBar::new(events.len() as u64)
2602 .with_prefix(details.to_string()) 2603 .with_prefix(details.to_string())
2603 .with_style(pb_style.clone()), 2604 .with_style(pb_style.clone()),
2604 ); 2605 );
2605 if animate { 2606 if animate {
2606 pb.enable_steady_tick(Duration::from_millis(300)); 2607 pb.enable_steady_tick(Duration::from_millis(300));
2607 } 2608 }
2608 pb.inc(0); // need to make pb display intially 2609 pb.inc(0); // need to make pb display intially
2609 let mut failed = false; 2610 let mut failed = false;
2610 for event in &events { 2611 for event in &events {
2611 match client 2612 match client
2612 .send_event_to(git_repo_path, relay, event.clone()) 2613 .send_event_to(git_repo_path, relay, event.clone())
2613 .await 2614 .await
2614 { 2615 {
2615 Ok(_) => pb.inc(1), 2616 Ok(_) => pb.inc(1),
2616 Err(e) => { 2617 Err(e) => {
2617 pb.set_style(pb_after_style_failed.clone()); 2618 pb.set_style(pb_after_style_failed.clone());
2618 let msg = console::style(format!( 2619 let msg = console::style(format!(
2619 "error: {}", 2620 "error: {}",
2620 e.to_string() 2621 e.to_string()
2621 .replace("relay pool error:", "") 2622 .replace("relay pool error:", "")
@@ -2624,17 +2625,18 @@ pub async fn send_events(
2624 .for_stderr() 2625 .for_stderr()
2625 .red() 2626 .red()
2626 .to_string(); 2627 .to_string();
2627 finish_bar(&pb, msg, &reveal_state_clone); 2628 finish_bar(&pb, msg, &reveal_state_clone);
2628 failed = true; 2629 failed = true;
2629 break; 2630 break;
2630 } 2631 }
2631 }; 2632 };
2632 } 2633 }
2633 if !failed { 2634 if !failed {
2634 pb.set_style(pb_after_style_succeeded.clone()); 2635 pb.set_style(pb_after_style_succeeded.clone());
2635 finish_bar(&pb, String::new(), &reveal_state_clone); 2636 finish_bar(&pb, String::new(), &reveal_state_clone);
2637 }
2636 } 2638 }
2637 }})) 2639 }))
2638 .await; 2640 .await;
2639 2641
2640 // Cancel the background timer if it hasn't fired yet, and clean up 2642 // Cancel the background timer if it hasn't fired yet, and clean up