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(common): untrack subscription and unsubscription in async pipe #50522

Closed
wants to merge 1 commit into from

Conversation

alxhub
Copy link
Member

@alxhub alxhub commented May 30, 2023

This commit wraps the actual subscription/unsubscription in the async pipe with untracked, to ensure that any signal reads/writes which might take place in Observable side effects are not attributed to the template.

Fixes #50382

@alxhub alxhub force-pushed the fw/reactivity/untrack-async-pipe branch from 9a0305b to bf6a5b3 Compare May 30, 2023 22:10
@alxhub alxhub changed the title fix(core): untrack subscription and unsubscription in async pipe fix(common): untrack subscription and unsubscription in async pipe May 30, 2023
This commit wraps the actual subscription/unsubscription in the `async`
pipe with `untracked`, to ensure that any signal reads/writes which might
take place in `Observable` side effects are not attributed to the template.

Fixes angular#50382
@alxhub alxhub force-pushed the fw/reactivity/untrack-async-pipe branch from bf6a5b3 to 6750e6b Compare May 31, 2023 00:15
@alxhub alxhub added action: merge The PR is ready for merge by the caretaker target: patch This PR is targeted for the next patch release labels May 31, 2023
Copy link
Contributor

@AndrewKushnir AndrewKushnir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed-for: size-tracking

@dylhunn dylhunn added area: core Issues related to the framework runtime cross-cutting: signals labels May 31, 2023
@ngbot ngbot bot modified the milestone: Backlog May 31, 2023
@dylhunn dylhunn removed the request for review from pkozlowski-opensource May 31, 2023 19:37
@dylhunn
Copy link
Contributor

dylhunn commented May 31, 2023

This PR was merged into the repository by commit 72b4ff4.

dylhunn pushed a commit that referenced this pull request May 31, 2023
…50522)

This commit wraps the actual subscription/unsubscription in the `async`
pipe with `untracked`, to ensure that any signal reads/writes which might
take place in `Observable` side effects are not attributed to the template.

Fixes #50382

PR Close #50522
@dylhunn dylhunn closed this in 72b4ff4 May 31, 2023
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 Jul 1, 2023
thomasturrell pushed a commit to thomasturrell/angular that referenced this pull request Aug 29, 2023
…ngular#50522)

This commit wraps the actual subscription/unsubscription in the `async`
pipe with `untracked`, to ensure that any signal reads/writes which might
take place in `Observable` side effects are not attributed to the template.

Fixes angular#50382

PR Close angular#50522
ChellappanRajan pushed a commit to ChellappanRajan/angular that referenced this pull request Jan 23, 2024
…ngular#50522)

This commit wraps the actual subscription/unsubscription in the `async`
pipe with `untracked`, to ensure that any signal reads/writes which might
take place in `Observable` side effects are not attributed to the template.

Fixes angular#50382

PR Close angular#50522
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: core Issues related to the framework runtime cross-cutting: signals target: patch This PR is targeted for the next patch release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Can't set signal from within async piped Observable
4 participants