fix: missing enum breaking diff in oneOf combiner in merged document #41
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.
Copied from #39 (comment)
Root cause: ctx.mergeKey is a part of cached diffEntry, but somehow is not a part of the diffUniquenessCache key.
oneOf values are compared combinatorially:
SearchRestParams vs SearchGQLParams
SearchGQLParams vs SearchRestParams
SearchRestParams vs SearchRestParams
SearchGQLParams vs SearchGQLParams
and by the time when the problematic comparison takes place (SearchGQLParams vs SearchGQLParams), the cache is already filled with the DiffEntry with the 'argument' value and with the propertyKey that is not correct for this comparison. And this diff eventually will end up overriding the 'subscription' diff here.