The Wire · Showcase
SIGNALR CLOSES DUPLICATE STREAM HOLE
By RepoJournal · Filed · About .NET
A protocol-invalid duplicate stream ID could leave the displaced hub argument permanently unreachable, and now it's rejected immediately.
SignalR upload streams were registered with dictionary assignment, so a protocol-invalid duplicate stream ID replaced the active channel and could leave the displaced hub argument permanently unreachable [1]. The fix makes registration atomic and rejects an active duplicate immediately, while preserving valid multi-stream uploads and reuse after completion [1]. Meanwhile, ASP.NET Core tightened sign-in behavior: Identity UI and Blazor templates now honor all configured confirmation requirements after registration, so users requiring confirmed email or phone are redirected to registration confirmation instead of being signed in automatically [2]. This is a breaking change if you relied on automatic sign-in, but you can restore it by disabling the relevant requirements [2]. Over in Blazor, the new Components.AI client tool rendering layer adds browser-owned tool execution to the chat foundation and lights up the canonical Agentic Chat change_background action [3]. Roslyn adds a TypeLayout API to address issue 76928 [4], and avoids reordering by-ref locals to fix issue 84733 [5]. On the Android side, universal APK generation becomes incremental, and release assembly store compression jumps to maximum Zstandard level 22 for optimized builds [6][7]. The dotnet/dotnet repo pulls in codeflow updates from aspnetcore, nuget.client, vstest, and fsharp [8][9][10][11].
One email a day. Unsubscribe in one click.
Keep up with .NET in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review SignalR upload stream registration code for duplicate ID handling dotnet/aspnetcore [immediate]
- → Check Identity UI and Blazor templates for sign-in confirmation behavior changes dotnet/aspnetcore [plan]
- → Re-test Android release builds for size and performance with new compression level dotnet/android [monitor]
References
- [1] Reject duplicate SignalR upload stream IDs ↗ dotnet/aspnetcore
- [2] Honor all sign-in confirmation requirements after registration ↗ dotnet/aspnetcore
- [3] [Blazor] Add Components.AI client tool rendering ↗ dotnet/aspnetcore
- [4] Add TypeLayout API ↗ dotnet/roslyn
- [5] Avoid reordering by-ref locals ↗ dotnet/roslyn
- [6] [xabt] Make universal APK generation incremental (#12230) dotnet/android
- [7] [build] Increase release assembly store compression ↗ dotnet/android
- [8] [main] Source code updates from dotnet/aspnetcore ↗ dotnet/dotnet
- [9] [main] Source code updates from nuget/nuget.client ↗ dotnet/dotnet
- [10] [main] Source code updates from microsoft/vstest ↗ dotnet/dotnet
- [11] [main] Source code updates from dotnet/fsharp ↗ dotnet/dotnet