diff --git a/src/session.rs b/src/session.rs index 0d72237..466e966 100644 --- a/src/session.rs +++ b/src/session.rs @@ -136,11 +136,12 @@ impl Session { Ok(proto::Packet::UserState(user)) => { tracing::info!("user state: {:?}", user); let mut users = session.users.write().await; - match users.get_mut(&user.session()) { + let id = user.session(); + match users.get_mut(&id) { Some(u) => u.update(user), None => { users.insert(user.session(), User::from(user)); }, } - let _ = session.events.send(users.get(&user.session()).expect("just inserted")); // if it fails nobody is listening + let _ = session.events.send(users.get(&id).cloned().expect("just inserted")); // if it fails nobody is listening }, Ok(pkt) => tracing::info!("ignoring packet {:?}", pkt), }