This fixes a panic which arises from the tracing components when a request has some defect which results in an error when creating the operation context. The transports consistently handle this by calling DispatchError(graphql.WithOperationContext(ctx, rc), err) where rc is the OperationContext which was not correctly constructed. This seems dangerous, because middleware may assume that if there in an OperationContext in the context.Context than they are being invoked on a normal codepath and can assume their other interceptors have been invoked in the normal order. Also, using a value returned by a function which also returned a non-nil error is very unusual. However, I have no idea what the impact of changing that dangerous behavior in the transports would be, so I opted to make the tracing component more resilient instead.
13bb4152 fix for entity interfce code gen with related test (#2868)
Dependabot commands
You can trigger Dependabot actions by commenting on this MR
$dependabot recreate will recreate this MR rewriting all the manual changes and resolving conflicts
Bumps [github.com/99designs/gqlgen](https://github.com/99designs/gqlgen) from 0.17.41 to 0.17.42.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/99designs/gqlgen/releases">github.com/99designs/gqlgen's releases</a>.</em></p>
<blockquote>
<h2>v0.17.42</h2>
<h2>What's Changed</h2>
<ul>
<li>Modify to prevent unreachable code from occurring by <a href="https://github.com/taako-502"><code>@taako-502</code></a> in <a href="https://github.com/99designs/gqlgen/pull/2846">99designs/gqlgen#2846</a></li>
<li>Make root go generate re-generate packages by <a href="https://github.com/StevenACoffman"><code>@StevenACoffman</code></a> in <a href="https://github.com/99designs/gqlgen/pull/2859">99designs/gqlgen#2859</a></li>
<li>Allow fields that return root level definitions by <a href="https://github.com/teandresmith"><code>@teandresmith</code></a> in <a href="https://github.com/99designs/gqlgen/pull/2858">99designs/gqlgen#2858</a></li>
<li>vikstrous/dataloadgen replaces recommended dataloader package in example docs by <a href="https://github.com/vikstrous"><code>@vikstrous</code></a> in <a href="https://github.com/99designs/gqlgen/pull/2770">99designs/gqlgen#2770</a></li>
<li>Use defer wg.Done() in FieldSet Dispatch by <a href="https://github.com/UnAfraid"><code>@UnAfraid</code></a> in <a href="https://github.com/99designs/gqlgen/pull/2861">99designs/gqlgen#2861</a></li>
<li>Update examples go.mod with appdash replacements by <a href="https://github.com/regynald"><code>@regynald</code></a> in <a href="https://github.com/99designs/gqlgen/pull/2863">99designs/gqlgen#2863</a></li>
<li>Remove archived dependency appdash by <a href="https://github.com/UnAfraid"><code>@UnAfraid</code></a> in <a href="https://github.com/99designs/gqlgen/pull/2866">99designs/gqlgen#2866</a></li>
<li>Fix for Entity Interface Model Generation by <a href="https://github.com/kjones-onx"><code>@kjones-onx</code></a> in <a href="https://github.com/99designs/gqlgen/pull/2868">99designs/gqlgen#2868</a></li>
<li>fix: avoid panic from tracing on bad request by <a href="https://github.com/SteveRuble"><code>@SteveRuble</code></a> in <a href="https://github.com/99designs/gqlgen/pull/2871">99designs/gqlgen#2871</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/teandresmith"><code>@teandresmith</code></a> made their first contribution in <a href="https://github.com/99designs/gqlgen/pull/2858">99designs/gqlgen#2858</a></li>
<li><a href="https://github.com/regynald"><code>@regynald</code></a> made their first contribution in <a href="https://github.com/99designs/gqlgen/pull/2863">99designs/gqlgen#2863</a></li>
<li><a href="https://github.com/kjones-onx"><code>@kjones-onx</code></a> made their first contribution in <a href="https://github.com/99designs/gqlgen/pull/2868">99designs/gqlgen#2868</a></li>
<li><a href="https://github.com/SteveRuble"><code>@SteveRuble</code></a> made their first contribution in <a href="https://github.com/99designs/gqlgen/pull/2871">99designs/gqlgen#2871</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/99designs/gqlgen/compare/v0.17.41...v0.17.42">https://github.com/99designs/gqlgen/compare/v0.17.41...v0.17.42</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/99designs/gqlgen/blob/master/CHANGELOG.md">github.com/99designs/gqlgen's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/99designs/gqlgen/compare/v0.17.41...v0.17.42">v0.17.42</a> - 2023-12-29</h2>
<ul>
<li><!-- raw HTML omitted --><!-- raw HTML omitted -->7bf0c223<!-- raw HTML omitted --><!-- raw HTML omitted --> release v0.17.42</li>
</ul>
<!-- raw HTML omitted -->
<p>This fixes a panic which arises from the tracing components when a request has some defect which results in an error when creating the operation context. The transports consistently handle this by calling <code>DispatchError(graphql.WithOperationContext(ctx, rc), err)</code> where <code>rc</code> is the OperationContext which was not correctly constructed. This seems dangerous, because middleware may assume that if there in an <code>OperationContext</code> in the <code>context.Context</code> than they are being invoked on a normal codepath and can assume their other interceptors have been invoked in the normal order. Also, using a value returned by a function which also returned a non-nil error is very unusual. However, I have no idea what the impact of changing that dangerous behavior in the transports would be, so I opted to make the tracing component more resilient instead.</p>
<!-- raw HTML omitted -->
<ul>
<li>
<p><!-- raw HTML omitted --><!-- raw HTML omitted -->13bb4152<!-- raw HTML omitted --><!-- raw HTML omitted --> fix for entity interfce code gen with related test (<!-- raw HTML omitted --><a href="https://github.com/99designs/gqlgen/issues/2868">#2868</a><!-- raw HTML omitted -->)</p>
</li>
<li>
<p><!-- raw HTML omitted --><!-- raw HTML omitted -->0354649c<!-- raw HTML omitted --><!-- raw HTML omitted --> Remove archived dependency appdash (<!-- raw HTML omitted --><a href="https://github.com/99designs/gqlgen/issues/2866">#2866</a><!-- raw HTML omitted -->)</p>
</li>
<li>
<p><!-- raw HTML omitted --><!-- raw HTML omitted -->0d43599c<!-- raw HTML omitted --><!-- raw HTML omitted --> Update examples go.mod with appdash replacements (<!-- raw HTML omitted --><a href="https://github.com/99designs/gqlgen/issues/2863">#2863</a><!-- raw HTML omitted -->)</p>
</li>
<li>
<p><!-- raw HTML omitted --><!-- raw HTML omitted -->7dd971c8<!-- raw HTML omitted --><!-- raw HTML omitted --> Use defer wg.Done() in FieldSet Dispatch (<!-- raw HTML omitted --><a href="https://github.com/99designs/gqlgen/issues/2861">#2861</a><!-- raw HTML omitted -->)</p>
</li>
</ul>
<!-- raw HTML omitted -->
<ul>
<li>
<p>update example for dataloadgen</p>
</li>
<li>
<p>improved example with link to example repo</p>
</li>
<li>
<p>undo unnecessary changes</p>
</li>
<li>
<p>fix wrong signature</p>
</li>
<li>
<p>fix creation of loader</p>
</li>
<li>
<p>Update docs/content/reference/dataloaders.md</p>
</li>
</ul>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<ul>
<li>
<p>generate structs for root level definitions to support fields that return Query, Mutation or Subscription</p>
</li>
<li>
<p>removed unnecessary comment</p>
</li>
<li>
<p>re-ran go generate</p>
</li>
</ul>
<hr />
<!-- raw HTML omitted -->
<ul>
<li><!-- raw HTML omitted --><!-- raw HTML omitted -->682a58dd<!-- raw HTML omitted --><!-- raw HTML omitted --> Add go generate for examples so contributors never forget (<!-- raw HTML omitted --><a href="https://github.com/99designs/gqlgen/issues/2859">#2859</a><!-- raw HTML omitted -->)</li>
</ul>
<!-- raw HTML omitted -->
<ul>
<li>fix: 型の数でソートする処理を追加</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/99designs/gqlgen/commit/7bf0c223aec642d086793698bc2a0d1a6fdb09b4"><code>7bf0c22</code></a> release v0.17.42</li>
<li><a href="https://github.com/99designs/gqlgen/commit/c811d47ec498bdd50591f163e7d23a7524e98280"><code>c811d47</code></a> fix: avoid panic from tracing on bad request (<a href="https://github.com/99designs/gqlgen/issues/2871">#2871</a>)</li>
<li><a href="https://github.com/99designs/gqlgen/commit/13bb415268dda837690835e65e331746c8df892b"><code>13bb415</code></a> fix for entity interfce code gen with related test (<a href="https://github.com/99designs/gqlgen/issues/2868">#2868</a>)</li>
<li><a href="https://github.com/99designs/gqlgen/commit/0354649c0309af6acfe089d12d103060d55a5805"><code>0354649</code></a> Remove archived dependency appdash (<a href="https://github.com/99designs/gqlgen/issues/2866">#2866</a>)</li>
<li><a href="https://github.com/99designs/gqlgen/commit/0d43599cdab22912d4ddd061c3b3ffd5d8da3845"><code>0d43599</code></a> Update examples go.mod with appdash replacements (<a href="https://github.com/99designs/gqlgen/issues/2863">#2863</a>)</li>
<li><a href="https://github.com/99designs/gqlgen/commit/7dd971c871c0b0159ad26c9bf3095a8ba3780402"><code>7dd971c</code></a> Use defer wg.Done() in FieldSet Dispatch (<a href="https://github.com/99designs/gqlgen/issues/2861">#2861</a>)</li>
<li><a href="https://github.com/99designs/gqlgen/commit/24ea195cebea095035caf4d23af7f3d75fd0a041"><code>24ea195</code></a> vikstrous/dataloadgen replaces recommended dataloader package in example docs...</li>
<li><a href="https://github.com/99designs/gqlgen/commit/42f6e39d48e3a301bf39cd4e8fd180250bc25f2c"><code>42f6e39</code></a> Allow fields that return root level definitions (<a href="https://github.com/99designs/gqlgen/issues/2858">#2858</a>)</li>
<li><a href="https://github.com/99designs/gqlgen/commit/682a58dd6af5fda53509fbf4cfa45d23b5bb1c86"><code>682a58d</code></a> Add go generate for examples so contributors never forget (<a href="https://github.com/99designs/gqlgen/issues/2859">#2859</a>)</li>
<li><a href="https://github.com/99designs/gqlgen/commit/e080a96de178520fcfaf5a8d68836981ec4df9a9"><code>e080a96</code></a> Modify to prevent unreachable code from occurring (<a href="https://github.com/99designs/gqlgen/issues/2846">#2846</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/99designs/gqlgen/compare/v0.17.41...v0.17.42">compare view</a></li>
</ul>
</details>
<br />
---
<details>
<summary>Dependabot commands</summary>
<br />
You can trigger Dependabot actions by commenting on this MR
- `$dependabot recreate` will recreate this MR rewriting all the manual changes and resolving conflicts
</details>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Bumps github.com/99designs/gqlgen from 0.17.41 to 0.17.42.
Release notes
Sourced from github.com/99designs/gqlgen's releases.
Changelog
Sourced from github.com/99designs/gqlgen's changelog.
... (truncated)
Commits
7bf0c22release v0.17.42c811d47fix: avoid panic from tracing on bad request (#2871)13bb415fix for entity interfce code gen with related test (#2868)0354649Remove archived dependency appdash (#2866)0d43599Update examples go.mod with appdash replacements (#2863)7dd971cUse defer wg.Done() in FieldSet Dispatch (#2861)24ea195vikstrous/dataloadgen replaces recommended dataloader package in example docs...42f6e39Allow fields that return root level definitions (#2858)682a58dAdd go generate for examples so contributors never forget (#2859)e080a96Modify to prevent unreachable code from occurring (#2846)Dependabot commands
You can trigger Dependabot actions by commenting on this MR
$dependabot recreatewill recreate this MR rewriting all the manual changes and resolving conflictsadded 1 commit
92d33b07- chore(deps): bump github.com/99designs/gqlgen from 0.17.41 to 0.17.42Compare with previous version