diff --git a/packages/fullstack/Cargo.toml b/packages/fullstack/Cargo.toml index 9e185a580..8be611eca 100644 --- a/packages/fullstack/Cargo.toml +++ b/packages/fullstack/Cargo.toml @@ -7,7 +7,7 @@ description = "Fullstack Dioxus Utilities" license = "MIT OR Apache-2.0" repository = "https://github.com/DioxusLabs/dioxus/" homepage = "https://dioxuslabs.com" -keywords = ["ui", "gui", "react", "ssr", "fullstack"] +keywords = ["ui", "gui", "react", "server", "fullstack"] resolver = "2" [dependencies] diff --git a/packages/fullstack/README.md b/packages/fullstack/README.md index ad54ff441..55f0fd492 100644 --- a/packages/fullstack/README.md +++ b/packages/fullstack/README.md @@ -44,7 +44,7 @@ fn main() { get_root_props_from_document().unwrap_or_default(), dioxus_web::Config::new().hydrate(true), ); - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] { tokio::runtime::Runtime::new() .unwrap() diff --git a/packages/fullstack/examples/axum-auth/src/main.rs b/packages/fullstack/examples/axum-auth/src/main.rs index 08150c6db..1a701825e 100644 --- a/packages/fullstack/examples/axum-auth/src/main.rs +++ b/packages/fullstack/examples/axum-auth/src/main.rs @@ -7,7 +7,7 @@ #![allow(non_snake_case, unused)] -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] mod auth; use dioxus::prelude::*; @@ -19,7 +19,7 @@ fn main() { // Hydrate the application on the client dioxus_web::launch_cfg(app, dioxus_web::Config::new().hydrate(true)); - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] { use crate::auth::*; use axum::routing::*; diff --git a/packages/fullstack/examples/axum-desktop/Cargo.toml b/packages/fullstack/examples/axum-desktop/Cargo.toml index 2c9b3df2d..fe16f2419 100644 --- a/packages/fullstack/examples/axum-desktop/Cargo.toml +++ b/packages/fullstack/examples/axum-desktop/Cargo.toml @@ -25,4 +25,4 @@ required-features = ["desktop"] [[bin]] name = "server" path = "src/server.rs" -required-features = ["ssr"] +required-features = ["server"] diff --git a/packages/fullstack/examples/axum-hello-world/src/main.rs b/packages/fullstack/examples/axum-hello-world/src/main.rs index 5b2cbb03c..b7912facf 100644 --- a/packages/fullstack/examples/axum-hello-world/src/main.rs +++ b/packages/fullstack/examples/axum-hello-world/src/main.rs @@ -51,7 +51,7 @@ fn main() { #[cfg(feature = "web")] tracing_wasm::set_as_global_default(); - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] tracing_subscriber::fmt::init(); launch(app); diff --git a/packages/fullstack/examples/axum-router/src/main.rs b/packages/fullstack/examples/axum-router/src/main.rs index c9eaba742..d03b0c04d 100644 --- a/packages/fullstack/examples/axum-router/src/main.rs +++ b/packages/fullstack/examples/axum-router/src/main.rs @@ -8,7 +8,7 @@ use dioxus::prelude::*; fn main() { let config = LaunchBuilder::fullstack(); - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] config .incremental( IncrementalRendererConfig::default() @@ -16,7 +16,7 @@ fn main() { ) .launch(); - #[cfg(not(feature = "ssr"))] + #[cfg(not(feature = "server"))] config.launch(|| { rsx! { Router:: {} diff --git a/packages/fullstack/examples/salvo-hello-world/src/main.rs b/packages/fullstack/examples/salvo-hello-world/src/main.rs index 71fae37e8..4870e951a 100644 --- a/packages/fullstack/examples/salvo-hello-world/src/main.rs +++ b/packages/fullstack/examples/salvo-hello-world/src/main.rs @@ -50,7 +50,7 @@ fn main() { #[cfg(feature = "web")] tracing_wasm::set_as_global_default(); - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] tracing_subscriber::fmt::init(); LaunchBuilder::fullstack().launch(app); diff --git a/packages/fullstack/examples/static-hydrated/src/main.rs b/packages/fullstack/examples/static-hydrated/src/main.rs index 1478833dd..6a412979a 100644 --- a/packages/fullstack/examples/static-hydrated/src/main.rs +++ b/packages/fullstack/examples/static-hydrated/src/main.rs @@ -11,7 +11,7 @@ use dioxus_fullstack::{launch, prelude::*}; use serde::{Deserialize, Serialize}; // Generate all routes and output them to the docs path -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] #[tokio::main] async fn main() { pre_cache_static_routes_with_props( @@ -37,7 +37,7 @@ fn main() { ); } -#[cfg(not(any(feature = "web", feature = "ssr")))] +#[cfg(not(any(feature = "web", feature = "server")))] fn main() {} #[derive(Clone, Routable, Debug, PartialEq, Serialize, Deserialize)] diff --git a/packages/fullstack/examples/warp-hello-world/src/main.rs b/packages/fullstack/examples/warp-hello-world/src/main.rs index 9bd155c68..f424e15c3 100644 --- a/packages/fullstack/examples/warp-hello-world/src/main.rs +++ b/packages/fullstack/examples/warp-hello-world/src/main.rs @@ -47,7 +47,7 @@ async fn get_server_data() -> Result { fn main() { #[cfg(feature = "web")] tracing_wasm::set_as_global_default(); - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] tracing_subscriber::fmt::init(); launch(app); diff --git a/packages/fullstack/src/adapters/axum_adapter.rs b/packages/fullstack/src/adapters/axum_adapter.rs index bed2bc9b1..731b3f13e 100644 --- a/packages/fullstack/src/adapters/axum_adapter.rs +++ b/packages/fullstack/src/adapters/axum_adapter.rs @@ -10,7 +10,7 @@ //! #[cfg(feature = "web")] //! // Hydrate the application on the client //! dioxus_web::launch_cfg(app, dioxus_web::Config::new().hydrate(true)); -//! #[cfg(feature = "ssr")] +//! #[cfg(feature = "server")] //! { //! tokio::runtime::Runtime::new() //! .unwrap() @@ -332,7 +332,7 @@ where } fn connect_hot_reload(self) -> Self { - #[cfg(all(debug_assertions, feature = "hot-reload", feature = "ssr"))] + #[cfg(all(debug_assertions, feature = "hot-reload", feature = "server"))] { self.nest( "/_dioxus", @@ -354,7 +354,7 @@ where .route("/hot_reload", get(hot_reload_handler)), ) } - #[cfg(not(all(debug_assertions, feature = "hot-reload", feature = "ssr")))] + #[cfg(not(all(debug_assertions, feature = "hot-reload", feature = "server")))] { self } @@ -476,7 +476,7 @@ fn report_err(e: E) -> Response { } /// A handler for Dioxus web hot reload websocket. This will send the updated static parts of the RSX to the client when they change. -#[cfg(all(debug_assertions, feature = "hot-reload", feature = "ssr"))] +#[cfg(all(debug_assertions, feature = "hot-reload", feature = "server"))] pub async fn hot_reload_handler(ws: axum::extract::WebSocketUpgrade) -> impl IntoResponse { use axum::extract::ws::Message; use futures_util::StreamExt; diff --git a/packages/fullstack/src/adapters/salvo_adapter.rs b/packages/fullstack/src/adapters/salvo_adapter.rs index f548f2c95..4c41fc4a4 100644 --- a/packages/fullstack/src/adapters/salvo_adapter.rs +++ b/packages/fullstack/src/adapters/salvo_adapter.rs @@ -9,7 +9,7 @@ //! fn main() { //! #[cfg(feature = "web")] //! dioxus_web::launch_cfg(app, dioxus_web::Config::new().hydrate(true)); -//! #[cfg(feature = "ssr")] +//! #[cfg(feature = "server")] //! { //! use salvo::prelude::*; //! tokio::runtime::Runtime::new() @@ -301,7 +301,7 @@ impl DioxusRouterExt for Router { let mut _dioxus_router = Router::with_path("_dioxus"); _dioxus_router = _dioxus_router.push(Router::with_path("hot_reload").handle(HotReloadHandler)); - #[cfg(all(debug_assertions, feature = "hot-reload", feature = "ssr"))] + #[cfg(all(debug_assertions, feature = "hot-reload", feature = "server"))] { _dioxus_router = _dioxus_router.push(Router::with_path("disconnect").handle(ignore_ws)); } @@ -485,11 +485,11 @@ fn handle_error(error: impl Error + Send + Sync, res: &mut Response) { } /// A handler for Dioxus web hot reload websocket. This will send the updated static parts of the RSX to the client when they change. -#[cfg(not(all(debug_assertions, feature = "hot-reload", feature = "ssr")))] +#[cfg(not(all(debug_assertions, feature = "hot-reload", feature = "server")))] #[derive(Default)] pub struct HotReloadHandler; -#[cfg(not(all(debug_assertions, feature = "hot-reload", feature = "ssr")))] +#[cfg(not(all(debug_assertions, feature = "hot-reload", feature = "server")))] #[handler] impl HotReloadHandler { async fn handle( @@ -503,11 +503,11 @@ impl HotReloadHandler { } /// A handler for Dioxus web hot reload websocket. This will send the updated static parts of the RSX to the client when they change. -#[cfg(all(debug_assertions, feature = "hot-reload", feature = "ssr"))] +#[cfg(all(debug_assertions, feature = "hot-reload", feature = "server"))] #[derive(Default)] pub struct HotReloadHandler; -#[cfg(all(debug_assertions, feature = "hot-reload", feature = "ssr"))] +#[cfg(all(debug_assertions, feature = "hot-reload", feature = "server"))] #[handler] impl HotReloadHandler { async fn handle( @@ -561,7 +561,7 @@ impl HotReloadHandler { } } -#[cfg(all(debug_assertions, feature = "hot-reload", feature = "ssr"))] +#[cfg(all(debug_assertions, feature = "hot-reload", feature = "server"))] #[handler] async fn ignore_ws(req: &mut Request, res: &mut Response) -> Result<(), salvo::http::StatusError> { use salvo::websocket::WebSocketUpgrade; diff --git a/packages/fullstack/src/adapters/warp_adapter.rs b/packages/fullstack/src/adapters/warp_adapter.rs index bf3dc20c0..462fce1f6 100644 --- a/packages/fullstack/src/adapters/warp_adapter.rs +++ b/packages/fullstack/src/adapters/warp_adapter.rs @@ -9,7 +9,7 @@ //! fn main() { //! #[cfg(feature = "web")] //! dioxus_web::launch_cfg(app, dioxus_web::Config::new().hydrate(true)); -//! #[cfg(feature = "ssr")] +//! #[cfg(feature = "server")] //! { //! tokio::runtime::Runtime::new() //! .unwrap() @@ -332,13 +332,13 @@ impl warp::reject::Reject for RecieveFailed {} /// ``` pub fn connect_hot_reload() -> impl Filter + Clone { - #[cfg(not(all(debug_assertions, feature = "hot-reload", feature = "ssr")))] + #[cfg(not(all(debug_assertions, feature = "hot-reload", feature = "server")))] { warp::path!("_dioxus" / "hot_reload") .map(warp::reply) .map(|reply| warp::reply::with_status(reply, warp::http::StatusCode::NOT_FOUND)) } - #[cfg(all(debug_assertions, feature = "hot-reload", feature = "ssr"))] + #[cfg(all(debug_assertions, feature = "hot-reload", feature = "server"))] { use crate::hot_reload::HotReloadState; use futures_util::sink::SinkExt; @@ -349,7 +349,7 @@ pub fn connect_hot_reload() -> impl Filter impl Filter); impl Drop for DisconnectOnDrop { diff --git a/packages/fullstack/src/config.rs b/packages/fullstack/src/config.rs index d959c5fc4..765108e5f 100644 --- a/packages/fullstack/src/config.rs +++ b/packages/fullstack/src/config.rs @@ -6,13 +6,13 @@ use std::sync::Arc; /// Settings for a fullstack app. pub struct Config { - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub(crate) server_fn_route: &'static str, - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub(crate) server_cfg: ServeConfigBuilder, - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub(crate) addr: std::net::SocketAddr, #[cfg(feature = "web")] @@ -29,11 +29,11 @@ pub struct Config { impl Default for Config { fn default() -> Self { Self { - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] server_fn_route: "", - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] addr: std::net::SocketAddr::from(([127, 0, 0, 1], 8080)), - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] server_cfg: ServeConfigBuilder::new(), #[cfg(feature = "web")] web_cfg: dioxus_web::Config::default(), @@ -52,14 +52,14 @@ impl Config { } /// Set the address to serve the app on. - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub fn addr(self, addr: impl Into) -> Self { let addr = addr.into(); Self { addr, ..self } } /// Set the route to the server functions. - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub fn server_fn_route(self, server_fn_route: &'static str) -> Self { Self { server_fn_route, @@ -68,7 +68,7 @@ impl Config { } /// Set the incremental renderer config. - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub fn incremental(self, cfg: IncrementalRendererConfig) -> Self { Self { server_cfg: self.server_cfg.incremental(cfg), @@ -77,7 +77,7 @@ impl Config { } /// Set the server config. - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub fn server_cfg(self, server_cfg: ServeConfigBuilder) -> Self { Self { server_cfg, ..self } } @@ -103,7 +103,7 @@ impl Config { Self { mobile_cfg, ..self } } - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] /// Launch a server application pub async fn launch_server( self, diff --git a/packages/fullstack/src/hooks/server_cached.rs b/packages/fullstack/src/hooks/server_cached.rs index 5c0ea85fc..113ad8c0e 100644 --- a/packages/fullstack/src/hooks/server_cached.rs +++ b/packages/fullstack/src/hooks/server_cached.rs @@ -20,7 +20,7 @@ use serde::{de::DeserializeOwned, Serialize}; /// } /// ``` pub fn server_cached(server_fn: impl Fn() -> O) -> O { - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] { let data = server_fn(); let sc = crate::prelude::server_context(); @@ -29,7 +29,7 @@ pub fn server_cached(server_fn: impl } data } - #[cfg(not(feature = "ssr"))] + #[cfg(not(feature = "server"))] { crate::html_storage::deserialize::take_server_data().unwrap_or_else(server_fn) } diff --git a/packages/fullstack/src/hooks/server_future.rs b/packages/fullstack/src/hooks/server_future.rs index 70d983a9b..8e89a8ca7 100644 --- a/packages/fullstack/src/hooks/server_future.rs +++ b/packages/fullstack/src/hooks/server_future.rs @@ -36,7 +36,7 @@ where let out = user_fut.await; // If this is the first run and we are on the server, cache the data - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] if currently_in_first_run { let _ = crate::server_context::server_context().push_html_data(&out); } diff --git a/packages/fullstack/src/html_storage/deserialize.rs b/packages/fullstack/src/html_storage/deserialize.rs index 2280d5f93..03a7c1057 100644 --- a/packages/fullstack/src/html_storage/deserialize.rs +++ b/packages/fullstack/src/html_storage/deserialize.rs @@ -58,7 +58,7 @@ pub(crate) fn take_server_data() -> Option { SERVER_DATA.as_ref()?.take() } -#[cfg(not(feature = "ssr"))] +#[cfg(not(feature = "server"))] /// Get the props from the document. This is only available in the browser. /// /// When dioxus-fullstack renders the page, it will serialize the root props and put them in the document. This function gets them from the document. diff --git a/packages/fullstack/src/html_storage/serialize.rs b/packages/fullstack/src/html_storage/serialize.rs index 482864eb3..e64e76e2e 100644 --- a/packages/fullstack/src/html_storage/serialize.rs +++ b/packages/fullstack/src/html_storage/serialize.rs @@ -14,7 +14,7 @@ pub(crate) fn serde_to_writable( Ok(()) } -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] /// Encode data into a element. This is inteded to be used in the server to send data to the client. pub(crate) fn encode_props_in_element( data: &T, @@ -27,7 +27,7 @@ pub(crate) fn encode_props_in_element( Ok(write_to.write_all(r#"" />"#.as_bytes())?) } -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] /// Encode data into a element. This is inteded to be used in the server to send data to the client. pub(crate) fn encode_in_element( data: &super::HTMLData, diff --git a/packages/fullstack/src/launch.rs b/packages/fullstack/src/launch.rs index cbb150d4c..70deaa981 100644 --- a/packages/fullstack/src/launch.rs +++ b/packages/fullstack/src/launch.rs @@ -20,14 +20,14 @@ pub fn launch( vdom }; - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] tokio::runtime::Runtime::new() .unwrap() .block_on(async move { platform_config.launch_server(virtual_dom_factory).await; }); - #[cfg(not(feature = "ssr"))] + #[cfg(not(feature = "server"))] { #[cfg(feature = "web")] { diff --git a/packages/fullstack/src/lib.rs b/packages/fullstack/src/lib.rs index 138559278..b04a3cbc9 100644 --- a/packages/fullstack/src/lib.rs +++ b/packages/fullstack/src/lib.rs @@ -7,23 +7,23 @@ pub use once_cell; mod html_storage; -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] mod adapters; -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] pub use adapters::*; mod config; mod hooks; -#[cfg(all(debug_assertions, feature = "hot-reload", feature = "ssr"))] +#[cfg(all(debug_assertions, feature = "hot-reload", feature = "server"))] mod hot_reload; pub mod launch; pub use config::*; -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] mod layer; -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] mod render; -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] mod serve_config; -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] mod server_context; mod server_fn; @@ -36,29 +36,29 @@ pub mod prelude { #[cfg(feature = "warp")] pub use crate::adapters::warp_adapter::*; use crate::hooks; - #[cfg(not(feature = "ssr"))] + #[cfg(not(feature = "server"))] pub use crate::html_storage::deserialize::get_root_props_from_document; - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub use crate::layer::{Layer, Service}; - #[cfg(all(feature = "ssr", feature = "router"))] + #[cfg(all(feature = "server", feature = "router"))] pub use crate::render::pre_cache_static_routes_with_props; - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub use crate::render::SSRState; #[cfg(feature = "router")] pub use crate::router::FullstackRouterConfig; - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub use crate::serve_config::{ServeConfig, ServeConfigBuilder}; - #[cfg(all(feature = "ssr", feature = "axum"))] + #[cfg(all(feature = "server", feature = "axum"))] pub use crate::server_context::Axum; - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub use crate::server_context::{ extract, server_context, DioxusServerContext, FromServerContext, ProvideServerContext, }; pub use crate::server_fn::DioxusServerFn; - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub use crate::server_fn::{ServerFnMiddleware, ServerFnTraitObj, ServerFunction}; pub use dioxus_server_macro::*; - #[cfg(feature = "ssr")] + #[cfg(feature = "server")] pub use dioxus_ssr::incremental::IncrementalRendererConfig; pub use server_fn::{self, ServerFn as _, ServerFnError}; @@ -66,11 +66,11 @@ pub mod prelude { } // Warn users about overlapping features -#[cfg(all(feature = "ssr", feature = "web", not(doc)))] +#[cfg(all(feature = "server", feature = "web", not(doc)))] compile_error!("The `ssr` feature (enabled by `warp`, `axum`, or `salvo`) and `web` feature are overlapping. Please choose one or the other."); -#[cfg(all(feature = "ssr", feature = "desktop", not(doc)))] +#[cfg(all(feature = "server", feature = "desktop", not(doc)))] compile_error!("The `ssr` feature (enabled by `warp`, `axum`, or `salvo`) and `desktop` feature are overlapping. Please choose one or the other."); -#[cfg(all(feature = "ssr", feature = "mobile", not(doc)))] +#[cfg(all(feature = "server", feature = "mobile", not(doc)))] compile_error!("The `ssr` feature (enabled by `warp`, `axum`, or `salvo`) and `mobile` feature are overlapping. Please choose one or the other."); diff --git a/packages/fullstack/src/server_fn.rs b/packages/fullstack/src/server_fn.rs index fd0639372..e71994b92 100644 --- a/packages/fullstack/src/server_fn.rs +++ b/packages/fullstack/src/server_fn.rs @@ -1,9 +1,9 @@ -#[cfg(any(feature = "ssr", doc))] +#[cfg(any(feature = "server", doc))] #[derive(Clone)] /// A trait object for a function that be called on serializable arguments and returns a serializable result. pub struct ServerFnTraitObj(server_fn::ServerFnTraitObj<()>); -#[cfg(any(feature = "ssr", doc))] +#[cfg(any(feature = "server", doc))] impl std::ops::Deref for ServerFnTraitObj { type Target = server_fn::ServerFnTraitObj<()>; @@ -12,14 +12,14 @@ impl std::ops::Deref for ServerFnTraitObj { } } -#[cfg(any(feature = "ssr", doc))] +#[cfg(any(feature = "server", doc))] impl std::ops::DerefMut for ServerFnTraitObj { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.0 } } -#[cfg(any(feature = "ssr", doc))] +#[cfg(any(feature = "server", doc))] impl ServerFnTraitObj { fn new( prefix: &'static str, @@ -36,10 +36,10 @@ impl ServerFnTraitObj { } } -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] server_fn::inventory::collect!(ServerFnTraitObj); -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] /// Middleware for a server function pub struct ServerFnMiddleware { /// The prefix of the server function. @@ -50,7 +50,7 @@ pub struct ServerFnMiddleware { pub middleware: fn() -> Vec>, } -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] pub(crate) static MIDDLEWARE: once_cell::sync::Lazy< std::collections::HashMap< (&'static str, &'static str), @@ -69,14 +69,14 @@ pub(crate) static MIDDLEWARE: once_cell::sync::Lazy< map }); -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] server_fn::inventory::collect!(ServerFnMiddleware); -#[cfg(any(feature = "ssr", doc))] +#[cfg(any(feature = "server", doc))] /// A server function that can be called on serializable arguments and returns a serializable result. pub type ServerFunction = server_fn::SerializedFnTraitObj<()>; -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] #[allow(clippy::type_complexity)] static REGISTERED_SERVER_FUNCTIONS: once_cell::sync::Lazy< std::sync::Arc>>, @@ -88,11 +88,11 @@ static REGISTERED_SERVER_FUNCTIONS: once_cell::sync::Lazy< std::sync::Arc::new(std::sync::RwLock::new(map)) }); -#[cfg(any(feature = "ssr", doc))] +#[cfg(any(feature = "server", doc))] /// The registry of all Dioxus server functions. pub struct DioxusServerFnRegistry; -#[cfg(feature = "ssr")] +#[cfg(feature = "server")] impl server_fn::ServerFunctionRegistry<()> for DioxusServerFnRegistry { type Error = ServerRegistrationFnError; @@ -155,7 +155,7 @@ impl server_fn::ServerFunctionRegistry<()> for DioxusServerFnRegistry { } } -#[cfg(any(feature = "ssr", doc))] +#[cfg(any(feature = "server", doc))] /// Errors that can occur when registering a server function. #[derive(thiserror::Error, Debug, Clone, serde::Serialize, serde::Deserialize)] pub enum ServerRegistrationFnError { @@ -178,7 +178,7 @@ pub enum ServerRegistrationFnError { /// Technically, the trait is implemented on a type that describes the server function's arguments, not the function itself. pub trait DioxusServerFn: server_fn::ServerFn<()> { /// Registers the server function, allowing the client to query it by URL. - #[cfg(any(feature = "ssr", doc))] + #[cfg(any(feature = "server", doc))] fn register_explicit() -> Result<(), server_fn::ServerFnError> { Self::register_in_explicit::() }