dotnet/aspnetcore

[Blazor] Clearer way to troubleshoot complex state transitions

Open

#51,844 opened on Nov 3, 2023

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C# (10,653 forks)batch import
Pillar: Technical DebtPriority:1area-blazorfeature-observabilityhelp wantedtask

Repository metrics

Stars
 (37,933 stars)
PR merge metrics
 (Avg merge 16d 9h) (258 merged PRs in 30d)

Description

This came up as part of a discussion.

In complex apps is hard to detect state transitions that might happen during a brief period of time and cause issues. We could consider adding additional logging https://github.com/dotnet/aspnetcore/blob/main/src/Components/Components/src/Rendering/ComponentState.cs#L230-L244 to avoid such issues in the future.

We discuss this in the initial days of Blazor and we were concerned about the perf, but I think that the perf characteristics have changed enough that:

  1. We can afford an extra "if".
  2. We can find a way link it out if we need it on production builds.

/cc: @JamesNK

Contributor guide