Skip to content

fix(visitor-plugin-common): keep deferred fields optional with overlapping named @defer spreads#1

Closed
redox wants to merge 1 commit into
masterfrom
fix/defer-named-spread-overlapping-fields
Closed

fix(visitor-plugin-common): keep deferred fields optional with overlapping named @defer spreads#1
redox wants to merge 1 commit into
masterfrom
fix/defer-named-spread-overlapping-fields

Conversation

@redox

@redox redox commented Jul 15, 2026

Copy link
Copy Markdown
Member

Summary

  • Named @defer/@stream fragment spreads were typed as a single union of all fragment fields. When a field like id was also selected outside the spread, intersecting with the required outer field eliminated the absent branch and made deferred-only fields required.
  • Expand incremental named spreads into per-selection nodes (same shape as inline @defer) so each deferred field stays its own optional union. Fragment masking (inlineFragmentTypes: "mask") is unchanged and still uses Incremental<> fragment refs.

Test plan

  • Added regression test for overlapping id + named @defer (fails before fix, passes after)
  • Updated related @defer / @skip+@defer snapshots for per-field unions
  • vitest incremental delivery + skip/include defer suites green
  • Client-preset @defer tests green

Made with Cursor

…pping named @defer spreads

Expand @defer/@stream named fragment spreads into per-selection nodes so intersecting an outer field like `id` no longer collapses deferred-only fields to required.

Co-authored-by: Cursor <cursoragent@cursor.com>
@redox

redox commented Jul 15, 2026

Copy link
Copy Markdown
Member Author

Opened upstream instead: will link after create

@redox redox closed this Jul 15, 2026
@redox

redox commented Jul 15, 2026

Copy link
Copy Markdown
Member Author

Opened upstream instead: dotansimha#10898

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant