diff --git a/packages/native/src/assets.rs b/packages/native/src/assets.rs index 46c98cd78..bd007f6cc 100644 --- a/packages/native/src/assets.rs +++ b/packages/native/src/assets.rs @@ -8,6 +8,7 @@ use winit::event_loop::EventLoopProxy; pub struct DioxusNativeNetProvider { callback: Arc + 'static>, + #[cfg(feature = "net")] inner_net_provider: Arc + 'static>, } impl DioxusNativeNetProvider { @@ -17,9 +18,13 @@ impl DioxusNativeNetProvider { pub fn new(proxy: EventLoopProxy) -> Self { let net_callback = BlitzShellNetCallback::shared(proxy); + + #[cfg(feature = "net")] let net_provider = blitz_net::Provider::shared(net_callback.clone()); + Self { callback: net_callback, + #[cfg(feature = "net")] inner_net_provider: net_provider, } } @@ -36,16 +41,20 @@ impl NetProvider for DioxusNativeNetProvider { match dioxus_asset_resolver::native::serve_asset(request.url.path()) { Ok(res) => { #[cfg(feature = "tracing")] - tracing::trace!("fetching asset from file system success {request:#?}"); + tracing::trace!("fetching asset from file system success {request:#?}"); handler.bytes(doc_id, res.into_body().into(), self.callback.clone()) } Err(_) => { #[cfg(feature = "tracing")] - tracing::warn!("fetching asset from file system error {request:#?}"); + tracing::warn!("fetching asset from file system error {request:#?}"); } } } else { + #[cfg(feature = "net")] self.inner_net_provider.fetch(doc_id, request, handler); + + #[cfg(all(not(feature = "net"), feature = "tracing"))] + tracing::warn!("net feature not enabled, cannot fetch {request:#?}"); } } } diff --git a/packages/native/src/lib.rs b/packages/native/src/lib.rs index 15acf6f31..e5d332e89 100644 --- a/packages/native/src/lib.rs +++ b/packages/native/src/lib.rs @@ -27,7 +27,6 @@ use blitz_shell::{create_default_event_loop, BlitzShellEvent, Config, WindowConf use dioxus_core::{ComponentFunction, Element, VirtualDom}; use link_handler::DioxusNativeNavigationProvider; use std::any::Any; -#[cfg(feature = "html")] use std::sync::Arc; use winit::window::WindowAttributes; @@ -117,14 +116,7 @@ pub fn launch_cfg_with_props( vdom.insert_any_root_context(context()); } - #[cfg(feature = "net")] - let net_provider = { - let proxy = event_loop.create_proxy(); - let net_provider = DioxusNativeNetProvider::shared(proxy); - Some(net_provider) - }; - #[cfg(not(feature = "net"))] - let net_provider = None; + let net_provider = Some(DioxusNativeNetProvider::shared(event_loop.create_proxy())); #[cfg(feature = "html")] let html_parser_provider = Some(Arc::new(blitz_html::HtmlProvider) as _);