diff --git a/crates/server/src/rpc/store.rs b/crates/server/src/rpc/store.rs index 3d68836b57..a7e89f3bf5 100644 --- a/crates/server/src/rpc/store.rs +++ b/crates/server/src/rpc/store.rs @@ -297,6 +297,11 @@ impl Store { } let project = e.remove(); + + if let Some(host_connection) = self.connections.get_mut(&connection_id) { + host_connection.projects.remove(&project_id); + } + if let Some(share) = &project.share { for guest_connection in share.guests.keys() { if let Some(connection) = self.connections.get_mut(&guest_connection) { @@ -305,6 +310,8 @@ impl Store { } } + #[cfg(test)] + self.check_invariants(); Ok(project) } else { Err(anyhow!("no such project"))?