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/sync/mod.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/sync/mod.rs b/src/sync/mod.rs
index b6cd00a..c78c0e1 100644
--- a/src/sync/mod.rs
+++ b/src/sync/mod.rs
@@ -1208,13 +1208,23 @@ impl SyncManager {
1208 } 1208 }
1209 1209
1210 // Mark as connected in relay sync index 1210 // Mark as connected in relay sync index
1211 { 1211 // Track whether this is a new relay for metrics
1212 let is_new_relay = {
1212 let mut index = relay_sync_index.write().await; 1213 let mut index = relay_sync_index.write().await;
1214 let is_new = !index.contains_key(&relay_url);
1213 let state = index.entry(relay_url.clone()).or_default(); 1215 let state = index.entry(relay_url.clone()).or_default();
1214 state.connection_status = ConnectionStatus::Connected; 1216 state.connection_status = ConnectionStatus::Connected;
1215 state.is_bootstrap = is_bootstrap; 1217 state.is_bootstrap = is_bootstrap;
1216 state.last_connected = Some(Timestamp::now()); 1218 state.last_connected = Some(Timestamp::now());
1217 state.disconnected_at = None; 1219 state.disconnected_at = None;
1220 is_new
1221 };
1222
1223 // Increment tracked count for new relays
1224 if is_new_relay {
1225 if let Some(ref metrics) = self.metrics {
1226 metrics.inc_tracked_count();
1227 }
1218 } 1228 }
1219 1229
1220 // Store connection in HashMap BEFORE sending notification 1230 // Store connection in HashMap BEFORE sending notification