apollo-tooling
apollo-tooling copied to clipboard
suppressSwiftMultilineStringLiterals breaks operationIdentifiers for persisted queries
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 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 forqueryDocument
- Specify
--operationIdsPath=***
to include SHA-256 hashes of each operation for query caching
Versions
2.33.9