Skip to content

Commit fff00bd

Browse files
author
Mirroring
committed
Merge commit 'c3619e7fc0e74f4f256fa61322ea46f5b35d46c8'
2 parents 631ccb5 + c3619e7 commit fff00bd

File tree

10 files changed

+638
-530
lines changed

10 files changed

+638
-530
lines changed

eng/Baseline.Designer.props

Lines changed: 388 additions & 388 deletions
Large diffs are not rendered by default.

eng/Baseline.xml

Lines changed: 106 additions & 106 deletions
Large diffs are not rendered by default.

eng/SourceBuildPrebuiltBaseline.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,13 @@
4646

4747
<!-- Transitive dependency of System.Security.Cryptography.Pkcs.5.0.*. -->
4848
<UsagePattern IdentityGlob="System.Formats.Asn1/6.0.0" />
49+
50+
<!-- Used only for RepoTasks -->
51+
<UsagePattern IdentityGlob="Microsoft.Build.Framework/17.8.29" />
52+
<UsagePattern IdentityGlob="Microsoft.Build.Tasks.Core/17.8.29" />
53+
<UsagePattern IdentityGlob="Microsoft.Build.Utilities.Core/17.8.29" />
54+
<UsagePattern IdentityGlob="Microsoft.NET.StringTools/17.8.29" />
55+
<UsagePattern IdentityGlob="Microsoft.VisualStudio.Setup.Configuration.Interop/3.2.2146" />
4956
</IgnorePatterns>
5057

5158
<!-- Transitive dependencies, suppressed as per https://github.com/dotnet/aspnetcore/pull/57887#issuecomment-2362241518-->

eng/Version.Details.xml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -388,39 +388,39 @@
388388
<Uri>https://github.com/dotnet/winforms</Uri>
389389
<Sha>9b822fd70005bf5632d12fe76811b97b3dd044e4</Sha>
390390
</Dependency>
391-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.25325.4">
391+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.25380.1">
392392
<Uri>https://github.com/dotnet/arcade</Uri>
393-
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
393+
<Sha>7e67a7b4b62513a475afe46c4cd74d54b68f65c9</Sha>
394394
</Dependency>
395395
<!-- Intermediate is necessary for source build. -->
396-
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.25325.4">
396+
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.25380.1">
397397
<Uri>https://github.com/dotnet/arcade</Uri>
398-
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
398+
<Sha>7e67a7b4b62513a475afe46c4cd74d54b68f65c9</Sha>
399399
<SourceBuild RepoName="arcade" ManagedOnly="true" />
400400
</Dependency>
401-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="9.0.0-beta.25325.4">
401+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="9.0.0-beta.25380.1">
402402
<Uri>https://github.com/dotnet/arcade</Uri>
403-
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
403+
<Sha>7e67a7b4b62513a475afe46c4cd74d54b68f65c9</Sha>
404404
</Dependency>
405-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="9.0.0-beta.25325.4">
405+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="9.0.0-beta.25380.1">
406406
<Uri>https://github.com/dotnet/arcade</Uri>
407-
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
407+
<Sha>7e67a7b4b62513a475afe46c4cd74d54b68f65c9</Sha>
408408
</Dependency>
409-
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.25325.4">
409+
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.25380.1">
410410
<Uri>https://github.com/dotnet/arcade</Uri>
411-
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
411+
<Sha>7e67a7b4b62513a475afe46c4cd74d54b68f65c9</Sha>
412412
</Dependency>
413-
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="9.0.0-beta.25325.4">
413+
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="9.0.0-beta.25380.1">
414414
<Uri>https://github.com/dotnet/arcade</Uri>
415-
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
415+
<Sha>7e67a7b4b62513a475afe46c4cd74d54b68f65c9</Sha>
416416
</Dependency>
417-
<Dependency Name="Microsoft.Extensions.Diagnostics.Testing" Version="9.8.0-preview.1.25354.1">
417+
<Dependency Name="Microsoft.Extensions.Diagnostics.Testing" Version="9.8.0-preview.1.25401.1">
418418
<Uri>https://github.com/dotnet/extensions</Uri>
419-
<Sha>f9c61b4a372e372b9a11914a7dbdbdca59a912fe</Sha>
419+
<Sha>c6529a0a68989cc881e4add4872c344917bc1ca9</Sha>
420420
</Dependency>
421-
<Dependency Name="Microsoft.Extensions.TimeProvider.Testing" Version="9.8.0-preview.1.25354.1">
421+
<Dependency Name="Microsoft.Extensions.TimeProvider.Testing" Version="9.8.0-preview.1.25401.1">
422422
<Uri>https://github.com/dotnet/extensions</Uri>
423-
<Sha>f9c61b4a372e372b9a11914a7dbdbdca59a912fe</Sha>
423+
<Sha>c6529a0a68989cc881e4add4872c344917bc1ca9</Sha>
424424
</Dependency>
425425
<Dependency Name="NuGet.Frameworks" Version="6.2.4">
426426
<Uri>https://github.com/nuget/nuget.client</Uri>

