From d25351a72ec4f83a88ac728c28af9195b8c76f12 Mon Sep 17 00:00:00 2001 From: Andrew Plaza Date: Mon, 13 Jan 2025 14:39:40 -0500 Subject: [PATCH] fix error message for association state in xdbg (#1496) * fix error message for association state --- xmtp_debug/src/app/generate/identity.rs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/xmtp_debug/src/app/generate/identity.rs b/xmtp_debug/src/app/generate/identity.rs index 838d129c3..f82c49582 100644 --- a/xmtp_debug/src/app/generate/identity.rs +++ b/xmtp_debug/src/app/generate/identity.rs @@ -1,10 +1,10 @@ -use std::sync::Arc; +use std::{collections::HashSet, sync::Arc}; use crate::app::store::{Database, IdentityStore}; use crate::app::{self, types::Identity}; use crate::args; -use color_eyre::eyre::{self, ensure, Result}; +use color_eyre::eyre::{self, bail, Result}; use indicatif::{ProgressBar, ProgressStyle}; /// Identity Generation @@ -128,8 +128,19 @@ impl GenerateIdentity { total_states = states.len(), "ensuring identities registered & latest association state loaded..." ); - for state in states.into_iter() { - ensure!(state.is_ok()) + let errs = states + .into_iter() + .filter_map(|s| s.err()) + .map(|e| e.to_string()) + .collect::>(); + let unique: HashSet = HashSet::from_iter(errs.clone()); + if !unique.is_empty() { + tracing::error!("{} errors during identity generation", errs.len()); + tracing::error!("{} unique errors during identity generation", unique.len()); + for err in unique.into_iter() { + error!(err); + } + bail!("Error generation failed"); } Ok(identities) }