You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow visit to specify Rehydration/Serialization or default
ClientBuilder
Expose as a configurable option the `renderMode` option. This option
would be to specify the clientBuilder to be used when Glimmer does it's
append run.
The serialization mode, used by SSR applications, is used to specify
additional markings necessary to get enough fidelity to accurately
rehydrate the DOM. For example, it would provide additional comment
nodes with codes to ensure text nodes are separated when they are rather
than merged.
The rehydration mode is specifically designed to read DOM that is
produced by the serialization mode and accurately reproduce it.
A great description of how Rehydration works can be found in this
commit:
glimmerjs/glimmer-vm@316805b
This PR allows the appropriate ElementBuilder interface to be used via
the `visit` API.
Additional Work:
- Update Fastboot to pass the appropriate `renderMode` flag such that it
generates the serialization format DOM
- Update ember-cli-fastboot instance-initializer to not do a double boot
and instead configure it to use the rehydration `renderMode`
- See more information here:
https://github.com/ember-fastboot/ember-cli-fastboot/blob/master/addon/instance-initializers/clear-double-boot.js
Open Questions:
- Is the `renderMode` flag Public API
- Should this be put behind a feature flag
- @rwjblue noted that this technically would be a bug fix as it would
remove the double render problem with SSR ember apps
0 commit comments