From 586983291ada669074e56d63b76b5869a3179b2c Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Mon, 13 Jun 2022 17:02:43 -0500 Subject: [PATCH] log parse errors --- packages/desktop/src/controller.rs | 17 ++++++++++------- packages/web/Cargo.toml | 2 +- packages/web/src/lib.rs | 11 ++++++++--- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/packages/desktop/src/controller.rs b/packages/desktop/src/controller.rs index f03e390bb..3d8c7cde9 100644 --- a/packages/desktop/src/controller.rs +++ b/packages/desktop/src/controller.rs @@ -81,13 +81,16 @@ impl DesktopController { impl ErrorHandler for DesktopErrorHandler { fn handle_error(&self, err: Error) { if let Some(conn) = &mut *self.latest_connection.lock().unwrap() { - if let Error::RecompileRequiredError(reason) = err { - conn.get_mut() - .write_all( - (serde_json::to_string(&reason).unwrap() + "\n") - .as_bytes(), - ) - .unwrap(); + match err { + Error::RecompileRequiredError(reason) => { + conn.get_mut() + .write_all( + (serde_json::to_string(&reason).unwrap() + "\n") + .as_bytes(), + ) + .unwrap(); + } + Error::ParseError(err) => log::warn!("{}", err), } } } diff --git a/packages/web/Cargo.toml b/packages/web/Cargo.toml index 9ebe2989b..2fa4a2f6b 100644 --- a/packages/web/Cargo.toml +++ b/packages/web/Cargo.toml @@ -77,7 +77,7 @@ features = [ [features] default = ["panic_hook"] panic_hook = ["console_error_panic_hook"] -hot_reload = ["dioxus-rsx-interpreter", "web-sys/WebSocket", "web-sys/Location", "web-sys/MessageEvent", "serde_json"] +hot_reload = ["dioxus-rsx-interpreter", "web-sys/WebSocket", "web-sys/Location", "web-sys/MessageEvent", "web-sys/console", "serde_json"] [dev-dependencies] dioxus-core-macro = { path = "../core-macro" } diff --git a/packages/web/src/lib.rs b/packages/web/src/lib.rs index 2e6ce4688..b4d1a58f0 100644 --- a/packages/web/src/lib.rs +++ b/packages/web/src/lib.rs @@ -275,9 +275,14 @@ pub async fn run_with_props(root: Component, root_props: T // forward stream to the websocket dom.base_scope().spawn_forever(async move { while let Some(err) = error_channel_receiver.next().await { - if let Error::RecompileRequiredError(err) = err { - ws.send_with_str(serde_json::to_string(&err).unwrap().as_str()) - .unwrap(); + match err { + Error::RecompileRequiredError(err) => { + ws.send_with_str(serde_json::to_string(&err).unwrap().as_str()) + .unwrap(); + } + Error::ParseError(err) => { + web_sys::console::warn_1(&wasm_bindgen::JsValue::from_str(&err.to_string())) + } } } });