Wait for the suspense boundary above the router to resolve before sending the first streaming chunk (#3891)

* Change the suspense streaming context after suspense is resolved in the router

* Wait for the suspense context before streaming the first chunk in ssr

* forward more response parts

* warn

* extract the hydration format into a crate

* Fix hydration when no data is sent

* forward web and server features

* Fix suspense that starts on the client

* fix use_server_future on the client

* Add documentation for fullstack hooks and protocol

* downgrade rust edition

* fix clippy

* fix tests

* fix clippy

* Fix pure web compile

* undo changes to the fullstack router example

* fix formatting
This commit is contained in:
Evan Almloff authored and GitHub committed 2025-04-08 16:01:21 -05:00
1 parent 4f74ef81d1
commit 84221f55a0
45 files changed
+988 -533

No files matched your search

+2 -2
View File
@@ -22,6 +22,7 @@ dioxus-interpreter-js = { workspace = true, features = [
"minimal_bindings",
"webonly",
] }
dioxus-fullstack-protocol = { workspace = true, features = ["web"], optional = true }
generational-box = { workspace = true }
js-sys = "0.3.70"
@@ -39,7 +40,6 @@ serde_json = { version = "1.0", optional = true }
serde = { version = "1.0", optional = true }
serde-wasm-bindgen = { version = "0.5.0", optional = true }
ciborium = { workspace = true, optional = true }
async-trait = { version = "0.1.58", optional = true }
[dependencies.web-sys]
@@ -86,7 +86,7 @@ lazy-js-bundle = { workspace = true }
[features]
default = ["mounted", "file_engine", "devtools", "document"]
hydrate = ["web-sys/Comment", "ciborium", "dep:serde"]
hydrate = ["web-sys/Comment", "dep:serde", "dep:dioxus-fullstack-protocol"]
mounted = [
"web-sys/Element",
"dioxus-html/mounted",