Skip to content

[eas-cli] Avoid GraphQL argument type collisions - #4328

Merged
krystofwoldrich merged 1 commit into
mainfrom
codex/fix-graphql-args-collision
Sep 2, 2026
Merged

[eas-cli] Avoid GraphQL argument type collisions#4328
krystofwoldrich merged 1 commit into
mainfrom
codex/fix-graphql-args-collision

Conversation

@krystofwoldrich

Copy link
Copy Markdown
Contributor

Why

PR #4326’s GraphQL verification job started failing after the production schema added namespaced Observe fields. GraphQL Code Generator concatenates a parent type and field name for generated argument types, so AppObserve.navigationRoutes and AppObserveNavigation.routes both became AppObserveNavigationRoutesArgs. Four Overview fields collided in the same way.

Failing job: https://github.com/expo/eas-cli/actions/runs/33641026834/job/100285705688?pr=4326

How

Enable addUnderscoreToArgsType to preserve the parent/field boundary, regenerate the checked-in GraphQL types, and update the two handwritten imports of the renamed realtime-logs argument type.

Test Plan

  • yarn workspace eas-cli verify-graphql-code (passes against the current production schema)
  • yarn workspace eas-cli typecheck-for-build
  • yarn workspace eas-cli test src/utils/__tests__/centrifuge-test.ts --runInBand
  • yarn lint
  • yarn oxfmt --check packages/eas-cli/graphql-codegen.ts packages/eas-cli/src/graphql/generated.ts packages/eas-cli/src/graphql/mutations/RealtimeLogsMutation.ts packages/eas-cli/src/utils/centrifuge.ts

Separate generated parent type and field names so newly namespaced Observe fields cannot collide with legacy flat field argument types.

Co-authored-by: Codex <codex@openai.com>
@krystofwoldrich krystofwoldrich added the no changelog PR that doesn't require a changelog entry label Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

Subscribed to pull request

File Patterns Mentions
packages/eas-cli/** @douglowder

Generated by CodeMention

Warning: The preamble and epilogue options in commentConfiguration are deprecated. Use template instead.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

⏩ The changelog entry check has been skipped since the "no changelog" label is present.

@codecov

codecov Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 65.48%. Comparing base (b015c0b) to head (db5afcc).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...-cli/src/graphql/mutations/RealtimeLogsMutation.ts 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff            @@
##             main    #4328     +/-   ##
=========================================
  Coverage   65.48%   65.48%             
=========================================
  Files        1060     1060             
  Lines       49302    49302             
  Branches    10437    10494     +57     
=========================================
  Hits        32282    32282             
+ Misses      16904    15597   -1307     
- Partials      116     1423   +1307     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@kadikraman kadikraman left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the fix, and sorry for the hassle!

@krystofwoldrich
krystofwoldrich merged commit 83fa42c into main Sep 2, 2026
12 of 13 checks passed
@krystofwoldrich
krystofwoldrich deleted the codex/fix-graphql-args-collision branch September 2, 2026 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no changelog PR that doesn't require a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants