26 lines
718 B
Diff
26 lines
718 B
Diff
--- server/src/main.rs
|
|
+++ server/src/main.rs
|
|
@@ -225,6 +225,20 @@
|
|
next_id: AtomicUsize::new(1),
|
|
});
|
|
|
|
+ let app_state_clone = Arc::clone(&app_state);
|
|
+ let mut rx = state.activity_tx.subscribe();
|
|
+ tokio::spawn(async move {
|
|
+ while let Ok(msg) = rx.recv().await {
|
|
+ let senders: Vec<_> = app_state_clone
|
|
+ .clients
|
|
+ .read()
|
|
+ .unwrap_or_else(|e| e.into_inner())
|
|
+ .values()
|
|
+ .cloned()
|
|
+ .collect();
|
|
+ for client_tx in senders {
|
|
+ let _ = client_tx.try_send(msg.clone());
|
|
+ }
|
|
+ }
|
|
+ });
|
|
+
|
|
let app = Router::new()
|
|
.route(
|