eng/Versions.props

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<AspNetCorePatchVersion>9</AspNetCorePatchVersion>
1212
<PreReleaseVersionIteration>
1313
</PreReleaseVersionIteration>
14-
<ValidateBaseline>false</ValidateBaseline>
14+
<ValidateBaseline>true</ValidateBaseline>
1515
<IdentityModelVersion Condition="'$(IsIdentityModelTestJob)' != 'true'">8.0.1</IdentityModelVersion>
1616
<IdentityModelVersion Condition="'$(IsIdentityModelTestJob)' == 'true'">*-*</IdentityModelVersion>
1717
<!--
@@ -143,8 +143,8 @@
143143
<SystemIOHashingVersion>9.0.8</SystemIOHashingVersion>
144144
<SystemRuntimeCachingVersion>9.0.8</SystemRuntimeCachingVersion>
145145
<!-- Packages from dotnet/extensions -->
146-
<MicrosoftExtensionsDiagnosticsTestingVersion>9.8.0-preview.1.25354.1</MicrosoftExtensionsDiagnosticsTestingVersion>
147-
<MicrosoftExtensionsTimeProviderTestingVersion>9.8.0-preview.1.25354.1</MicrosoftExtensionsTimeProviderTestingVersion>
146+
<MicrosoftExtensionsDiagnosticsTestingVersion>9.8.0-preview.1.25401.1</MicrosoftExtensionsDiagnosticsTestingVersion>
147+
<MicrosoftExtensionsTimeProviderTestingVersion>9.8.0-preview.1.25401.1</MicrosoftExtensionsTimeProviderTestingVersion>
148148
<!-- Packages from dotnet/efcore -->
149149
<dotnetefVersion>9.0.8</dotnetefVersion>
150150
<MicrosoftEntityFrameworkCoreInMemoryVersion>9.0.8</MicrosoftEntityFrameworkCoreInMemoryVersion>
@@ -166,10 +166,10 @@
166166
<NuGetVersioningVersion>6.2.4</NuGetVersioningVersion>
167167
<NuGetFrameworksVersion>6.2.4</NuGetFrameworksVersion>
168168
<!-- Packages from dotnet/arcade -->
169-
<MicrosoftDotNetBuildTasksInstallersVersion>9.0.0-beta.25325.4</MicrosoftDotNetBuildTasksInstallersVersion>
170-
<MicrosoftDotNetBuildTasksTemplatingVersion>9.0.0-beta.25325.4</MicrosoftDotNetBuildTasksTemplatingVersion>
171-
<MicrosoftDotNetRemoteExecutorVersion>9.0.0-beta.25325.4</MicrosoftDotNetRemoteExecutorVersion>
172-
<MicrosoftSourceBuildIntermediatearcadeVersion>9.0.0-beta.25325.4</MicrosoftSourceBuildIntermediatearcadeVersion>
169+
<MicrosoftDotNetBuildTasksInstallersVersion>9.0.0-beta.25380.1</MicrosoftDotNetBuildTasksInstallersVersion>
170+
<MicrosoftDotNetBuildTasksTemplatingVersion>9.0.0-beta.25380.1</MicrosoftDotNetBuildTasksTemplatingVersion>
171+
<MicrosoftDotNetRemoteExecutorVersion>9.0.0-beta.25380.1</MicrosoftDotNetRemoteExecutorVersion>
172+
<MicrosoftSourceBuildIntermediatearcadeVersion>9.0.0-beta.25380.1</MicrosoftSourceBuildIntermediatearcadeVersion>
173173
<!-- Packages from dotnet/source-build-externals -->
174174
<MicrosoftSourceBuildIntermediatesourcebuildexternalsVersion>9.0.0-alpha.1.24575.1</MicrosoftSourceBuildIntermediatesourcebuildexternalsVersion>
175175
<!-- Packages from dotnet/source-build-reference-packages -->
@@ -227,13 +227,12 @@
227227
<MicrosoftCodeAnalysisRazorVersion>6.0.0</MicrosoftCodeAnalysisRazorVersion>
228228
<!-- Partner teams -->
229229
<MicrosoftBCLHashCodeVersion>1.1.1</MicrosoftBCLHashCodeVersion>
230-
<MicrosoftBuildVersion>17.4.0</MicrosoftBuildVersion>
230+
<MicrosoftBuildVersion>17.8.29</MicrosoftBuildVersion>
231231
<MicrosoftAzureSignalRVersion>1.2.0</MicrosoftAzureSignalRVersion>
232-
<MicrosoftBuildFrameworkVersion>17.4.0</MicrosoftBuildFrameworkVersion>
233-
<MicrosoftBuildTasksCoreVersion>17.4.0</MicrosoftBuildTasksCoreVersion>
234-
<MicrosoftBuildUtilitiesCoreVersion>17.4.0</MicrosoftBuildUtilitiesCoreVersion>
232+
<MicrosoftBuildFrameworkVersion>17.8.29</MicrosoftBuildFrameworkVersion>
233+
<MicrosoftBuildTasksCoreVersion>17.8.29</MicrosoftBuildTasksCoreVersion>
234+
<MicrosoftBuildUtilitiesCoreVersion>17.8.29</MicrosoftBuildUtilitiesCoreVersion>
235235
<MicrosoftBuildLocatorVersion>1.2.6</MicrosoftBuildLocatorVersion>
236-
<MicrosoftBuildUtilitiesCoreVersion>17.4.0</MicrosoftBuildUtilitiesCoreVersion>
237236
<!--
238237
Temporarily override the Microsoft.NET.Test.Sdk version Arcade defaults to. That's incompatible w/ test
239238
framework in current .NET SDKs.

