Skip to content

Add support for unsigned scalars to StrawberryShake#9150

Merged
glen-84 merged 3 commits intomainfrom
gai/unsigned-scalars
Feb 19, 2026
Merged

Add support for unsigned scalars to StrawberryShake#9150
glen-84 merged 3 commits intomainfrom
gai/unsigned-scalars

Conversation

@glen-84
Copy link
Copy Markdown
Member

@glen-84 glen-84 commented Feb 19, 2026

Summary of the changes (Less than 80 chars)

  • Add support for unsigned scalars to StrawberryShake.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds first-class support for unsigned scalar types in StrawberryShake by introducing new serializers and ensuring generated clients register and use them consistently across C# and Razor codegen, plus adding integration coverage.

Changes:

  • Introduce unsigned scalar serializers (UnsignedByte/Short/Int/Long) and register them as built-ins in DI code generation.
  • Update type metadata / JSON helper mappings to support signed byte (sbyte) and unsigned numeric parsing/writing.
  • Update codegen snapshots and add an integration test + generated client verifying unsigned scalar roundtrips.

Reviewed changes

Copilot reviewed 150 out of 150 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/StrawberryShake/CodeGeneration/test/CodeGeneration.Razor.Tests/snapshots/RazorGeneratorTests.Query_And_Mutation.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/StarWarsGeneratorTests.Subscription_With_Default_Names.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/StarWarsGeneratorTests.StarWarsUnionList.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/StarWarsGeneratorTests.StarWarsTypeNameOnUnions.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/StarWarsGeneratorTests.Operation_With_Type_Argument.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/StarWarsGeneratorTests.Operation_With_Leaf_Argument.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/StarWarsGeneratorTests.Interface_With_Fragment_Definition_Two_Models.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/StarWarsGeneratorTests.Interface_With_Default_Names.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/StarWarsGeneratorTests.Generate_StarWarsIntegrationTest.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/StarWarsGeneratorTests.Generate_Client_With_Internal_Access_Modifier.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.Schema_With_Spec_Errors.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.Schema_With_OneOf_And_Directive_Definition.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.Schema_With_OneOf.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.Query_With_Nested_Fragments.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.QueryInterference.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.NonNullLists.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.NodeTypenameCollision.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.MultiLineDocumentation.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.LowerCaseScalarArgument.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.IntrospectionQuery.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.HasuraMutation.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.Full_Extension_File.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.FieldsWithUnderlineInName.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.EnumWithUnderscorePrefixedValues.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.Create_UpdateMembers_Mutation.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.Create_Query_With_Skip_Take.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.Create_PeopleSearch_From_ActiveDirectory_Schema.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.Create_GetFeatsPage.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.Create_GetFeatById.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/SchemaGeneratorTests.Create_DataType_Query.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Uuid_Type.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Uri_Type.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.TimeSpan_Not_Detected.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Simple_Custom_Scalar.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Scalars_Are_Correctly_Inferred.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Only_Custom_Scalars.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Custom_Scalar_With_ValueType_RuntimeType_Used_As_Nullable_Input.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Custom_Scalar_With_ValueType_RuntimeType_Fails_If_ValueType_Not_Specified.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Custom_Scalar_With_ValueType_RuntimeType.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Custom_Scalar_With_Unknown_RuntimeType.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Custom_Scalar_With_SerializationType_And_RuntimeType.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Custom_Scalar_With_SerializationType.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Custom_Scalar_With_RuntimeType_ValueType_AsInput.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Custom_Scalar_With_RuntimeType.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Complete_Schema_With_UUID_And_DateTime.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.ByteArray_ScalarType.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Base64String_ScalarType.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Any_Type.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ScalarGeneratorTests.Any_Scalar.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ResultTypeGeneratorTests.Operation_With_NullableData.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ResultTypeGeneratorTests.Operation_With_Complex_Types.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ResultTypeGeneratorTests.Operation_With_Comments.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ResultTypeGeneratorTests.Nested_Entity.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/PersistedOperationGeneratorTests.Simple_Custom_Scalar.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/OperationGeneratorTests.Response_Name_Is_Correctly_Cased.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/OperationGeneratorTests.Operation_With_MultipleOperations.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/OperationGeneratorTests.Nullable_ValueType_Input.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/OperationGeneratorTests.Nullable_List_Input.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/OperationGeneratorTests.NonNullable_ValueType_Input.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/OperationGeneratorTests.NonNullableValueType_WithoutGlobal_Input.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/OperationGeneratorTests.Generate_ChatClient_AllOperations.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/NoStoreStarWarsGeneratorTests.Subscription_With_Default_Names.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/NoStoreStarWarsGeneratorTests.StarWarsUnionList.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/NoStoreStarWarsGeneratorTests.StarWarsTypeNameOnUnions.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/NoStoreStarWarsGeneratorTests.Operation_With_Type_Argument.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/NoStoreStarWarsGeneratorTests.Operation_With_Leaf_Argument.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/NoStoreStarWarsGeneratorTests.Interface_With_Fragment_Definition_Two_Models.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/NoStoreStarWarsGeneratorTests.Interface_With_Default_Names.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/NoStoreStarWarsGeneratorTests.Generate_StarWarsIntegrationTest.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/InputGeneratorTests.Operation_With_UploadInInputObject.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/InputGeneratorTests.Operation_With_UploadInDeepInputObject.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/InputGeneratorTests.Operation_With_UploadAsArg.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/InputGeneratorTests.Operation_With_LastNonUpload.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/InputGeneratorTests.Operation_With_FirstNonUpload.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/InputGeneratorTests.Operation_With_Complex_Arguments.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/InputGeneratorTests.Operation_With_ComplexInputTypes.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/InputGeneratorTests.Operation_With_Comments_With_Input_Records.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/InputGeneratorTests.Operation_With_Comments.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/InputGeneratorTests.KeywordCollisions.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/InputGeneratorTests.Input_Type_Fields_Are_Inspected_For_LeafTypes.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ErrorGeneratorTests.Generate_NoErrors.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/ErrorGeneratorTests.Generate_ChatClient_InvalidNullCheck.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityOrIdGeneratorTests.UnionWithNestedObject.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityOrIdGeneratorTests.UnionListInEntity.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityOrIdGeneratorTests.UnionList.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityOrIdGeneratorTests.UnionField.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityOrIdGeneratorTests.NonNullableValueTypeId.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityOrIdGeneratorTests.InterfaceList.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityOrIdGeneratorTests.InterfaceField.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityIdFactoryGeneratorTests.Simple_UUID_Entity.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityIdFactoryGeneratorTests.Simple_NoEntity.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityIdFactoryGeneratorTests.Simple_IdEntity.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityIdFactoryGeneratorTests.Simple_DateTimeOffset_Entity.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityIdFactoryGeneratorTests.Simple_ComplexEntity.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityGeneratorTests.Generate_ChatClient_MapperMapsEntityOnRootCorrectly_With_Records.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityGeneratorTests.Generate_ChatClient_MapperMapsEntityOnRootCorrectly.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityGeneratorTests.Generate_ChatClient_ConnectionNotAnEntity_With_Records.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityGeneratorTests.Generate_ChatClient_ConnectionNotAnEntity.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityGeneratorTests.Generate_BookClient_DataOnly_UnionDataTypes_With_Records.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityGeneratorTests.Generate_BookClient_DataOnly_UnionDataTypes.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityGeneratorTests.Generate_BookClient_DataOnly_InterfaceDataTypes_With_Records.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityGeneratorTests.Generate_BookClient_DataOnly_InterfaceDataTypes.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityGeneratorTests.Generate_BookClient_DataInEntity_UnionDataTypes_With_Records.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/EntityGeneratorTests.Generate_BookClient_DataInEntity_UnionDataTypes.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/DependencyInjectionGeneratorTests.Default_Subscription.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/DependencyInjectionGeneratorTests.Default_Query.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/DependencyInjectionGeneratorTests.Default_Mutation.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/DependencyInjectionGeneratorTests.Default_MultiProfile.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/DependencyInjectionGeneratorTests.Default_InMemory.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/DependencyInjectionGeneratorTests.Default_DifferentTransportMethods.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/snapshots/DependencyInjectionGeneratorTests.Default_Combined.snap Snapshot: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/UploadScalar_InMemoryTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/UploadScalarTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/UnsignedTypesTest.cs New integration test for unsigned scalars
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/UnsignedTypesTest.Client.cs Generated client used by unsigned integration test
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/TestGeneration.cs Add unsigned scalar generation test case
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsUnionListTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsTypeNameOnUnionsTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsTypeNameOnInterfacesTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubNoStoreTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubGraphQLSSETest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubCompletionTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsIntrospectionTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetHeroWithFragmentIncludeAndSkipDirectiveTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetHeroTraitsTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetHeroTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetFriendsTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetFriendsNoStoreTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetFriendsDeferredTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetFriendsDeferInListTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/MultiProfileTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/LocalTypesTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/EntityIdOrDataTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/AnyScalarDefaultSerializationTest.Client.cs Generated client: add unsigned serializer registrations
src/StrawberryShake/CodeGeneration/src/CodeGeneration/TypeNames.cs Add type-name constants for unsigned serializers
src/StrawberryShake/CodeGeneration/src/CodeGeneration/TypeInfos.cs Register unsigned serializers + add sbyte runtime type info
src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/JsonUtils.cs Add/adjust parse+write method mapping (incl. sbyte)
src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Generators/DependencyInjectionGenerator.cs Add unsigned serializers to built-in DI list
src/StrawberryShake/Client/test/Core.Tests/Serialization/UnsignedShortSerializerTests.cs New tests for UnsignedShort serializer
src/StrawberryShake/Client/test/Core.Tests/Serialization/UnsignedLongSerializerTests.cs New tests for UnsignedLong serializer
src/StrawberryShake/Client/test/Core.Tests/Serialization/UnsignedIntSerializerTests.cs New tests for UnsignedInt serializer
src/StrawberryShake/Client/test/Core.Tests/Serialization/UnsignedByteSerializerTests.cs New tests for UnsignedByte serializer
src/StrawberryShake/Client/test/Core.Tests/Serialization/ByteSerializerTests.cs Update tests for signed byte (sbyte) serializer
src/StrawberryShake/Client/src/Core/Serialization/UnsignedShortSerializer.cs New UnsignedShort serializer implementation
src/StrawberryShake/Client/src/Core/Serialization/UnsignedLongSerializer.cs New UnsignedLong serializer implementation
src/StrawberryShake/Client/src/Core/Serialization/UnsignedIntSerializer.cs New UnsignedInt serializer implementation
src/StrawberryShake/Client/src/Core/Serialization/UnsignedByteSerializer.cs New UnsignedByte serializer implementation
src/StrawberryShake/Client/src/Core/Serialization/ByteSerializer.cs Change Byte serializer runtime type to sbyte
src/StrawberryShake/Client/src/Core/Serialization/BuiltInScalarNames.cs Add unsigned scalar names
src/HotChocolate/Core/src/Types/Types/Scalars/Scalars.cs Extend built-in scalar lookup for unsigned numeric types

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/HotChocolate/Core/src/Types/Types/Scalars/Scalars.cs Outdated
Comment thread src/StrawberryShake/Client/src/Core/Serialization/ByteSerializer.cs
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 150 out of 150 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 19, 2026

