fix(http): gracefully handle HTTP requests on destroyed injectors#67871
Open
arturovt wants to merge 1 commit intoangular:mainfrom
Open
fix(http): gracefully handle HTTP requests on destroyed injectors#67871arturovt wants to merge 1 commit intoangular:mainfrom
arturovt wants to merge 1 commit intoangular:mainfrom
Conversation
Previously, initiating an HTTP request after the injector has been destroyed (e.g. during SSR teardown) would throw NG0205, resulting in an unactionable error in production monitoring tools where minified stack traces provide no useful context. Instead, return EMPTY and emit a dev-mode warning (NG-2824) that includes the request URL, making the issue immediately actionable during development while keeping production stable and monitoring clean. NOTE: alternatively, instead of returning EMPTY, we could throw a new dedicated RuntimeError (NG2824) that includes the request URL. This would preserve the "loud failure" semantics while making the error actionable in production monitoring — the URL survives minification since it is a runtime string, not a symbol.
Contributor
|
@arturovt I'm a bit unclear on what's happening in your situation here. There's no issue and no repro so it's a bit difficult to understand the need, and since we've never seen any reports of this being a problem, I'm hesitant to just add this. Can you create an issue with a repro and link that here? I'd like to see what the actual issue and experience is, which will inform reviewing this PR. |
Member
|
Isn't there a larger issue at stake here ? It feels like the issue you had could happen with other services, not only the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Previously, initiating an HTTP request after the injector has been
destroyed (e.g. during SSR teardown) would throw NG0205, resulting
in an unactionable error in production monitoring tools where
minified stack traces provide no useful context.
Instead, return EMPTY and emit a dev-mode warning (NG-2824) that
includes the request URL, making the issue immediately actionable
during development while keeping production stable and monitoring
clean.
NOTE: alternatively, instead of returning EMPTY, we could throw a
new dedicated RuntimeError (NG2824) that includes the request URL.
This would preserve the "loud failure" semantics while making the
error actionable in production monitoring — the URL survives
minification since it is a runtime string, not a symbol.