Mesh seems to be sending unrelated subscription query fields to subgraphs when the sub type is a union
Issue workflow progress
Progress of the issue based on the Contributor Workflow
- [x] 1. The issue provides a reproduction available on: CodeSandBox
- [ ] 2. A failing test has been provided
- [ ] 3. A local solution has been provided
- [ ] 4. A pull request is pending review
Describe the bug
When creating a merged subscription type that is itself a union, mesh can serve the type fine when the resolvers are defined in additionalResolvers, but when they come from separate subgraph services, it errors out when you make the subscription query. See last line in this image:
To Reproduce Steps to reproduce the behavior:
Repro is here
use this query:
subscription {
sync {
__typename
... on Page {
name
}
... on User {
id
}
}
}
Expected behavior
I would expect mesh to be able to accept the subscription request the way it does when the resolvers are defined in additionalResolvers
Environment: All relevant environment is in the codesandbox.
I think you didn't update the Sandbox link. Could you check? Thanks for creating the issue!
Oh sorry, first time I've used it.. Let me check
edit: ok link updated
In my local I had added more logging to mesh and the type error seems to happen during the processing for the other subgraph if that makes sense? In my example subscription above I see the error for name while the User part of the query is happening.