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

Port @bind:after support to 17.5 / 7.0.200 releases #8304

Merged
merged 1 commit into from
Feb 27, 2023

Conversation

chsienki
Copy link
Contributor

Port of 9ce52f1afbfb819fc8499a590385200b97b13f33 which fixes the bind:get, bind:set, bind:after issues.

@chsienki chsienki added the area-compiler Umbrella for all compiler issues label Feb 21, 2023
@chsienki chsienki requested a review from a team as a code owner February 21, 2023 19:05
@chsienki chsienki changed the title Port 9ce52f1afbfb819fc8499a590385200b97b13f33 from Razor-compiller Port 9ce52f1afbfb819fc8499a590385200b97b13f33 from Razor-compiler Feb 21, 2023
Due to the way we decided to implement bind get,set,after, customers can run into situations where their components render many more times than expected, which results in confusion and performance degradation.

This was due to the fact that we chose to rely on EventCallback to implement this feature and we did not realize there were some side effects associated with it.

The APIs we are adding bypass the whole EventCallback infrastructure (simplifying the implementation too) and fix the issue.

This change updates the compiler to rely on the new runtime APIs

(cherry picked from commit 9ce52f1afbfb819fc8499a590385200b97b13f33)
@333fred 333fred requested a review from a team as a code owner February 27, 2023 18:28
@333fred 333fred changed the base branch from main to release/dev17.5 February 27, 2023 18:28
@333fred 333fred removed the request for review from a team February 27, 2023 18:29
@jaredpar jaredpar changed the title Port 9ce52f1afbfb819fc8499a590385200b97b13f33 from Razor-compiler Port @bind:after support to 17.5 / 7.0.200 releases Feb 27, 2023
@333fred 333fred merged commit f54510f into dotnet:release/dev17.5 Feb 27, 2023
ghost pushed a commit that referenced this pull request Mar 1, 2023
* Update Razor addin version to 17.5

* Include Compiler features in Project Engine

* Skip Diagnostic tests for now

