Skip to content

issue in defer/stream label uniqueness validation #9705

Description

@jbellenger

Product

Hot Chocolate

Version

16.0.2

Link to minimal reproduction

https://jbellenger.github.io/graphql-conformance/impl/hot-chocolate/failures/03573f34%2F2e32a08b%2F08277c86

Steps to reproduce

After updating hot-chocolate in graphql-conformance, I saw there were some test failures related to defer/stream label validation.
The link above is the failed test, but the actual minimal test case is this test case, which can be added to DeferAndStreamDirectiveLabelsAreUniqueTests.cs

[Fact]
public void Label_Should_Be_Valid_When_Defer_Is_In_Reused_Fragment()
{
    ExpectValid(
        """
        query {
          ...Repeated
          ...Repeated
        }

        fragment Repeated on Query {
          ... @defer(label: "details") {
            __typename
          }
        }
        """);
}

What is expected?

This test case raises no validation error in graphql-js-17.

What is actually happening?

HotChocolate rejects this with a validation error:

If a label is passed, it must be unique within all other @defer and @stream directives in the document.

Relevant log output

Additional context

No response

Metadata

Metadata

Assignees

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions