Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(http): create macrotask during request handling instead of load start. #50406

Closed
wants to merge 1 commit into from

Conversation

alan-agius4
Copy link
Contributor

This commit schedules the macrotask creation to happen before the XHR loadStart event. This is needed as in some cases, Zone.js becomes stable too early.

With this commit, we also update the internal createBackgroundMacroTask method to use Zone.js scheduleMacroTask as otherwise the setTimeout would cause fakeAsync tests to fail due to pending timers.

Closes #50405

@alan-agius4 alan-agius4 added area: common/http Issues related to HTTP and HTTP Client target: patch This PR is targeted for the next patch release labels May 22, 2023
@ngbot ngbot bot added this to the Backlog milestone May 22, 2023
@alan-agius4 alan-agius4 added the action: global presubmit The PR is in need of a google3 global presubmit label May 22, 2023
@alan-agius4 alan-agius4 self-assigned this May 22, 2023
@alan-agius4 alan-agius4 force-pushed the http-macro-task branch 2 times, most recently from cff320f to b35e352 Compare May 23, 2023 14:26
…tart

This commit schedules the macrotask creation to happen before the XHR `loadStart` event. This is needed as in some cases, Zone.js becomes stable too early.

With this commit, we also update the internal `createBackgroundMacroTask` method to use Zone.js `scheduleMacroTask` as otherwise the `setTimeout` would cause `fakeAsync` tests to fail due to pending timers.

Closes angular#50405
@alan-agius4 alan-agius4 force-pushed the http-macro-task branch 2 times, most recently from 46377b9 to 0ae44ee Compare May 23, 2023 14:31
@alan-agius4 alan-agius4 added the action: review The PR is still awaiting reviews from at least one requested reviewer label May 23, 2023
@alan-agius4 alan-agius4 requested a review from AndrewKushnir May 23, 2023 14:54
@alan-agius4 alan-agius4 marked this pull request as ready for review May 23, 2023 14:54
@alan-agius4
Copy link
Contributor Author

Caretaker note: G3 failures are pre-existing.

@alan-agius4
Copy link
Contributor Author

alan-agius4 commented May 23, 2023

TGP

@alan-agius4
Copy link
Contributor Author

@alan-agius4 alan-agius4 removed the action: global presubmit The PR is in need of a google3 global presubmit label May 24, 2023
@alan-agius4 alan-agius4 added merge: caretaker note Alert the caretaker performing the merge to check the PR for an out of normal action needed or note and removed action: review The PR is still awaiting reviews from at least one requested reviewer labels May 24, 2023
@jessicajaniuk jessicajaniuk added the action: merge The PR is ready for merge by the caretaker label May 24, 2023
@jessicajaniuk
Copy link
Contributor

This PR was merged into the repository by commit 2cdb4c5.