eng/common/tools.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
416416

417417
# Locate Visual Studio installation or download x-copy msbuild.
418418
$vsInfo = LocateVisualStudio $vsRequirements
419-
if ($vsInfo -ne $null) {
419+
if ($vsInfo -ne $null -and $env:ForceUseXCopyMSBuild -eq $null) {
420420
# Ensure vsInstallDir has a trailing slash
421421
$vsInstallDir = Join-Path $vsInfo.installationPath "\"
422422
$vsMajorVersion = $vsInfo.installationVersion.Split('.')[0]

global.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"sdk": {
3-
"version": "9.0.108"
3+
"version": "9.0.109"
44
},
55
"tools": {
6-
"dotnet": "9.0.108",
6+
"dotnet": "9.0.109",
77
"runtimes": {
88
"dotnet/x86": [
99
"$(MicrosoftNETCoreBrowserDebugHostTransportVersion)"
@@ -27,7 +27,7 @@
2727
"jdk": "latest"
2828
},
2929
"msbuild-sdks": {
30-
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25325.4",
31-
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25325.4"
30+
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25380.1",
31+
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25380.1"
3232
}
3333
}

src/SignalR/clients/java/signalr/core/src/main/java/com/microsoft/signalr/GsonHubProtocol.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,14 @@ public List<HubMessage> parseMessages(ByteBuffer payload, InvocationBinder binde
126126
}
127127
break;
128128
case "headers":
129-
throw new RuntimeException("Headers not implemented yet.");
129+
// Parse headers as Map<String, String> but don't store for now as it's unused
130+
reader.beginObject();
131+
while (reader.hasNext()) {
132+
reader.nextName(); // Read the key
133+
reader.nextString(); // Read the value
134+
}
135+
reader.endObject();
136+
break;
130137
default:
131138
// Skip unknown property, allows new clients to still work with old protocols
132139
reader.skipValue();

src/SignalR/clients/java/signalr/test/src/main/java/com/microsoft/signalr/GsonHubProtocolTest.java

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,4 +527,98 @@ public void canRegisterTypeAdaptorWithoutAffectingJsonProtocol() {
527527
assertEquals(3, (int) invocationMessage.getArguments()[0]);
528528
assertEquals("four", invocationMessage.getArguments()[1]);
529529
}
530+
531+
@Test
532+
public void canParseInvocationMessageWithHeaders() {
533+
String stringifiedMessage = "{\"type\":1,\"target\":\"test\",\"arguments\":[42],\"headers\":{\"a\":\"b\",\"c\":\"d\"}}\u001E";
534+
ByteBuffer message = TestUtils.stringToByteBuffer(stringifiedMessage);
535+
TestBinder binder = new TestBinder(new Type[] { int.class }, null);
536+
537+
List<HubMessage> messages = hubProtocol.parseMessages(message, binder);
538+
539+
assertNotNull(messages);
540+
assertEquals(1, messages.size());
541+
542+
assertEquals(HubMessageType.INVOCATION, messages.get(0).getMessageType());
543+
InvocationMessage invocationMessage = (InvocationMessage) messages.get(0);
544+
545+
assertEquals("test", invocationMessage.getTarget());
546+
assertEquals(null, invocationMessage.getInvocationId());
547+
int messageResult = (int)invocationMessage.getArguments()[0];
548+
assertEquals(42, messageResult);
549+
// Headers are parsed but not stored, so we just verify the message was processed successfully
550+
}
551+
552+
@Test
553+
public void canParseInvocationMessageWithEmptyHeaders() {
554+
String stringifiedMessage = "{\"type\":1,\"target\":\"test\",\"arguments\":[42],\"headers\":{}}\u001E";
555+
ByteBuffer message = TestUtils.stringToByteBuffer(stringifiedMessage);
556+
TestBinder binder = new TestBinder(new Type[] { int.class }, null);
557+
558+
List<HubMessage> messages = hubProtocol.parseMessages(message, binder);
559+
560+
assertNotNull(messages);
561+
assertEquals(1, messages.size());
562+
563+
assertEquals(HubMessageType.INVOCATION, messages.get(0).getMessageType());
564+
InvocationMessage invocationMessage = (InvocationMessage) messages.get(0);
565+
566+
assertEquals("test", invocationMessage.getTarget());
567+
int messageResult = (int)invocationMessage.getArguments()[0];
568+
assertEquals(42, messageResult);
569+
}
570+
571+
@Test
572+
public void canParseCompletionMessageWithHeaders() {
573+
String stringifiedMessage = "{\"type\":3,\"invocationId\":\"1\",\"result\":42,\"headers\":{\"a\":\"b\",\"c\":\"d\"}}\u001E";
574+
ByteBuffer message = TestUtils.stringToByteBuffer(stringifiedMessage);
575+
TestBinder binder = new TestBinder(null, int.class);
576+
577+
List<HubMessage> messages = hubProtocol.parseMessages(message, binder);
578+
579+
assertNotNull(messages);
580+
assertEquals(1, messages.size());
581+
582+
assertEquals(HubMessageType.COMPLETION, messages.get(0).getMessageType());
583+
CompletionMessage completionMessage = (CompletionMessage) messages.get(0);
584+
assertEquals("1", completionMessage.getInvocationId());
585+
assertEquals(42, completionMessage.getResult());
586+
assertEquals(null, completionMessage.getError());
587+
}
588+
589+
@Test
590+
public void canParseStreamItemMessageWithHeaders() {
591+
String stringifiedMessage = "{\"type\":2,\"invocationId\":\"1\",\"item\":\"test-item\",\"headers\":{\"a\":\"b\"}}\u001E";
592+
ByteBuffer message = TestUtils.stringToByteBuffer(stringifiedMessage);
593+
TestBinder binder = new TestBinder(null, String.class);
594+
595+
List<HubMessage> messages = hubProtocol.parseMessages(message, binder);
596+
597+
assertNotNull(messages);
598+
assertEquals(1, messages.size());
599+
600+
assertEquals(HubMessageType.STREAM_ITEM, messages.get(0).getMessageType());
601+
StreamItem streamItem = (StreamItem) messages.get(0);
602+
assertEquals("1", streamItem.getInvocationId());
603+
assertEquals("test-item", streamItem.getItem());
604+
}
605+
606+
@Test
607+
public void canParseMessageWithHeadersInDifferentOrder() {
608+
String stringifiedMessage = "{\"headers\":{\"First\":\"value1\",\"Second\":\"value2\"},\"type\":1,\"target\":\"test\",\"arguments\":[42]}\u001E";
609+
ByteBuffer message = TestUtils.stringToByteBuffer(stringifiedMessage);
610+
TestBinder binder = new TestBinder(new Type[] { int.class }, null);
611+
612+
List<HubMessage> messages = hubProtocol.parseMessages(message, binder);
613+
614+
assertNotNull(messages);
615+
assertEquals(1, messages.size());
616+
617+
assertEquals(HubMessageType.INVOCATION, messages.get(0).getMessageType());
618+
InvocationMessage invocationMessage = (InvocationMessage) messages.get(0);
619+
620+
assertEquals("test", invocationMessage.getTarget());
621+
int messageResult = (int)invocationMessage.getArguments()[0];
622+
assertEquals(42, messageResult);
623+
}
530624
}

src/SignalR/server/StackExchangeRedis/test/Docker.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ public class Docker
1616
{
1717
private static readonly string _exeSuffix = OperatingSystem.IsWindows() ? ".exe" : string.Empty;
1818

19-
private static readonly string _dockerContainerName = "redisTestContainer";
19+
private static readonly string _redisImageName = "dotnetdhmirror-f8bzbjakh8cga6ab.azurecr.io/library/redis:7.4";
20+
private static readonly string _dockerContainerName = "redisTestContainer74";
2021
private static readonly string _dockerMonitorContainerName = _dockerContainerName + "Monitor";
2122
private static readonly Lazy<Docker> _instance = new Lazy<Docker>(Create);
2223

@@ -112,7 +113,7 @@ void Run()
112113
// use static name 'redisTestContainer' so if the container doesn't get removed we don't keep adding more
113114
// use redis base docker image
114115
// 30 second timeout to allow redis image to be downloaded, should be a rare occurrence, only happening when a new version is released
115-
RunProcessAndThrowIfFailed(_path, $"run --rm -p 6379:6379 --name {_dockerContainerName} -d redis", "redis", logger, TimeSpan.FromMinutes(1));
116+
RunProcessAndThrowIfFailed(_path, $"run --rm -p 6379:6379 --name {_dockerContainerName} -d {_redisImageName}", "redis", logger, TimeSpan.FromMinutes(1));
116117
}
117118
}
118119

0 commit comments

Comments
 (0)