* [Blazor] Bind after changes (#363) (#8304)

Due to the way we decided to implement bind get,set,after, customers can run into situations where their components render many more times than expected, which results in confusion and performance degradation.

This was due to the fact that we chose to rely on EventCallback to implement this feature and we did not realize there were some side effects associated with it.

The APIs we are adding bypass the whole EventCallback infrastructure (simplifying the implementation too) and fix the issue.

This change updates the compiler to rely on the new runtime APIs

(cherry picked from commit 9ce52f1afbfb819fc8499a590385200b97b13f33)

Co-authored-by: Javier Calvarro Nelson <[email protected]>

* [17.5] Visit assemblies in search for view components (#8328)

* Add a test

* Visit assemblies in search for view components

---------

Co-authored-by: Allison Chou <[email protected]>
Co-authored-by: Shen Chen <[email protected]>
Co-authored-by: Sandy Armstrong <[email protected]>
Co-authored-by: David Wengier <[email protected]>
Co-authored-by: Ryan Brandenburg <[email protected]>
Co-authored-by: Chris Sienkiewicz <[email protected]>
Co-authored-by: Javier Calvarro Nelson <[email protected]>
Co-authored-by: Jan Jones <[email protected]>
ghost pushed a commit that referenced this pull request Mar 1, 2023
* Update Razor addin version to 17.5

* Include Compiler features in Project Engine

* Skip Diagnostic tests for now

* [Blazor] Bind after changes (#363) (#8304)

Due to the way we decided to implement bind get,set,after, customers can run into situations where their components render many more times than expected, which results in confusion and performance degradation.

This was due to the fact that we chose to rely on EventCallback to implement this feature and we did not realize there were some side effects associated with it.

The APIs we are adding bypass the whole EventCallback infrastructure (simplifying the implementation too) and fix the issue.

This change updates the compiler to rely on the new runtime APIs

(cherry picked from commit 9ce52f1afbfb819fc8499a590385200b97b13f33)

Co-authored-by: Javier Calvarro Nelson <[email protected]>

* [17.5] Visit assemblies in search for view components (#8328)

* Add a test

* Visit assemblies in search for view components

---------

Co-authored-by: Allison Chou <[email protected]>
Co-authored-by: Shen Chen <[email protected]>
Co-authored-by: Sandy Armstrong <[email protected]>
Co-authored-by: David Wengier <[email protected]>
Co-authored-by: Ryan Brandenburg <[email protected]>
Co-authored-by: Chris Sienkiewicz <[email protected]>
Co-authored-by: Javier Calvarro Nelson <[email protected]>
Co-authored-by: Jan Jones <[email protected]>
ghost pushed a commit that referenced this pull request Mar 1, 2023
* Update Razor addin version to 17.5

* Include Compiler features in Project Engine

* Skip Diagnostic tests for now

* [Blazor] Bind after changes (#363) (#8304)

Due to the way we decided to implement bind get,set,after, customers can run into situations where their components render many more times than expected, which results in confusion and performance degradation.

This was due to the fact that we chose to rely on EventCallback to implement this feature and we did not realize there were some side effects associated with it.

The APIs we are adding bypass the whole EventCallback infrastructure (simplifying the implementation too) and fix the issue.

This change updates the compiler to rely on the new runtime APIs

(cherry picked from commit 9ce52f1afbfb819fc8499a590385200b97b13f33)

Co-authored-by: Javier Calvarro Nelson <[email protected]>

* [17.5] Visit assemblies in search for view components (#8328)

* Add a test

* Visit assemblies in search for view components

---------

Co-authored-by: Allison Chou <[email protected]>
Co-authored-by: Shen Chen <[email protected]>
Co-authored-by: Sandy Armstrong <[email protected]>
Co-authored-by: David Wengier <[email protected]>
Co-authored-by: Ryan Brandenburg <[email protected]>
Co-authored-by: Chris Sienkiewicz <[email protected]>
Co-authored-by: Javier Calvarro Nelson <[email protected]>
Co-authored-by: Jan Jones <[email protected]>
ghost pushed a commit that referenced this pull request Mar 1, 2023
* Update Razor addin version to 17.5

* Include Compiler features in Project Engine

* Skip Diagnostic tests for now

* [Blazor] Bind after changes (#363) (#8304)

Due to the way we decided to implement bind get,set,after, customers can run into situations where their components render many more times than expected, which results in confusion and performance degradation.

This was due to the fact that we chose to rely on EventCallback to implement this feature and we did not realize there were some side effects associated with it.

The APIs we are adding bypass the whole EventCallback infrastructure (simplifying the implementation too) and fix the issue.

This change updates the compiler to rely on the new runtime APIs

(cherry picked from commit 9ce52f1afbfb819fc8499a590385200b97b13f33)

Co-authored-by: Javier Calvarro Nelson <[email protected]>

* [17.5] Visit assemblies in search for view components (#8328)

* Add a test

* Visit assemblies in search for view components

---------

Co-authored-by: Allison Chou <[email protected]>
Co-authored-by: Shen Chen <[email protected]>
Co-authored-by: Sandy Armstrong <[email protected]>
Co-authored-by: David Wengier <[email protected]>
Co-authored-by: Ryan Brandenburg <[email protected]>
Co-authored-by: Chris Sienkiewicz <[email protected]>
Co-authored-by: Javier Calvarro Nelson <[email protected]>
Co-authored-by: Jan Jones <[email protected]>
ghost pushed a commit that referenced this pull request Mar 2, 2023
* Update Razor addin version to 17.5

* Include Compiler features in Project Engine

* Skip Diagnostic tests for now

* [Blazor] Bind after changes (#363) (#8304)

Due to the way we decided to implement bind get,set,after, customers can run into situations where their components render many more times than expected, which results in confusion and performance degradation.

This was due to the fact that we chose to rely on EventCallback to implement this feature and we did not realize there were some side effects associated with it.

The APIs we are adding bypass the whole EventCallback infrastructure (simplifying the implementation too) and fix the issue.

This change updates the compiler to rely on the new runtime APIs

(cherry picked from commit 9ce52f1afbfb819fc8499a590385200b97b13f33)

Co-authored-by: Javier Calvarro Nelson <[email protected]>

* [17.5] Visit assemblies in search for view components (#8328)

* Add a test

* Visit assemblies in search for view components

---------

Co-authored-by: Allison Chou <[email protected]>
Co-authored-by: Shen Chen <[email protected]>
Co-authored-by: Sandy Armstrong <[email protected]>
Co-authored-by: David Wengier <[email protected]>
Co-authored-by: Ryan Brandenburg <[email protected]>
Co-authored-by: Chris Sienkiewicz <[email protected]>
Co-authored-by: Javier Calvarro Nelson <[email protected]>
Co-authored-by: Jan Jones <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-compiler Umbrella for all compiler issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants