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

Mark root objects as referenced #3

Closed
wants to merge 897 commits into from

Conversation

maartenvanvliet
Copy link
Owner

maartenvanvliet and others added 30 commits December 3, 2020 21:40
…of_correct_type_bug

Account for `nil` schema_node in ArgumentsOfCorrectType suggestions
Fix `nil` schema_node in ArgumentsOfCorrectType
andrewhr and others added 29 commits May 7, 2022 19:40
Introduce telemetry events to Async middleware to instrument
new `Task.async/1` created inside the middleware.

The use-case for this event comes from OpenTelemetry and trace
propagation. For OTel, we need to run instrumentation from inside
the newly created Task to be able to connect spans. With this event
in place, we can track those Tasks without introducing custom wrappers
on user code.

This patch adds events only in the case of the middleware creating the
task. For tasks created by user code, there is nothing the library can
do, unfortunately.
…re-telemetry

Add telemetry events to async middleware
The Spandex library needs a 'completion_time' and it's not possible to get the start time at the beginning of the span to calculate it based on the duration
Add end_time_mono to telemetry :stop events
…ve_ergonomics

Allow single atom for macro directives
This is necessary if we want to extend it. It also cleans up some
code that checks for the presence of a declaration.
This way it's easier to check for the presence of a declaration
when applying type extensions.
This is no longer necessary as every schema has a proper schema
declaration struct.
The filtering of the SchemaDeclaration is not necessary here
as this is already done in the ApplyDeclaration phase.
This is also covered by validation phases, and with this check the
extension of query/mutation/subscription objects is not possible.
…ecification-links

update old specification links
Fixed a typo preventing to format files located in priv
…declaration_directives

Allow schema declaration directives
…arsing

Parse constant values separate from locations that permit variables
Followup to absinthe-graphql#1176

Since every schema will have a declared or inferred declaration, this
can be used to mark root objects as referenced.

The MarkReferenced used to mark every :query/:subscription/:mutation object
as referenced, even when it was used in the declaration.

This fix ensures that root objects that are not used in the declaration
are not marked as referenced and thus not rendered in the SDL.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet