Open gbj opened 3 months ago
- [ ] Figuring out the interaction between Lazy routes and hydration (what do you do while hydrating if the code for the route hasn't been lazy-loaded yet?)
@gbj Regarding this I was wondering if a js-sys generated binding to either of WebAssembly.compileStreaming()
or WebAssembly.instantiateStreaming()
could provide the hydration opportunity for a thing that hasn't been loaded yet?
For context:
The
WebAssembly.instantiateStreaming()
static method compiles and instantiates aWebAssembly
module directly from a streamed underlying source. This is the most efficient, optimized way to load Wasm code.
I have a suspicion its importObject
argument could be the collection of imports for which there is a separate leptos_lazy_{$sha}.wasm
file corresponding to the DOM's expectation - like a collection of small polyfill files.
I have merged the
leptos_0.7
branch from #2607 because it is much easier just to juggle main + PRs than main, a branch, PRs to main, and PRs to the branch!Good first issues/PRs super welcome to fill in missing things:
Resource::map
andResource::and_then
(use 0.6 as baseline, should be very similar)create_blocking_resource
and so on (or at least help compile a list of renamed functions that we can add deprecations for)Outstanding feature TODOs, in order of priority
IntoView
on an arbitrary struct (IntoRender
)Resource::refetch()
Resource::once
(with a relatively more efficient implementation)Await
component (useResource::once
above)AnimatedShow
base
set_is_routing
SsrMode::PartiallyBlocked
Lazy
routes and hydration (what do you do while hydrating if the code for the route hasn't been lazy-loaded yet?)AnimatedRoutes
/AnimatedOutlet
Forward-ported bug fixes (things that have been fixed on 0.6 but reimplemented in 0.7, and need to be checked)
Finalizing:
When ready for release