• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

amboss-mededu / gateway / 33768000178
91%
master: 91%

Build:
Build:
LAST BUILD BRANCH: feat/operation-hooks
DEFAULT BRANCH: master
Ran 03 Sep 2026 02:39PM UTC
Jobs 1
Files 12
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 Sep 2026 02:08PM UTC coverage: 91.352% (+0.07%) from 91.286%
33768000178

Pull #17

github

cideM
reserve var name for dependent step node IDs

A query whose fields span two services is split into a plan where the
second step re-enters the remote service through node(id: ...), once per
object the first step returned. The planner declared that argument's
variable as $id, and only when the client had not already declared one
by that name; otherwise it reused the client's declaration. The executor
then assigned the node ID under the same name on every dependent step.

$id is an ordinary name for a client to choose, so the two collided.
Given:

    query ($id: ID!, $category: String!) {
      allUsers {
        favoriteCatPhoto(category: $category, owner: $id) { URL }
      }
    }

where favoriteCatPhoto is owned by a second service, the dependent step
ran once per user with $id set to that user's ID. The owner argument,
which the client meant to pin to a single ID, was silently rewritten to
u1, then u2, then u3. Nothing surfaced an error: the query is valid and
both node(id:) and owner take an ID, so every request succeeded and
returned the wrong photos.

Reusing the client's declaration also inherited its type. A client
declaring $id as String! and using it for a String! argument, which is
legal on its own terms, produced node(id: $id) against node(id: ID!) and
the remote service rejected the entire step.

Give the gateway a name of its own, _gateway_node_id. Since it can never
be one of the client's variables, declare it unconditionally rather than
conditionally reusing whatever is there, and reject operations that
declare it instead of overwriting them silently.
Pull Request #17: planner: reserve a variable name for dependent step node IDs

17 of 18 new or added lines in 2 files covered. (94.44%)

2757 of 3018 relevant lines covered (91.35%)

395.38 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
89.71
0.27% plan.go
Jobs
ID Job ID Ran Files Coverage
1 33768000178.1 03 Sep 2026 02:39PM UTC 12
91.35
GitHub Action Run
Source Files on build 33768000178
  • Tree
  • List 12
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #17
  • PR Base - master (#33639190880)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc