Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GRAPH-1110] Merge in v1.7.7 #12

Merged
merged 48 commits into from
Jul 16, 2024
Merged

Conversation

bryanjos
Copy link
Contributor

@bryanjos bryanjos commented Jul 15, 2024

maartenvanvliet and others added 30 commits December 14, 2022 10:16
This can be used to e.g. pass through options to custom schema
phases in SDL rendering, to change the schema just before rendering it.
 - Module names should be written in PascalCase
 - Module attribute names should be written in snake_case
 - Numbers larger than 9999 should be written with underscores: 10_000 etc
…lity-fixes

[ready-for-review] Remove some code-readability issues like:
…print.Input.Field in addition to Absinthe.Blueprint.Input.Argument
Because `!is_deprecated || (is_deprecated && show_deprecated)` is equivalent to just `!is_deprecated || show_deprecated`
assign correct field_def value
…elds

Support deprecated input object fields in introspection query (fixes #1241)
…, what function with what parameters is failing when timeout occures

Instead of calling Task.await/2 which kills process after timeout has expired, use Task.yield/2, if it timeouts, kill task and log which function failed to resolve, after which we continue to act like Task.await and kill calling process (self).
Use Task.yield/2 instead of Task.await/2 in batching fn, so we can log error
* remove oopsies

* more whoops

camelize directives
…tives

Fix #1302, camelize type system directives in sdl output
version 1.7.4 was used twice 
 - once for the real 1.7.4 version
 - once again for version 1.7.5
HarshBalyan and others added 18 commits March 25, 2024 20:20
Starting in Elixir 1.16.0, :yecc should be listed in the mix project's
compilers when compiling .yrl files.

Fixes #1297
Fix typo in changelog.md (version 1.7.4 was used twice)
Ensure :yecc in included in the mix project's compilers
Add optional run_docset callback to Absinthe.Subscription.PubSub behavior
…difiers

Allow passthrough of opts to pipeline modifiers
Add parentheses to all function calls to fix Elixir 1.17 warnings
Allow `opentelemetry_process_propagator` 0.3
* Update elixir versions in CI to test 1.15, 1.16, and 1.17
* Update OTP version in CI to test 25, 26, and 27
* Update ubuntu version to 24.04
* Lower jaro_distance threshold slightly
* Remove else part of with expression in generate_schema. Dialyzer
  saw that Absinthe.Schema.introspect will only return
  {:error, String.t()} if there is an error
Check absinthe dependent libraries on CI runs
…g-telemetry

add telemetry phase when subscription config errors
Copy link
Contributor

@michaelcaterisano michaelcaterisano left a comment

Choose a reason for hiding this comment

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

ty!

Comment on lines +455 to +478
test "fires telemetry events when subscription config returns error", %{test: test} do
:ok =
:telemetry.attach_many(
"#{test}",
[
[:absinthe, :execute, :operation, :start],
[:absinthe, :execute, :operation, :stop]
],
&Absinthe.TestTelemetryHelper.send_to_pid/4,
%{pid: self()}
)

assert {:ok, %{errors: [%{locations: [%{column: 3, line: 2}], message: "unauthorized"}]}} ==
run_subscription(
@query,
Schema,
variables: %{"clientId" => "abc"},
context: %{pubsub: PubSub, authorized: false}
)

assert_received {:telemetry_event, {[:absinthe, :execute, :operation, :start], _, _, _}}

assert_received {:telemetry_event, {[:absinthe, :execute, :operation, :stop], _, _, _}}
end
Copy link
Contributor

Choose a reason for hiding this comment

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

Oh right, I added this :) Now we can remove the similar test in massdriver

Comment on lines +3 to +8
## 1.7.7
- POTENTIALLY BREAKING Bug Fix: [Validate variable usage in nested input arguments](https://github.com/absinthe-graphql/absinthe/pull/1290).This could break incoming documents previously considered valid. Skip the Absinthe.Phase.Document.Arguments.VariableTypesMatch phase to avoid this check. See Absinthe.Pipeline on adjusting the document pipeline.
- #1321 resolves telemetry issues
- Various minor dependency versioning tweaks
- Handle Elixir 1.17 warnings

Copy link
Contributor

Choose a reason for hiding this comment

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

I totally forgot to add my changes here. Maybe we should ticket updating the Absinthe docs at some point, they're missing a lot of stuff.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, any doc updates there would be beneficial

@bryanjos bryanjos merged commit 0a89be5 into main Jul 16, 2024
10 checks passed
@bryanjos bryanjos deleted the bryanj/GRAPH-1110/absinthe-update branch July 16, 2024 13:44
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.