New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prevents Fallback UI from becoming suspended #2532
Conversation
# Conflicts: # .github/workflows/main-checks.yml # examples/agents/Cargo.toml # examples/boids/Cargo.toml # examples/contexts/Cargo.toml # examples/counter/Cargo.toml # examples/dyn_create_destroy_apps/Cargo.toml # examples/file_upload/Cargo.toml # examples/function_memory_game/Cargo.toml # examples/function_router/Cargo.toml # examples/function_router/index.html # examples/function_todomvc/Cargo.toml # examples/futures/Cargo.toml # examples/game_of_life/Cargo.toml # examples/inner_html/Cargo.toml # examples/js_callback/Cargo.toml # examples/keyed_list/Cargo.toml # examples/mount_point/Cargo.toml # examples/nested_list/Cargo.toml # examples/node_refs/Cargo.toml # examples/password_strength/Cargo.toml # examples/portals/Cargo.toml # examples/router/Cargo.toml # examples/suspense/Cargo.toml # examples/timer/Cargo.toml # examples/todomvc/Cargo.toml # examples/two_apps/Cargo.toml # examples/web_worker_fib/Cargo.toml # examples/webgl/Cargo.toml # packages/yew-router/Cargo.toml # packages/yew/Cargo.toml # packages/yew/Makefile.toml # packages/yew/src/app_handle.rs # packages/yew/src/dom_bundle/bcomp.rs # packages/yew/src/dom_bundle/mod.rs # packages/yew/src/dom_bundle/traits.rs # packages/yew/src/html/component/lifecycle.rs # packages/yew/src/html/component/mod.rs # packages/yew/src/html/component/scope.rs # packages/yew/src/html/mod.rs # packages/yew/src/lib.rs # packages/yew/src/renderer.rs # packages/yew/src/scheduler.rs # packages/yew/src/suspense/component.rs # packages/yew/src/virtual_dom/vcomp.rs # tools/website-test/Cargo.toml # website/docs/getting-started/build-a-sample-app.mdx # website/docs/tutorial/index.mdx
Visit the preview URL for this PR (updated for commit 45857ff): https://yew-rs-api--pr2532-base-suspense-txudc7o3.web.app (expires Sun, 27 Mar 2022 05:58:58 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 |
Size Comparison
|
<Portal />
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
#[function_component] | ||
pub fn Suspense(_props: &SuspenseProps) -> Html { | ||
Html::default() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is here to be replaced when SSR hydration is a thing, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a skeleton code for libraries when they don't have any renderer enabled (which means that they never gets rendered).
If we apply feature flags on the actual Suspense component multiple feature flags will be needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think in the long term, it may be beneficial to separate rendering logic into a separate crate so we don't keep adding feature flags.
Description
Originally part of #2453.
This pull request prevents Fallback UI from becoming suspended (this used to be an undefined behaviour where the last un-suspended UI of fallback would still be present.).
Checklist
cargo make pr-flow