Skip to content

Commit eda7842

Browse files
authored
Add notes from June WG (#1330)
1 parent ce12e05 commit eda7842

File tree

1 file changed

+134
-0
lines changed

1 file changed

+134
-0
lines changed

notes/2023/2023-06.md

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
# GraphQL WG Notes - June 2023
2+
3+
**Watch the replays:**
4+
[GraphQL Working Group Meetings on YouTube](https://www.youtube.com/playlist?list=PLP1igyLx8foH30_sDnEZnxV_8pYW3SDtb)
5+
6+
# Primary
7+
8+
## Agenda
9+
10+
1. Agree to Membership Agreement, Participation & Contribution Guidelines and
11+
Code of Conduct (1m, Lee)
12+
- [Specification Membership Agreement](https://github.com/graphql/foundation)
13+
- [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
14+
- [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
15+
- [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
16+
2. Introduction of attendees (5m, Lee)
17+
3. Determine volunteers for note taking (1m, Lee)
18+
4. Review agenda (2m, Lee)
19+
5. Review prior secondary meetings (5m, Lee)
20+
- [WG secondary APAC](https://github.com/graphql/graphql-wg/blob/main/agendas/2023/05-May/10-wg-secondary-apac.md)
21+
- [WG secondary EU](https://github.com/graphql/graphql-wg/blob/main/agendas/2023/05-May/18-wg-secondary-eu.md)
22+
6. Review previous meeting's action items (5m, Lee)
23+
- [Ready for review](https://github.com/graphql/graphql-wg/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc)
24+
- [All open action items (by last update)](https://github.com/graphql/graphql-wg/issues?q=is%3Aissue+is%3Aopen+label%3A%22Action+item+%3Aclapper%3A%22+sort%3Aupdated-desc)
25+
- [All open action items (by meeting)](https://github.com/graphql/graphql-wg/projects?query=is%3Aopen+sort%3Aname-asc)
26+
7. Default Value Validation Status Check (5m, Yaacov)
27+
- [Lee's original implementation PR stack at graphql-js](https://github.com/graphql/graphql-js/pull/3049)
28+
- [Last rebased to main on 2023.05.31](https://github.com/graphql/graphql-js/pull/3814)
29+
- [Benjie's Spec PR](https://github.com/graphql/graphql-spec/pull/793)
30+
8. Clarification on Nested List Input Coercion (5m, Abhinand)
31+
- [Issue on mismatch of Nested List Input Coercion in spec and implementation](https://github.com/graphql/graphql-js/issues/3858)
32+
9. CollectSubFields (30m, Yaacov)
33+
- [Spec PR](https://github.com/graphql/graphql-spec/pull/999)
34+
- [Use Case: Incremental Delivery with Deduplication](https://github.com/graphql/graphql-spec/pull/1026)
35+
10. @deprecated on OBJECT - next steps (15m, Stephen)
36+
- [Spec PR](https://github.com/graphql/graphql-spec/pull/997)
37+
- [GraphQL-JS PR](https://github.com/graphql/graphql-js/pull/3818)
38+
39+
## Determine volunteers for note taking
40+
41+
- Yaacov, Stephen
42+
43+
## Review prior secondary meetings
44+
45+
- Michael: From APAC meeting -
46+
https://github.com/graphql/graphql-spec/issues/769
47+
48+
## Default Value Validation Status Check (5m, Yaacov)
49+
50+
- Yaacov: quick status check
51+
- Awaiting Lee’s review
52+
- Benjie has
53+
[spec changes as a PR](https://github.com/graphql/graphql-spec/pull/793).
54+
Awaiting review
55+
- Which gets in first? Incremental delivery or this?
56+
- Ivan: This depends on schema coordinates. What is the status of schema
57+
coordinates?
58+
- Michael: schema coordinates is ready
59+
- Ivan: Champions. Start at the top of the stack, one PR at a time.
60+
- Yaacov: Next step - see if we can break down further. I’ll take that as an
61+
action item
62+
- Ivan: Maybe break out things that are purely GraphQL-js
63+
64+
## Clarification on Nested List Input Coercion (5m, Abhinand)
65+
66+
- Abhinand: I noticed a bug and created an
67+
[issue](https://github.com/graphql/graphql-js/issues/3858).
68+
- Yaacov: We do automatic coercion to a list when you provide a single value.
69+
- At the time that this was clarified in the spec, a second question was
70+
asked: What happens with a list of lists when you pass a single value?
71+
- The answer was that we should also wrap this in a nested list.
72+
- We have a table that says when a doubly nested list is expected and a
73+
singley nested list is provided there is an error. Is that what we want?
74+
- Michael: Would be great to have Lee’s insight on history of why this is in the
75+
spec like this
76+
- Ivan: Relation to javascript coercion
77+
- Yaacov: It’s already released in graphql-js with this behavior (not erroring).
78+
If we changed it to match the spec, would that break existing users?
79+
- Ivan: The spec is usually the source of truth. I’d consider changing
80+
graphql-js safer than changing spec.
81+
- This would be introduced as a semver breaking change. Include in release
82+
notes.
83+
- Same thing happened in apollo. Initially impls were based on graphql-js but
84+
more and more clean room impl based on the spec.
85+
- Michael: Usually you start with the spec and look at graphql-js for
86+
clarification on some algorithms
87+
- Ivan: To change the spec, it’s adding a feature. A feature needs a string
88+
use-case
89+
- Michael: I agree. Lots of other implementation would have implemented based
90+
on the table
91+
- Michael: Let’s add to secondary meeting
92+
- Yaacov: Once we’ve confirmed that we want to stick with the table we could
93+
make an editorial change to clarify wording around the table in the spec
94+
95+
## CollectSubFields (30m, Yaacov)
96+
97+
- Yaacov: (Some slides with
98+
[motivation](https://github.com/graphql/graphql-spec/pull/1026) for
99+
[PR](https://github.com/graphql/graphql-spec/pull/999))
100+
- incremental delivery with deduplication
101+
- Yaacov: Action - review spec text. No hurry to merge now. The use-case is
102+
upcoming but hasn’t arrived. Later spec change will be built on this.
103+
- Ivan: Safe to say this is a
104+
[Strawman](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md#stage-0-strawman).
105+
There is usefulness in it.
106+
107+
## @deprecated on OBJECT - next steps (15m, Stephen)
108+
109+
- Stephen:
110+
- https://github.com/graphql/graphql-spec/pull/997
111+
- Today we can deprecate fields, but not objects. Generally, deprecation is for
112+
clients, not servers; we are trying to communicate to clients that they need
113+
to change, i.e. that they need to stop requesting the deprecated field.
114+
- Changes with types have fewer client-required changes -- but they do have at
115+
least some!
116+
- Operations can mention types also -- they can spread a fragment on a type that
117+
implements an interface to request specific fields only if the returned type
118+
is the spread type, i.e.:
119+
- “ ... on SomeObject { someField }” where the return type of the field is
120+
SomeInterface and SomeObject implements SomeInterface.
121+
- A server cannot remove the SomeObject type unless the operations referencing
122+
it are updated, and so it would be good for servers to be able to encourage
123+
operations to stop using the type via the deprecated directive just like with
124+
fields.
125+
- Michael: I will try to implement it within HotChocolate and provide feedback.
126+
- Ivan: I will add a link to a rule that needs to be updated to detect duplicate
127+
usages; the rest looks pretty straightforward.
128+
- Ivan: Downside to the current proposal => might one assume that if .....
129+
<notetaker dropped>
130+
- Action items:
131+
- Michael to implement in HotChocolate
132+
- Added validations in graphql-js
133+
- Next time, discuss moving to
134+
[Stage 2](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md#stage-2-draft)

0 commit comments

Comments
 (0)