jessicajaniuk pushed a commit that referenced this pull request May 24, 2023
…tart (#50406)

This commit schedules the macrotask creation to happen before the XHR `loadStart` event. This is needed as in some cases, Zone.js becomes stable too early.

With this commit, we also update the internal `createBackgroundMacroTask` method to use Zone.js `scheduleMacroTask` as otherwise the `setTimeout` would cause `fakeAsync` tests to fail due to pending timers.

Closes #50405

PR Close #50406
@alan-agius4 alan-agius4 deleted the http-macro-task branch May 24, 2023 15:40
dylhunn added a commit to dylhunn/angular that referenced this pull request May 25, 2023
dylhunn added a commit that referenced this pull request May 25, 2023
dylhunn added a commit that referenced this pull request May 25, 2023
alan-agius4 added a commit to alan-agius4/angular that referenced this pull request May 26, 2023
…rPendingTasks`

This commits refactors the HTTP client to use `InitialRenderPendingTasks` insteas of Zone.js macrotask. This is another approach to angular#50406 which was revert due to a failure in G3.
alan-agius4 added a commit to alan-agius4/angular that referenced this pull request May 26, 2023
…rPendingTasks`

This commits refactors the HTTP client to use `InitialRenderPendingTasks` insteas of Zone.js macrotask. This is another approach to angular#50406 which was revert due to a failure in G3.
alan-agius4 added a commit to alan-agius4/angular that referenced this pull request May 26, 2023
…rPendingTasks`

This commits refactors the HTTP client to use `InitialRenderPendingTasks` instead of Zone.js macrotask. This is another approach to angular#50406 which was revert due to a failure in G3.
dylhunn pushed a commit that referenced this pull request May 30, 2023
…rPendingTasks` (#50425)

This commits refactors the HTTP client to use `InitialRenderPendingTasks` instead of Zone.js macrotask. This is another approach to #50406 which was revert due to a failure in G3.

PR Close #50425
dylhunn pushed a commit that referenced this pull request May 30, 2023
…rPendingTasks` (#50425)

This commits refactors the HTTP client to use `InitialRenderPendingTasks` instead of Zone.js macrotask. This is another approach to #50406 which was revert due to a failure in G3.

PR Close #50425
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Jun 6, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@angular/animations](https://github.com/angular/angular) | dependencies | patch | [`16.0.2` -> `16.0.4`](https://renovatebot.com/diffs/npm/@angular%2fanimations/16.0.2/16.0.4) |
| [@angular/common](https://github.com/angular/angular) | dependencies | patch | [`16.0.2` -> `16.0.4`](https://renovatebot.com/diffs/npm/@angular%2fcommon/16.0.2/16.0.4) |
| [@angular/compiler](https://github.com/angular/angular) | dependencies | patch | [`16.0.2` -> `16.0.4`](https://renovatebot.com/diffs/npm/@angular%2fcompiler/16.0.2/16.0.4) |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/main/packages/compiler-cli) ([source](https://github.com/angular/angular)) | devDependencies | patch | [`16.0.2` -> `16.0.4`](https://renovatebot.com/diffs/npm/@angular%2fcompiler-cli/16.0.2/16.0.4) |
| [@angular/core](https://github.com/angular/angular) | dependencies | patch | [`16.0.2` -> `16.0.4`](https://renovatebot.com/diffs/npm/@angular%2fcore/16.0.2/16.0.4) |
| [@angular/forms](https://github.com/angular/angular) | dependencies | patch | [`16.0.2` -> `16.0.4`](https://renovatebot.com/diffs/npm/@angular%2fforms/16.0.2/16.0.4) |
| [@angular/platform-browser](https://github.com/angular/angular) | dependencies | patch | [`16.0.2` -> `16.0.4`](https://renovatebot.com/diffs/npm/@angular%2fplatform-browser/16.0.2/16.0.4) |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular) | dependencies | patch | [`16.0.2` -> `16.0.4`](https://renovatebot.com/diffs/npm/@angular%2fplatform-browser-dynamic/16.0.2/16.0.4) |

---

### Release Notes

<details>
<summary>angular/angular</summary>

### [`v16.0.4`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#&#8203;1604-2023-06-01)

[Compare Source](angular/angular@16.0.3...16.0.4)

##### animations

| Commit | Type | Description |
| -- | -- | -- |
| [df65c4fc8f](angular/angular@df65c4f) | fix | Trigger leave animation when ViewContainerRef is injected ([#&#8203;48705](angular/angular#48705)) |

##### common

| Commit | Type | Description |
| -- | -- | -- |
| [7e1bc513de](angular/angular@7e1bc51) | fix | untrack subscription and unsubscription in async pipe ([#&#8203;50522](angular/angular#50522)) |

##### core

| Commit | Type | Description |
| -- | -- | -- |
| [9970b29ace](angular/angular@9970b29) | fix | update `ApplicationRef.isStable` to account for rendering pending tasks ([#&#8203;50425](angular/angular#50425)) |

<!-- CHANGELOG SPLIT MARKER -->

### [`v16.0.3`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#&#8203;1603-2023-05-24)

[Compare Source](angular/angular@16.0.2...16.0.3)

##### core

| Commit | Type | Description |
| -- | -- | -- |
| [c11041e372](angular/angular@c11041e) | fix | adds missing symbols for animation standalone bundling test ([#&#8203;50434](angular/angular#50434)) |
| [98e8fdf40e](angular/angular@98e8fdf) | fix | fix `Self` flag inside embedded views with custom injectors ([#&#8203;50270](angular/angular#50270)) |
| [199ff4fe7f](angular/angular@199ff4f) | fix | host directives incorrectly validating aliased bindings ([#&#8203;50364](angular/angular#50364)) |

##### http

| Commit | Type | Description |
| -- | -- | -- |
| [080bbd2137](angular/angular@080bbd2) | fix | create macrotask during request handling instead of load start ([#&#8203;50406](angular/angular#50406)) |

<!-- CHANGELOG SPLIT MARKER -->

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTEuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMS4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9-->

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1915
Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org>
Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Jun 24, 2023
ChellappanRajan pushed a commit to ChellappanRajan/angular that referenced this pull request Jan 23, 2024
…tart (angular#50406)

This commit schedules the macrotask creation to happen before the XHR `loadStart` event. This is needed as in some cases, Zone.js becomes stable too early.

With this commit, we also update the internal `createBackgroundMacroTask` method to use Zone.js `scheduleMacroTask` as otherwise the `setTimeout` would cause `fakeAsync` tests to fail due to pending timers.

Closes angular#50405

PR Close angular#50406
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker area: common/http Issues related to HTTP and HTTP Client merge: caretaker note Alert the caretaker performing the merge to check the PR for an out of normal action needed or note target: patch This PR is targeted for the next patch release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

HTTP calls seem to hang server side only
3 participants