Cargo.lock 🔗
@@ -3197,6 +3197,7 @@ dependencies = [
"futures 0.3.24",
"hmac 0.12.1",
"jwt",
+ "log",
"prost 0.8.0",
"prost-build",
"prost-types 0.8.0",
Antonio Scandurra created
Cargo.lock | 1 +
crates/collab/src/rpc.rs | 7 ++++++-
crates/collab/src/rpc/store.rs | 2 +-
crates/live_kit_server/Cargo.toml | 1 +
crates/live_kit_server/src/api.rs | 4 ++++
5 files changed, 13 insertions(+), 2 deletions(-)
@@ -3197,6 +3197,7 @@ dependencies = [
"futures 0.3.24",
"hmac 0.12.1",
"jwt",
+ "log",
"prost 0.8.0",
"prost-build",
"prost-types 0.8.0",
@@ -890,11 +890,16 @@ impl Server {
) -> impl Future<Output = Result<()>> {
let client = self.app_state.live_kit_client.clone();
let room_name = room.live_kit_room.clone();
+ let participant_count = room.participants.len();
async move {
if let Some(client) = client {
client
- .remove_participant(room_name, connection_id.to_string())
+ .remove_participant(room_name.clone(), connection_id.to_string())
.await?;
+
+ if participant_count == 0 {
+ client.delete_room(room_name).await?;
+ }
}
Ok(())
@@ -495,7 +495,7 @@ impl Store {
}
});
- let room = if room.participants.is_empty() && room.pending_participant_user_ids.is_empty() {
+ let room = if room.participants.is_empty() {
Cow::Owned(self.rooms.remove(&room_id).unwrap())
} else {
Cow::Borrowed(self.rooms.get(&room_id).unwrap())
@@ -12,6 +12,7 @@ doctest = false
anyhow = "1.0.38"
futures = "0.3"
hmac = "0.12"
+log = "0.4"
jwt = "0.16"
prost = "0.8"
prost-types = "0.8"
@@ -110,6 +110,7 @@ impl Client {
let client = self.http.clone();
let token = token::create(&self.key, &self.secret, None, grant);
let url = format!("{}/{}", self.url, path);
+ log::info!("Request {}: {:?}", url, body);
async move {
let token = token?;
let response = client
@@ -119,9 +120,12 @@ impl Client {
.body(body.encode_to_vec())
.send()
.await?;
+
if response.status().is_success() {
+ log::info!("Response {}: {:?}", url, response.status());
Ok(Res::decode(response.bytes().await?)?)
} else {
+ log::error!("Response {}: {:?}", url, response.status());
Err(anyhow!(
"POST {} failed with status code {:?}, {:?}",
url,