don't
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(knot): prevent panic when events are triggered with no active listeners

Signed-off-by: tjh <did:plc:65gha4t3avpfpzmvpbwovss7>

+4 -2
+4 -2
crates/knot/src/model/knot_state.rs
··· 90 90 .build() 91 91 .expect("Failed to build thread pool"); 92 92 93 - let (events, _) = tokio::sync::broadcast::channel(4); 93 + let (events, _) = tokio::sync::broadcast::channel(16); 94 94 95 95 let inner = Arc::new(Self { 96 96 config, ··· 155 155 } 156 156 157 157 pub(crate) async fn send_event(&self, id: i32, rkey: Tid, event: Event) { 158 - self.events.send((id, rkey, event)).unwrap(); 158 + if let Err(_) = self.events.send((id, rkey, event)) { 159 + tracing::warn!("no external listeners to consume events"); 160 + } 159 161 } 160 162 161 163 /// Return a reference to the database shim.