angular/packages/core/test
Andrew Kushnir 55965cbf8c fix(core): handle hydration of view containers for root components (#51247)
For cases when a root component also acts as an anchor node for a ViewContainerRef (for example, when ViewContainerRef is injected in a root component), there is a need to serialize information about the component itself, as well as an LContainer that represents this ViewContainerRef. Effectively, we need to serialize 2 pieces of info: (1) hydration info for the root component itself and (2) hydration info for the ViewContainerRef instance (an LContainer). Each piece of information is included into the hydration data (in the TransferState object) separately, thus we end up with 2 ids. Since we only have 1 root element, we encode both bits of info into a single string: ids are separated by the `|` char (e.g. `10|25`, where `10` is the ngh for a component view and 25 is the `ngh` for a root view which holds LContainer).

Previously, we were only including component-related information, thus all the views in the view container remained dehydrated and duplicated (client-rendered from scratch) on the client.

Resolves #51157.

PR Close #51247
2023-08-07 09:24:26 -07:00
..
acceptance refactor(core): remove unnecessary import for custom expect. (#51216) 2023-08-07 09:22:17 -07:00
animation refactor(core): handle #24571 todos. (#49221) 2023-06-14 12:33:44 +02:00
bundling fix(core): handle hydration of view containers for root components (#51247) 2023-08-07 09:24:26 -07:00
change_detection refactor(core): Cleanup for Iterable differs test. (#49598) 2023-04-04 15:13:01 -07:00
compiler build: ensure bootstrap transitive runfiles are made available (#48521) 2022-12-19 19:50:41 +00:00
debug refactor(core): handle #24571 todos. (#49221) 2023-06-14 12:33:44 +02:00
di refactor(core): remove unnecessary import for custom expect. (#51216) 2023-08-07 09:22:17 -07:00
dom refactor(core): cleanup type any (#48623) 2023-01-04 12:15:16 -08:00
hydration refactor(core): adding hydration for content projection (#49454) 2023-03-21 17:42:53 +01:00
i18n build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
linker refactor(core): remove unnecessary import for custom expect. (#51216) 2023-08-07 09:22:17 -07:00
metadata refactor(core): handle #24571 todos. (#49221) 2023-06-14 12:33:44 +02:00
reflection refactor(core): remove unused logic from reflection capabilities (#45335) 2022-03-24 11:02:39 -07:00
render3 feat(core): add afterRender and afterNextRender (#50607) 2023-08-01 13:02:27 -07:00
sanitization refactor(core): Better use of Object.keys() (#51153) 2023-07-25 09:17:46 -07:00
signals test(core): correct typo in signal_spec.ts (#50392) 2023-05-23 14:11:03 +00:00
strict_types refactor(core): rename ...WithMeta types to ...Declaration and alias to unknown (#41119) 2021-03-22 08:57:18 -07:00
testability refactor: use queueMicrotask to schedule micro tasks instead of various helpers (#50485) 2023-06-15 16:38:21 +02:00
util feat(core): add ability to transform input values (#50420) 2023-05-30 13:01:13 -07:00
zone refactor: use queueMicrotask to schedule micro tasks instead of various helpers (#50485) 2023-06-15 16:38:21 +02:00
application_config_spec.ts feat(core): add mergeApplicationConfig method (#49253) 2023-03-01 11:20:31 -08:00
application_init_spec.ts refactor(core): throw an error when APP_INITIALIZER token is not an array. (#49860) 2023-04-23 18:31:24 -07:00
application_module_spec.ts test(core): fix a crosstalk issue with locale ids (#45626) 2022-04-18 09:28:42 -07:00
application_ref_integration_spec.ts refactor(platform-browser): update renderer to be able to remove ServerRendererFactory2 and EmulatedEncapsulationServerRenderer2 (#49630) 2023-04-05 11:42:57 -07:00
application_ref_spec.ts refactor(core): handle #24571 todos. (#49221) 2023-06-14 12:33:44 +02:00
BUILD.bazel build: bundle tests for karma web test suites (#48521) 2022-12-19 19:50:42 +00:00
component_fixture_spec.ts feat(core): update reference and doc to change async to waitAsync. (#37583) 2020-08-03 12:54:13 -07:00
dev_mode_spec.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
directive_lifecycle_integration_spec.ts refactor(core): cleanup type any (#48623) 2023-01-04 12:15:16 -08:00
error_handler_spec.ts refactor(core): remove unused error handler logic (#46216) 2022-06-02 13:40:16 -07:00
event_emitter_spec.ts refactor(core): cleanup type any (#48623) 2023-01-04 12:15:16 -08:00
fake_async_spec.ts refactor(core): remove unnecessary import for custom expect. (#51216) 2023-08-07 09:22:17 -07:00
forward_ref_integration_spec.ts refactor(core): handle #24571 todos. (#49221) 2023-06-14 12:33:44 +02:00
runtime_error_spec.ts refactor(core): improve error message when dom node is not found (#49977) 2023-04-25 09:29:47 -07:00
test_bed_spec.ts refactor(platform-browser): replace our own toBeAnInstanceOf with toBeInstanceOf (#50661) 2023-06-14 10:58:04 +02:00
transfer_state_spec.ts refactor(core): simplify state transfer escaping (#50201) 2023-05-10 11:31:34 -07:00
util_spec.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00