diff --git a/src/database/key_value/rooms/edus/presence.rs b/src/database/key_value/rooms/edus/presence.rs index 3d6eb208..117c9da5 100644 --- a/src/database/key_value/rooms/edus/presence.rs +++ b/src/database/key_value/rooms/edus/presence.rs @@ -340,6 +340,13 @@ impl service::rooms::edus::presence::Data for KeyValueDatabase { Some(user_id) }) { + match userid_presenceupdate.remove(&*user_id.as_bytes()) { + Ok(_) => (), + Err(e) => { + error!("An errord occured while removing a stale presence update: {e}") + } + } + for room_id in services() .rooms .state_cache diff --git a/src/database/mod.rs b/src/database/mod.rs index 563076e1..7baa512a 100644 --- a/src/database/mod.rs +++ b/src/database/mod.rs @@ -825,9 +825,6 @@ impl KeyValueDatabase { ); } - // Flush old presence data - db.userid_presenceupdate.clear()?; - services().admin.start_handler(); // Set emergency access for the conduit user