Patch Changes
-
Fix issues (incorrectly rejected composition and/or subgraph errors) with
@interfaceObject
. Those issues may occur (11f2d7c0
)
either due to some use of@requires
in an@interfaceObject
type, or when some subgraphS
defines a type that is an
implementation of an interfaceI
in the supergraph, and there is an@interfaceObject
forI
in another subgraph,
butS
does not itself definesI
. -
Fix potential assertion error during query planning in some multi-field
@requires
case. This error could be triggered (c0412fd9
)
when a field in a@requires
depended on another field that was also part of that same requires (for instance, if a
field has a@requires(fields: "id otherField")
and thatid
is also a key necessary to reach the subgraph providing
otherField
).The assertion error thrown in that case contained the message
Root groups (...) should have no remaining groups unhandled (...)
-
Fix potential bug when an
@interfaceObject
type has a@requires
. When an@interfaceObject
type has a field with a (2894a1ea
)
@requires
and the query requests that field only for some specific implementations of the corresponding interface,
then the generated query plan was sometimes invalid and could result in an invalid query to a subgraph (against a
subgraph that rely on@apollo/subgraph
, this lead the subgraph to produce an error message looking like"The _entities resolver tried to load an entity for type X, but no object or interface type of that name was found in the schema"
). -
Fix query planner assertion error when types with no common supertypes are requested at the same path (
ce0459a6
) -
Updated dependencies [
98844fd5
,11f2d7c0
,2894a1ea
]:- @apollo/federation-internals@2.3.6
- @apollo/query-graphs@2.3.6