Fusion Gateway Performance Results

Simple Composite Query

Req/s Err%
Constant (50 VUs) 2988.58 0.00%
Ramping (0-500-0 VUs) 3295.81 0.00%
Response Times & Query
Min Med Avg P90 P95 Max
Constant 0.79ms 14.53ms 16.51ms 30.84ms 36.01ms 171.63ms
Ramping 0.74ms 65.16ms 67.66ms 125.73ms 141.54ms 246.35ms
query TestQuery {
  topProducts(first: 5) {
    inStock
    name
    price
    shippingEstimate
    upc
    weight
    reviews {
      id
      body
      author {
        id
        username
        name
      }
    }
  }
}

Deep Recursion Query

Req/s Err%
Constant (50 VUs) 744.47 0.00%
Ramping (0-500-0 VUs) 834.15 0.00%
Response Times & Query
Min Med Avg P90 P95 Max
Constant 9.03ms 62.52ms 65.62ms 81.11ms 89.02ms 355.33ms
Ramping 1.81ms 251.08ms 258.11ms 514.34ms 546.87ms 676.45ms
query TestQuery {
  users {
    id
    username
    name
    reviews {
      id
      body
      product {
        inStock
        name
        price
        shippingEstimate
        upc
        weight
        reviews {
          id
          body
          author {
            id
            username
            name
            reviews {
              id
              body
              product {
                inStock
                name
                price
                shippingEstimate
                upc
                weight
              }
            }
          }
        }
      }
    }
  }
  topProducts(first: 5) {
    inStock
    name
    price
    shippingEstimate
    upc
    weight
    reviews {
      id
      body
      author {
        id
        username
        name
        reviews {
          id
          body
          product {
            inStock
            name
            price
            shippingEstimate
            upc
            weight
          }
        }
      }
    }
  }
}

Variable Batching Throughput

Req/s Err%
Constant (50 VUs) 23537.25 0.00%
Ramping (0-500-0 VUs) 18153.12 0.00%
Response Times & Query
Min Med Avg P90 P95 Max
Constant 0.10ms 1.71ms 2.08ms 3.96ms 4.85ms 46.59ms
Ramping 0.10ms 9.70ms 11.69ms 24.02ms 28.75ms 122.50ms
query TestQuery($upc: ID!, $price: Long!, $weight: Long!) {
  productByUpc(upc: $upc) {
    inStock
    shippingEstimate(weight: $weight, price: $price)
  }
}

Variables (5 sets batched per request)

[
  { "upc": "1", "price": 899, "weight": 100 },
  { "upc": "2", "price": 1299, "weight": 1000 },
  { "upc": "3", "price": 15, "weight": 20 },
  { "upc": "4", "price": 499, "weight": 100 },
  { "upc": "5", "price": 1299, "weight": 1000 }
]

Run 22181225089 • Commit da6ab8f • Thu, 19 Feb 2026 12:34:44 GMT

@glen-84 glen-84 merged commit 0ca16b1 into main Feb 19, 2026
117 checks passed
@glen-84 glen-84 deleted the gai/unsigned-scalars branch February 19, 2026 12:18
@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (6f2358a) to head (bffdcd2).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@     Coverage Diff      @@
##   main   #9150   +/-   ##
============================
============================

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

StrawberryShake.Maui 16.0.0-p.10.46 broke UnsignedLong type generation

2 participants