diff --git a/server/src/events.rs b/server/src/events.rs index df53a60f..294cfb03 100644 --- a/server/src/events.rs +++ b/server/src/events.rs @@ -1,4 +1,6 @@ use std::collections::{HashMap, HashSet}; +use std::thread::{spawn, sleep}; +use std::time; // Db Commons use uuid::Uuid; @@ -314,6 +316,12 @@ impl Events { } c.chat = Some((instance, msg)); + + let events_tx = self.tx.clone(); + spawn(move || { + sleep(time::Duration::from_secs(3)); + events_tx.send(Event::ChatClear(id, instance)).unwrap(); + }); } // now collect all listeners of this instance diff --git a/server/src/rpc.rs b/server/src/rpc.rs index 2dfb9589..3194c1d4 100644 --- a/server/src/rpc.rs +++ b/server/src/rpc.rs @@ -179,13 +179,6 @@ impl Connection { return Err(err_msg("invalid chat index")); } - let events_tx = self.events.clone(); - let id = self.id; - spawn(move || { - sleep(time::Duration::from_secs(3)); - events_tx.send(Event::ChatClear(id, instance_id)).unwrap(); - }); - Ok(RpcMessage::Processing(())) }, _ => {