Fix suspense diffing (#2789)

* Fix suspense placeholders after creating a node
* add nested suspense client side core test
* fix resolve suspense
This commit is contained in:
Evan Almloff authored and GitHub committed 2024-08-06 13:54:58 -07:00
1 parent 0042430a36
commit 37ea8ab906
5 files changed
+605 -23

No files matched your search

+2 -2
View File
@@ -24,7 +24,7 @@ use std::{panic, rc::Rc};
pub use crate::cfg::Config;
use crate::hydration::SuspenseMessage;
use dioxus_core::{ScopeId, VirtualDom};
use dioxus_core::VirtualDom;
use futures_util::{pin_mut, select, FutureExt, StreamExt};
mod cfg;
@@ -100,7 +100,7 @@ pub async fn run(virtual_dom: VirtualDom, web_config: Config) -> ! {
let server_data = HTMLDataCursor::from_serialized(&hydration_data);
// If the server serialized an error into the root suspense boundary, throw it into the root scope
if let Some(error) = server_data.error() {
dom.in_runtime(|| ScopeId::APP.throw_error(error));
dom.in_runtime(|| dioxus_core::ScopeId::APP.throw_error(error));
}
with_server_data(server_data, || {
dom.rebuild(&mut websys_dom);