[BUGFIX beta] Ensure injections happen in engine instances. #14140
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Prior to this
_environment
could not be relied upon in routes or views (which is used whenshouldRender: false
is used withvisit
).The refactor uses the environment to determine what injections to setup in the engine-instance, and has the
application-instance
defer to theengine-instance
to avoid duplication.Also, removes manual threading of
props.renderer
(as requested in #14139).Ensure that all components receive type injections.
Prior to this change we were defaulting to
Ember.Component
which does not receive injections (which meant it was missing therenderer
). This worked "ok" in HTMLBars since we created a default global renderer to handle components/views without a container/owner.This change ensures that in the template only component case we fall back to using the default component looked up from the owner. This ensures that injections are present.