Skip to content

Commit 0f8b2b7

Browse files
committed
set relay state error
1 parent 23ada76 commit 0f8b2b7

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

crates/notedeck/src/subman.rs

+26-3
Original file line numberDiff line numberDiff line change
@@ -587,9 +587,32 @@ impl SubMan {
587587
}
588588
}
589589
// TODO: handle reconnects
590-
RelayEvent::Closed => warn!("{} connection closed", &relay),
591-
RelayEvent::Error(e) => error!("{}: {}", &relay, e),
592-
RelayEvent::Other(msg) => trace!("other event {:?}", &msg),
590+
RelayEvent::Closed => warn!("process_relays {}: connection closed", &relay),
591+
RelayEvent::Error(e) => {
592+
error!("process_relays {} error: {}", &relay, e);
593+
for ssr in self.remote.values_mut() {
594+
let mut substate = ssr.borrow_mut();
595+
let remote_id = substate.spec.remote_id.clone();
596+
let filters = substate.spec.filters.clone();
597+
if let Some(remotesubstate) = &mut substate.remote {
598+
if let Some(ref mut rss) = remotesubstate.relays.get_mut(&relay) {
599+
debug!(
600+
"SubMan handle Error {} {} {:?}: {:?}",
601+
remote_id,
602+
relay,
603+
filters
604+
.iter()
605+
.map(|f| f.json().unwrap_or_default())
606+
.collect::<Vec<_>>(),
607+
e
608+
);
609+
**rss = RelaySubState::Error(format!("{:?}", e));
610+
}
611+
}
612+
}
613+
}
614+
615+
RelayEvent::Other(msg) => trace!("process_relays other event {:?}", &msg),
593616
RelayEvent::Message(msg) => {
594617
self.process_message(legacy_relay_handler, &relay, &msg);
595618
}

0 commit comments

Comments
 (0)