Skip to content

fix(core): check if transplanted views are attached to change detector#46974

Closed
edusperoni wants to merge 1 commit intoangular:mainfrom
edusperoni:fix/transplated-views
Closed

fix(core): check if transplanted views are attached to change detector#46974
edusperoni wants to merge 1 commit intoangular:mainfrom
edusperoni:fix/transplated-views

Conversation

@edusperoni
Copy link
Contributor

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • angular.io application / infrastructure changes
  • Other... Please describe:

What is the current behavior?

Template views are always changed detected inside OnPush components if they are detached. Depending on the project, it needs to have at least 1 transplanted view attached for the issue to be reproduced.

Issue Number: #46973

What is the new behavior?

We first check if the transplanted view is attached to change detection before running any other CD in it.

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

@pullapprove pullapprove bot requested a review from AndrewKushnir July 26, 2022 22:37
@edusperoni edusperoni force-pushed the fix/transplated-views branch from 7e6b7a4 to e36b8ff Compare July 26, 2022 23:58
@AndrewKushnir AndrewKushnir requested review from atscott and removed request for AndrewKushnir July 27, 2022 05:24
@atscott atscott added target: patch This PR is targeted for the next patch release action: global presubmit The PR is in need of a google3 global presubmit labels Aug 1, 2022
Copy link
Contributor

@atscott atscott left a comment

Choose a reason for hiding this comment

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

Changes look good, pending verification via internal presubmit checks. I've requested some changes to the tests.

@atscott
Copy link
Contributor

atscott commented Aug 1, 2022

All internal tests passed in the TGP. This change is good to go once comments are resolved.

@edusperoni edusperoni force-pushed the fix/transplated-views branch from e36b8ff to 382ad05 Compare August 4, 2022 18:46
@edusperoni
Copy link
Contributor Author

@atscott I've updated the PR with new tests. They should cover all cases now

Prevents change detection on views transplanted in OnPush components that have been detached from change detection.
@edusperoni edusperoni force-pushed the fix/transplated-views branch from 382ad05 to d947b43 Compare August 4, 2022 18:50
@edusperoni edusperoni requested a review from atscott August 4, 2022 18:51
@dylhunn dylhunn added the area: core Issues related to the framework runtime label Aug 4, 2022
@ngbot ngbot bot added this to the Backlog milestone Aug 4, 2022
Copy link
Contributor

@atscott atscott left a comment

Choose a reason for hiding this comment

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

Perfect 👌

@atscott atscott added action: merge The PR is ready for merge by the caretaker and removed action: global presubmit The PR is in need of a google3 global presubmit labels Aug 5, 2022
@ngbot
Copy link

ngbot bot commented Aug 5, 2022

I see that you just added the action: merge label, but the following checks are still failing:
    failure status "pullapprove" is failing
    pending status "google3" is pending

If you want your PR to be merged, it has to pass all the CI checks.

If you can't get the PR to a green state due to flakes or broken main, please try rebasing to main and/or restarting the CI job. If that fails and you believe that the issue is not due to your change, please contact the caretaker and ask for help.

@dylhunn
Copy link
Contributor

dylhunn commented Aug 8, 2022

This PR was merged into the repository by commit dbed2cf.

@dylhunn dylhunn closed this in dbed2cf Aug 8, 2022
dylhunn pushed a commit that referenced this pull request Aug 8, 2022
#46974)

Prevents change detection on views transplanted in OnPush components that have been detached from change detection.

PR Close #46974
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Aug 12, 2022
This PR contains the following updates:

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

---

### Release Notes

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

### [`v14.1.2`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#&#8203;1412-2022-08-10)

[Compare Source](angular/angular@14.1.1...14.1.2)

##### core

| Commit | Type | Description |
| -- | -- | -- |
| [5ff715c549](angular/angular@5ff715c) | fix | check if transplanted views are attached to change detector ([#&#8203;46974](angular/angular#46974)) |

##### router

| Commit | Type | Description |
| -- | -- | -- |
| [439d77e852](angular/angular@439d77e) | fix | Fix route recognition behavior with some versions of rxjs ([#&#8203;47098](angular/angular#47098)) ([#&#8203;47112](angular/angular#47112)) |

#### Special Thanks

4javier, Andrew Kushnir, Andrew Scott, AntonioCardenas, Bob Watson, Bruno Barbosa, Eduardo Speroni, Edward, George Kalpakas, Jan Melcher, Kristiyan Kostadinov, Mladen Jakovljević, Paul Gschwendtner, Pawel Kozlowski, Roman Matusevich, Vovch, ashide2729, ileil and onrails

<!-- 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, click this checkbox.

---

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

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1501
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 Sep 8, 2022
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 target: patch This PR is targeted for the next patch release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants