The operationId calculated by the server based on the queryDocument of a given operation matches the operationId output by Apollo, even when the classes are generated without multiline String literals.
Actual outcome:
The operationId created by Apollo is calculated when the query contains newlines, which are not included in the queryDocument provided by the generated classes. As a result, the hashes don't match and all query caching fails.
How to reproduce the issue:
Specify --suppressSwiftMultilineStringLiterals to Apollo codegen to get classes without multiline strings for queryDocument
Specify --operationIdsPath=*** to include SHA-256 hashes of each operation for query caching
Intended outcome:
The operationId calculated by the server based on the
queryDocument
of a given operation matches the operationId output by Apollo, even when the classes are generated without multiline String literals.Actual outcome:
The
operationId
created by Apollo is calculated when the query contains newlines, which are not included in thequeryDocument
provided by the generated classes. As a result, the hashes don't match and all query caching fails.How to reproduce the issue:
--suppressSwiftMultilineStringLiterals
to Apollo codegen to get classes without multiline strings forqueryDocument
--operationIdsPath=***
to include SHA-256 hashes of each operation for query cachingVersions
2.33.9