Repository navigation
fix: key persisted queries by the hash the client actually sends - #1749
Merged
AlecAivazis merged 1 commit intoSep 12, 2026
Merged
AlecAivazis merged 1 commit into
AlecAivazis merged 1 commit into
Conversation
Documents that embed fragment definitions were keyed by documents.hash, which only covers the operation text, while the artifact hashes the operation together with its fragments. The two also ordered the definitions differently, so a server looking up an incoming document id missed every one of those operations. Both now build the document through one shared helper.
🦋 Changeset detectedLatest commit: 40c3593 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
AlecAivazis
approved these changes
Sep 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents containing fragments were keyed by documents.hash, which only covers the operation text, while the client artifact hashes the operation together with its fragments. The two also ordered the fragment definitions differently, so hashes would always miss.
Separately, operations were corrupted if they contained a
%inside a string literal.To help everyone out, please make sure your PR does the following:
pnpm run testsandcd integration && pnpm run testspnpm changeset