Looks like there are some bugs around return types for
id fields not conforming to the
Node interface. I get the following errors when trying to do some codegeneration through introspection:
Interface field Node.id expects type ID! but Host.id is type String!.
Interface field Node.id expects type ID! but Machine.id is type String!.
Interface field Node.id expects type ID! but MachineEvent.id is type String!.
Interface field Node.id expects type ID! but PostgresClusterAttachment.id is type String!.
Can these please be fixed?
I don’t think we can fix this very quickly. We use GraphQL for pretty much everything and schema changes are risky.
This is the first time I’ve seen the type mismatch be a problem fro a client, though. Is it possible to ignore those types or override the
id type in the client config?
Some tools can ignore invalid schemas, but others require valid schemas to function (e.g. Code generators).
Might be able to workaround it for now and manually code anything that requires valid schemas, though the proper fix would be to either change the type for the id field or remove the Node interface from those types (though looking at the schema it seems the former option is the correct approach as there is no specific endpoint to get an individual Machine without using the Node interface).
I haven’t looked at the code, but I suspect those 4 errors are types that implement the
Node interface but have the wrong type on id by accident. It’s probably a quick fix but we won’t get to peek at it until tomorrow.
Okay it was a quick fix. Let me know if you’re still having trouble.
Awesome, all fixed, thanks!