diff --git a/plugins/listener/src/actors/listener.rs b/plugins/listener/src/actors/listener.rs index 6842dec621..62cd2ade67 100644 --- a/plugins/listener/src/actors/listener.rs +++ b/plugins/listener/src/actors/listener.rs @@ -171,6 +171,12 @@ impl Actor for ListenerActor { ListenerMsg::StreamError(error) => { tracing::info!("listen_stream_error: {}", error); + let _ = (SessionErrorEvent::ConnectionError { + session_id: state.args.session_id.clone(), + error: format!("listen_stream_error: {}", error), + is_retryable: false, + }) + .emit(&state.args.app); myself.stop(None); } @@ -181,6 +187,12 @@ impl Actor for ListenerActor { ListenerMsg::StreamTimeout(elapsed) => { tracing::info!("listen_stream_timeout: {}", elapsed); + let _ = (SessionErrorEvent::ConnectionError { + session_id: state.args.session_id.clone(), + error: format!("listen_stream_timeout: {}", elapsed), + is_retryable: false, + }) + .emit(&state.args.app); myself.stop(None); } } @@ -353,11 +365,11 @@ async fn spawn_rx_task_single_with_adapter( tracing::error!(error = ?e, "listen_ws_connect_failed(single)"); let _ = (SessionErrorEvent::ConnectionError { session_id: args.session_id.clone(), - error: format!("listen_ws_connect_failed: {:?}", e), + error: format!("listen_ws_connect_failed: {}", e), is_retryable: true, }) .emit(&args.app); - return Err(actor_error(format!("listen_ws_connect_failed: {:?}", e))); + return Err(actor_error(format!("listen_ws_connect_failed: {}", e))); } Ok(Ok(res)) => res, }; @@ -425,11 +437,11 @@ async fn spawn_rx_task_dual_with_adapter( tracing::error!(error = ?e, "listen_ws_connect_failed(dual)"); let _ = (SessionErrorEvent::ConnectionError { session_id: args.session_id.clone(), - error: format!("listen_ws_connect_failed: {:?}", e), + error: format!("listen_ws_connect_failed: {}", e), is_retryable: true, }) .emit(&args.app); - return Err(actor_error(format!("listen_ws_connect_failed: {:?}", e))); + return Err(actor_error(format!("listen_ws_connect_failed: {}", e))); } Ok(Ok(res)) => res, }; diff --git a/plugins/listener/src/actors/source.rs b/plugins/listener/src/actors/source.rs index ed8526e343..1f61a9456e 100644 --- a/plugins/listener/src/actors/source.rs +++ b/plugins/listener/src/actors/source.rs @@ -43,8 +43,8 @@ pub struct SourceArgs { } pub struct SourceState { - app: tauri::AppHandle, session_id: String, + app: tauri::AppHandle, mic_device: Option, onboarding: bool, mic_muted: Arc, @@ -143,8 +143,8 @@ impl Actor for SourceActor { let pipeline = Pipeline::new(args.app.clone(), args.session_id.clone()); let mut st = SourceState { - app: args.app, session_id: args.session_id, + app: args.app, mic_device, onboarding: args.onboarding, mic_muted: Arc::new(AtomicBool::new(false)),