fix: messages go to right channels

fix:  ice candidate transfer

fix:  deadlock in server
This commit is contained in:
Ahmet Kaan Gümüş 2025-04-30 18:22:37 +03:00
parent 4a695dce40
commit 53a73285b9
5 changed files with 121 additions and 32 deletions

View file

@ -7,7 +7,12 @@ use leptos::{
};
use wasm_bindgen_futures::spawn_local;
use crate::{media::audio, signal::wait_until_communication_is_ready, webrtc::WebRTC};
use crate::{
media::audio,
signal::{send_auth, wait_until_communication_is_ready},
sleep,
webrtc::WebRTC,
};
pub fn app() -> impl IntoView {
let audio_stream = LocalResource::new(|| audio());
@ -23,15 +28,23 @@ pub fn app() -> impl IntoView {
let audio_stream = audio_stream.as_deref().unwrap().clone();
let webrtc = WebRTC::new(Some(audio_stream), None, None).unwrap();
let webrtc_state = webrtc.clone();
spawn_local(async move {
loop {
log!("{:#?}", webrtc_state.get_status());
sleep(1000).await;
}
});
let webrtc_offer = webrtc.clone();
let offer_button = button()
.on(leptos::ev::click, move |_| {
send_auth(&String::from("Offer")).unwrap();
let webrtc_offer = webrtc_offer.clone();
log!("{:#?}", webrtc_offer.get_status());
spawn_local(async move {
let offer_result = webrtc_offer.offer().await;
log!("Offer Result Is = {:#?}", offer_result);
if let Err(err_val) = webrtc_offer.offer().await {
log!("Error: WebRTC Offer | {}", err_val);
}
});
})
.child("Offer");
@ -39,10 +52,12 @@ pub fn app() -> impl IntoView {
let webrtc_answer = webrtc.clone();
let answer_button = button()
.on(leptos::ev::click, move |_| {
send_auth(&String::from("Answer")).unwrap();
let webrtc_answer = webrtc_answer.clone();
spawn_local(async move {
let answer_result = webrtc_answer.answer().await;
log!("Answer Result Is = {:#?}", answer_result);
if let Err(err_val) = webrtc_answer.answer().await {
log!("Error: WebRTC Answer | {}", err_val);
}
});
})
.child("Answer");