codify "platform" into resolution logic, server-fn/fullstack overhaul (#4596)

overhaul dioxus fullstack using a new implementation of server_fn

This PR is a complete rewrite of dioxus fullstack designed to improve compatibility with axum and to fix a number of compilation errors based on feature flag unification plumbing through macros.
This commit is contained in:
Jonathan Kelley authored and GitHub committed 2025-10-03 18:26:19 -07:00
1 parent 8421c3aef0
commit f2b1c6d97f
424 files changed
+17284 -6624

No files matched your search

+4 -3
View File
@@ -20,11 +20,13 @@ use std::{pin::Pin, task::Poll};
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
pub struct Task {
pub(crate) id: slotmap::DefaultKey,
pub(crate) id: TaskId,
// We add a raw pointer to make this !Send + !Sync
unsend: PhantomData<*const ()>,
}
pub(crate) type TaskId = slotmap::DefaultKey;
impl Task {
/// Create a task from a raw id
pub(crate) const fn from_id(id: slotmap::DefaultKey) -> Self {
@@ -48,8 +50,6 @@ impl Task {
}
/// Drop the task immediately.
///
/// This does not abort the task, so you'll want to wrap it in an abort handle if that's important to you
pub fn cancel(self) {
remove_future(self);
}
@@ -382,6 +382,7 @@ impl TaskType {
#[derive(Debug)]
pub(crate) enum SchedulerMsg {
/// All components have been marked as dirty, requiring a full render
#[allow(unused)]
AllDirty,
/// Immediate updates from Components that mark them as dirty