diff --git a/crates/tuono_lib/src/server.rs b/crates/tuono_lib/src/server.rs index bfd0ac53..c011b5a3 100644 --- a/crates/tuono_lib/src/server.rs +++ b/crates/tuono_lib/src/server.rs @@ -8,10 +8,8 @@ use tower_http::services::ServeDir; use tuono_internal::config::Config; use crate::env::load_env_vars; -use crate::{ - catch_all::catch_all, services::logger::LoggerLayer -}; use crate::vite::{vite_reverse_proxy, vite_websocket_proxy}; +use crate::{catch_all::catch_all, services::logger::LoggerLayer}; const DEV_PUBLIC_DIR: &str = "public"; const PROD_PUBLIC_DIR: &str = "out/client"; diff --git a/crates/tuono_lib/src/vite/mod.rs b/crates/tuono_lib/src/vite/mod.rs index d20f1bf8..03286ee6 100644 --- a/crates/tuono_lib/src/vite/mod.rs +++ b/crates/tuono_lib/src/vite/mod.rs @@ -2,4 +2,4 @@ mod reverse_proxy; mod websocket_proxy; pub use reverse_proxy::vite_reverse_proxy; -pub use websocket_proxy::vite_websocket_proxy; \ No newline at end of file +pub use websocket_proxy::vite_websocket_proxy; diff --git a/crates/tuono_lib/src/vite/websocket_proxy.rs b/crates/tuono_lib/src/vite/websocket_proxy.rs index 5c2a0eee..5f9e7573 100644 --- a/crates/tuono_lib/src/vite/websocket_proxy.rs +++ b/crates/tuono_lib/src/vite/websocket_proxy.rs @@ -105,8 +105,19 @@ async fn handle_socket(mut tuono_socket: WebSocket) { }; if let Err(err) = tuono_sender.send(msg_to_browser).await { - if err.to_string() != Error::AlreadyClosed.to_string() { - eprintln!("Failed to send back message from vite to browser: {err}") + let err_str = &err.to_string(); + let error = err + .into_inner() + .downcast::() + .unwrap_or(Box::new(Error::Io(std::io::Error::new( + std::io::ErrorKind::Other, + "Failed to parse error into tungstenite::Error", + )))); + + match *error { + Error::AlreadyClosed => {} + Error::Io(err) => eprintln!("IO error received from vite: {}", err.to_string()), + _ => eprintln!("Failed to send back message from vite to browser: {err_str}"), } } }