diff --git a/Cargo.lock b/Cargo.lock index 0987dd030..cf8b822ad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -115,7 +115,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -246,7 +246,7 @@ dependencies = [ "actix-router", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -257,7 +257,7 @@ checksum = "7c7db3d5a9718568e4cf4a537cfd7070e6e6ff7481510d0237fb529ac850f6d3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -299,9 +299,9 @@ dependencies = [ [[package]] name = "allo-isolate" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ad11546cc848f5e627a2d00f9b3281e96bbe2e124c7ccc193d00ac1d6d953a" +checksum = "4aa254bc7b5f54f7ec5c361ee263cb5c757fc19ce6b81ab2727f38c12d8e9a8d" dependencies = [ "anyhow", "atomic", @@ -424,7 +424,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -446,7 +446,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -457,7 +457,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -696,9 +696,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.12" +version = "4.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d" +checksum = "52bdc885e4cacc7f7c9eedc1ef6da641603180c783c41a15c264944deeaab642" dependencies = [ "clap_builder", "clap_derive", @@ -726,7 +726,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -809,9 +809,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "cpufeatures" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] @@ -920,7 +920,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.46", + "syn 2.0.48", "synthez", ] @@ -959,7 +959,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -970,7 +970,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -1278,7 +1278,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -1345,7 +1345,7 @@ dependencies = [ "quote", "serde", "serde_json", - "syn 2.0.46", + "syn 2.0.48", "textwrap", "thiserror", "typed-builder", @@ -1612,9 +1612,9 @@ dependencies = [ [[package]] name = "ignore" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "747ad1b4ae841a78e8aba0d63adbfbeaea26b517b63705d47856b73015d27060" +checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" dependencies = [ "crossbeam-deque", "globset", @@ -1746,7 +1746,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -1757,9 +1757,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.151" +version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "libredox" @@ -1944,7 +1944,7 @@ dependencies = [ "medea-jason", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", "synstructure", ] @@ -2025,7 +2025,7 @@ dependencies = [ "cfg-if 1.0.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -2139,7 +2139,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -2249,7 +2249,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -2316,14 +2316,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ "proc-macro2", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "proc-macro2" -version = "1.0.74" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2de98502f212cfcea8d0bb305bd0f49d7ebdd75b64ba0a68f937d888f4e0d6db" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" dependencies = [ "unicode-ident", ] @@ -2355,7 +2355,7 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.46", + "syn 2.0.48", "tempfile", "which", ] @@ -2370,7 +2370,7 @@ dependencies = [ "itertools 0.11.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -2458,7 +2458,7 @@ checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -2697,7 +2697,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -2731,29 +2731,29 @@ checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" [[package]] name = "serde" -version = "1.0.194" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773" +checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.194" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0" +checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "serde_json" -version = "1.0.110" +version = "1.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fbd975230bada99c8bb618e0c365c2eefa219158d5c6c29610fd09ff1833257" +checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" dependencies = [ "itoa", "ryu", @@ -2798,7 +2798,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -2937,7 +2937,7 @@ checksum = "0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -2970,9 +2970,9 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "strsim" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "ccbca6f34534eb78dbee83f6b2c9442fea7113f43d9e80ea320f0972ae5dc08d" [[package]] name = "syn" @@ -2987,9 +2987,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.46" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89456b690ff72fddcecf231caedbe615c59480c93358a93dfae7fc29e3ebbf0e" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ "proc-macro2", "quote", @@ -3010,7 +3010,7 @@ checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", "unicode-xid", ] @@ -3020,7 +3020,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3d2c2202510a1e186e63e596d9318c91a8cbe85cd1a56a7be0c333e5f59ec8d" dependencies = [ - "syn 2.0.46", + "syn 2.0.48", "synthez-codegen", "synthez-core", ] @@ -3031,7 +3031,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f724aa6d44b7162f3158a57bccd871a77b39a4aef737e01bcdff41f4772c7746" dependencies = [ - "syn 2.0.46", + "syn 2.0.48", "synthez-core", ] @@ -3044,7 +3044,7 @@ dependencies = [ "proc-macro2", "quote", "sealed 0.5.0", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -3142,7 +3142,7 @@ checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -3247,7 +3247,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -3333,7 +3333,7 @@ dependencies = [ "proc-macro2", "prost-build", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -3398,7 +3398,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -3433,7 +3433,7 @@ checksum = "29a3151c41d0b13e3d011f98adc24434560ef06673a155a6c7f66b9879eecce2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -3590,7 +3590,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", "wasm-bindgen-shared", ] @@ -3624,7 +3624,7 @@ checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3657,7 +3657,7 @@ checksum = "794645f5408c9a039fd09f4d113cdfb2e7eba5ff1956b07bcf701cf4b394fe89" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -3999,7 +3999,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] diff --git a/flutter/test/e2e/world/member.dart b/flutter/test/e2e/world/member.dart index a2b33991c..72f44f0c0 100644 --- a/flutter/test/e2e/world/member.dart +++ b/flutter/test/e2e/world/member.dart @@ -598,10 +598,9 @@ class Member { room.onFailedLocalMedia((err) { ++failedLocalStreamCount; if (failedLocalStreamCount == times) { - failedLocalStreamFuture.complete(); - room.onFailedLocalMedia((p0) { - ++failedLocalStreamCount; - }); + if (!failedLocalStreamFuture.isCompleted) { + failedLocalStreamFuture.complete(); + } } }); return failedLocalStreamFuture.future; diff --git a/src/peer/media/sender/mod.rs b/src/peer/media/sender/mod.rs index bb8f308a6..88d9238c7 100644 --- a/src/peer/media/sender/mod.rs +++ b/src/peer/media/sender/mod.rs @@ -169,11 +169,9 @@ impl Sender { track: RefCell::new(None), }); - if !enabled_in_cons { - state.media_exchange_state_controller().transition_to( - media_exchange_state::Stable::from(enabled_in_cons), - ); - } + state + .media_exchange_state_controller() + .transition_to(media_exchange_state::Stable::from(enabled_in_cons)); if muted_in_cons { state .mute_state_controller() diff --git a/src/platform/dart/transceiver.rs b/src/platform/dart/transceiver.rs index d4cbbf930..21c8ea827 100644 --- a/src/platform/dart/transceiver.rs +++ b/src/platform/dart/transceiver.rs @@ -82,7 +82,13 @@ impl Transceiver { let handle = self.0.get(); Box::pin(async move { let fut = unsafe { transceiver::set_recv(handle, active) }; - unsafe { FutureFromDart::execute::<()>(fut) }.await.unwrap(); + + // TODO: Not supposed to error, but seems to. Log for further + // investigation. + let res = unsafe { FutureFromDart::execute::<()>(fut) }.await; + if let Err(e) = res { + log::error!("Error in `Transceiver::set_recv`: {e}"); + } }) } @@ -92,7 +98,13 @@ impl Transceiver { let handle = self.0.get(); Box::pin(async move { let fut = unsafe { transceiver::set_send(handle, active) }; - unsafe { FutureFromDart::execute::<()>(fut) }.await.unwrap(); + + // TODO: Not supposed to error, but seems to. Log for further + // investigation. + let res = unsafe { FutureFromDart::execute::<()>(fut) }.await; + if let Err(e) = res { + log::error!("Error in `Transceiver::set_send`: {e}"); + } }) } diff --git a/tests/room/room.rs b/tests/room/room.rs index a7f96b8db..78fa361d5 100644 --- a/tests/room/room.rs +++ b/tests/room/room.rs @@ -1725,53 +1725,6 @@ mod patches_generation { assert!(timeout(5, command_rx.next()).await.is_err()); } - /// Tests that [`Room`] will generate [`Command::UpdateTracks`] only for - /// enabled [`PeerConnection`]. - /// - /// # Algorithm - /// - /// 1. Get mock of [`Room`] and [`Command`]s receiver of this [`Room`] with - /// one enabled [`PeerConnection`]s and one disabled [`PeerConnection`]. - /// - /// 2. Call [`RoomHandle::disable_audio`]. - /// - /// 3. Check that [`Room`] tries to send [`Command::UpdateTracks`] only for - /// enabled [`PeerConnection`]. - #[wasm_bindgen_test] - async fn disable_room_with_one_disabled_track() { - let (room, mut command_rx) = get_room_and_commands_receiver( - 2, - |i| { - if i % 2 == 1 { - media_exchange_state::Stable::Enabled.into() - } else { - media_exchange_state::Stable::Disabled.into() - } - }, - audio_and_device_video_tracks_content(), - ) - .await; - let room_handle = api::RoomHandle::from(room.new_handle()); - - spawn_local(async move { - JsFuture::from(room_handle.disable_audio()) - .await - .unwrap_err(); - }); - - assert_eq!( - command_rx.next().await.unwrap(), - Command::UpdateTracks { - peer_id: PeerId(2), - tracks_patches: vec![TrackPatchCommand { - id: TrackId(0), - enabled: Some(false), - muted: None, - }] - } - ); - } - /// Checks that on device video muting, correct [`Command::UpdateTracks`] /// will be sent to the `Media Server`. /// @@ -1900,7 +1853,7 @@ mod patches_generation { }); assert_eq!( - command_rx.next().await.unwrap(), + command_rx.skip(1).next().await.unwrap(), Command::UpdateTracks { peer_id: PeerId(1), tracks_patches: vec![TrackPatchCommand { @@ -1930,7 +1883,7 @@ mod patches_generation { }); assert_eq!( - command_rx.next().await.unwrap(), + command_rx.skip(1).next().await.unwrap(), Command::UpdateTracks { peer_id: PeerId(1), tracks_patches: vec![TrackPatchCommand {