Skip to content

Conversation

enisdenjo
Copy link

@enisdenjo enisdenjo commented Jun 17, 2025

Using prereleased packages from graphql-hive/gateway#1232

Gotchas

Why extra schema.graphql?

Because Hive Gateway adds the GOT1 automatically during runtime, i.e. Node interfaces don't exist during composition and hence are not in the supergraph.

But Relay needs the actual schema it's dealing with, so we generate an additional schema.graphql with the Node intereface, besides the supergraph.graphql consumed by Hive Gateway, that contains everything for Relay.

Why are subraphs not encoding the ID to global IDs?

Because they don't need to. The automatic GOT1 feature handles all that, the subgraphs can continue using their local ID.

Why use nodeId as interface ID field in Relay?

Read Why nodeId? in the PR.

Why PosterBylineFragment is spreading Actor implementations?

To access the nodeId. At the moment, the automatic GOT1 does not support interfaces (interface Actor implements Node). But not to worry, it will support it before merging the PR and releasing stable!

Footnotes

  1. Global Object Identification 2 3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant