graphene-federation icon indicating copy to clipboard operation
graphene-federation copied to clipboard

`Query` not being extended

Open MrSaints opened this issue 2 years ago • 6 comments

It seems Graphene Federation has stopped returning an SDL with extend type Query, and instead returns type Query. I'm not sure if this is intentional, but it is not compatible with some implementations of Federation Gateway.

See diff: https://github.com/graphql-python/graphene-federation/pull/4/files#diff-3111b5ad3ddd7af276c62d4c15988d6c6f3ee13f1b6eaa87725f4fe94cc65867L42-L43

(EDIT: It seems perhaps it was never included by default)

Other Federation implementation seems to include this, e.g. gqlgen (Go): https://github.com/99designs/gqlgen/blob/2d8673a691deffe6ddd1f4d5f013a52dc91aef91/plugin/federation/federation.go#L223, Ariadne (Python) https://github.com/apollographql/apollo-federation-subgraph-compatibility/blob/1bc1ddd56c796f2a7ff9256d279c7780dd48f582/implementations/ariadne/schema.graphql#L65

Apollo docs seems to suggest it too, but to be honest, it's not too clear. Let me know what y'all think.

MrSaints avatar Aug 03 '23 10:08 MrSaints

Hey there, which Federation version are you using?

erikwrede avatar Aug 03 '23 10:08 erikwrede

@erikwrede I'm still on V1. But enabling V2 doesn't seem to help either.

MrSaints avatar Aug 03 '23 10:08 MrSaints

AFAIK the extend is optional on type Query in Federation v2. However, we can surely add it back for both federation versions, as this should not break things. /cc @patrick91

erikwrede avatar Aug 03 '23 12:08 erikwrede

AFAIK the extend is optional on type Query in Federation v2. However, we can surely add it back for both federation versions, as this should not break things. /cc @patrick91

I'd only add it for version 1, as it might be removed in future 😊

patrick91 avatar Aug 03 '23 12:08 patrick91

Makes sense. @MrSaints it might be worthwhile to open a bug report at your specific Gateway implementation. Which one are you using? 😊

erikwrede avatar Aug 03 '23 12:08 erikwrede

We're using Mercurius. I believe they have one opened already tbf, so this isn't totally Graphene Federation's problem.

https://github.com/mercurius-js/mercurius-gateway/issues/23

MrSaints avatar Aug 03 '23 12:08 MrSaints