Implement room purge after last local user leaves. (resolves #83)

Consume a state_lock for room delete call.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-08-30 04:40:26 +00:00
parent 7c19d1e1ff
commit aa413ae601
5 changed files with 121 additions and 35 deletions

View File

@@ -72,7 +72,12 @@ pub(super) async fn delete_room(&self, room_id: OwnedRoomId) -> Result {
return Err!("Cannot delete admin room");
}
self.services.delete.delete_room(room_id).await?;
let state_lock = self.services.state.mutex.lock(&room_id).await;
self.services
.delete
.delete_room(&room_id, state_lock)
.await?;
self.write_str("Successfully deleted the room from our database.")
.await?;