angular/packages/core/src
Andrew Kushnir 8ea1fb7396 refactor(core): exclude disconnected nodes from hydration (#49471)
This commit updates the hydration logic to handle situations where DOM nodes might end up
being disconnected from the DOM tree. We serialize ids of those nodes into the hydration
state transfer data and use the information to switch from hydration to the regular "creation
mode" at runtime.

This situation may happen during the content projection, when some nodes don't make it
into one of the content projection slots (for example, when there is no default
<ng-content /> slot in projector component's template).

Note: we leverage the fact that we have this information available in the DOM emulation
layer (in Domino) for now. Longer-term solution should not rely on the DOM emulation and
only use internal data structures and state to compute this information.

PR Close #49471
2023-03-22 10:04:56 -07:00
..
change_detection refactor(core): Remove VE/Render3 aliases from ViewRef code (#49499) 2023-03-21 14:08:29 -07:00
compiler feat(compiler): add support for compile-time required inputs (#49468) 2023-03-20 13:10:30 +01:00
debug refactor(core): remove unused r2 debug code (#49292) 2023-03-02 21:47:25 +00:00
di feat(core): allow removal of previously registered DestroyRef callbacks (#49493) 2023-03-21 16:58:22 +01:00
hydration refactor(core): exclude disconnected nodes from hydration (#49471) 2023-03-22 10:04:56 -07:00
i18n refactor(core): make i18n error messages tree shakable (#46468) 2022-06-23 16:36:35 -07:00
interface build(bazel): add bazel targets for aio doc generation 2022-11-22 13:51:16 -07:00
linker refactor(core): exclude disconnected nodes from hydration (#49471) 2023-03-22 10:04:56 -07:00
metadata feat(compiler): add support for compile-time required inputs (#49468) 2023-03-20 13:10:30 +01:00
reflection build(bazel): add bazel targets for aio doc generation 2022-11-22 13:51:16 -07:00
render perf(core): change RendererType2.styles to accept a only a flat array (#49072) 2023-02-17 11:11:48 -08:00
render3 refactor(core): exclude disconnected nodes from hydration (#49471) 2023-03-22 10:04:56 -07:00
sanitization refactor(core): remove IE11 only sanitization code (#48438) 2023-02-03 09:45:03 -08:00
signals refactor(core): adjust signature of the EffectRef (#49490) 2023-03-21 15:51:42 +01:00
testability perf(platform-browser): avoid including Testability by default in bootstrapApplication (#45885) 2022-05-10 13:34:28 -07:00
util refactor(core): post-hydration cleanup of unclaimed views (#49455) 2023-03-21 18:17:41 +01:00
view refactor: remove unnecessary file (#49042) 2023-02-17 11:08:33 -08:00
zone refactor(core): move Zone providers to a single provider function (#49373) 2023-03-14 09:20:53 -07:00
application_config.ts feat(core): add mergeApplicationConfig method (#49253) 2023-03-01 11:20:31 -08:00
application_init.ts refactor(core): Remove isObservable() in favor isSubscribable(). (#49295) 2023-03-08 17:58:19 +00:00
application_module.ts perf(core): make LOCALE_ID and other tokens from ApplicationModule tree-shakable (#45102) 2022-02-18 13:40:02 -08:00
application_ref.ts refactor(core): move Zone providers to a single provider function (#49373) 2023-03-14 09:20:53 -07:00
application_tokens.ts feat(core): add API to provide CSP nonce for inline stylesheets (#49444) 2023-03-17 14:08:21 +01:00
change_detection.ts perf(core): remove support for the deprecated WrappedValue (#43507) 2021-10-01 12:25:19 -04:00
console.ts refactor(core): make platform core providers tree-shakable (#45506) 2022-04-12 22:28:23 +00:00
core.externs.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
core.ts feat(core): add API to provide CSP nonce for inline stylesheets (#49444) 2023-03-17 14:08:21 +01:00
core_private_export.ts refactor(core): expose private setAlternateWeakRefImpl (#49466) 2023-03-20 12:32:20 -07:00
core_reactivity_export.ts feat(core): add Angular Signals to the public API (#49150) 2023-02-22 11:27:21 -08:00
core_reactivity_export_internal.ts refactor(core): adjust signature of the EffectRef (#49490) 2023-03-21 15:51:42 +01:00
core_render3_private_export.ts refactor(platform-server): remove renderApplication overload that accepts a component (#49463) 2023-03-22 16:40:31 +01:00
di.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
error_details_base_url.ts docs: extract XSS security doc URL into a constant (#48082) 2022-11-17 13:21:16 -08:00
error_handler.ts refactor(core): remove unused error handler logic (#46216) 2022-06-02 13:40:16 -07:00
errors.ts refactor(core): move Zone providers to a single provider function (#49373) 2023-03-14 09:20:53 -07:00
event_emitter.ts refactor(core): ensure compatibility with noImplicitOverride (#42512) 2021-07-12 13:11:15 -07:00
linker.ts feat(core): introduce concept of DestroyRef (#49158) 2023-02-28 11:52:09 -08:00
metadata.ts refactor(core): move ModuleWithProviders type (#45722) 2022-04-27 09:05:51 -07:00
platform_core_providers.ts refactor(core): make platform core providers tree-shakable (#45506) 2022-04-12 22:28:23 +00:00
r3_symbols.ts refactor(core): rename ɵɵInjectableDef interface to ɵɵInjectableDeclaration (#41316) 2021-04-07 13:57:12 -07:00
render.ts refactor(core): clean up circular dependencies (#39722) 2020-11-18 09:15:29 -08:00
transfer_state.ts refactor(core): use lower-level API to annotate TransferState class (#49272) 2023-03-01 11:19:10 -08:00
version.ts Revert "refactor(core): optimize calls to split and slice while computing version parts (#41208)" 2021-05-12 14:13:50 -04:00
zone.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00