Skip to content

Commit a78a83a

Browse files
authored
Add notes from Dec WG (#1613)
1 parent 8e6f3fc commit a78a83a

File tree

2 files changed

+167
-0
lines changed

2 files changed

+167
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
.git/
12
node_modules/

notes/2024/2024-12.md

+166
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
# GraphQL WG Notes - December 2024
2+
3+
**Watch the replays:**
4+
[GraphQL Working Group Meetings on YouTube](https://www.youtube.com/playlist?list=PLP1igyLx8foH30_sDnEZnxV_8pYW3SDtb)
5+
6+
Agenda:
7+
[https://github.com/graphql/graphql-wg/blob/main/agendas/2024/12-Dec/05-wg-primary.md](https://github.com/graphql/graphql-wg/blob/main/agendas/2024/12-Dec/05-wg-primary.md)
8+
9+
1. Agree to Membership Agreement, Participation & Contribution Guidelines and
10+
Code of Conduct (1m, Host)
11+
- [Specification Membership Agreement](https://github.com/graphql/foundation)
12+
- [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
13+
- [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
14+
- [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
15+
2. Introduction of attendees (5m, Host)
16+
3. Determine volunteers for note taking (1m, Host)
17+
4. Review agenda (2m, Host)
18+
5. Check
19+
for[ ready for review agenda items](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)
20+
(5m, Host)
21+
6. [Move January meeting to Jan 9?](https://github.com/graphql/graphql-wg/pull/1595)
22+
(1m, Benjie)
23+
- Group agreed
24+
7. TSC membership vote - open for nominations (2m, Host)
25+
- [Election process](https://github.com/graphql/graphql-wg/blob/main/GraphQL-TSC.md#election-process)
26+
- Anyone can self-nominate or nominate others
27+
- Lee to open the nomination form and share out
28+
- Andy, Kewei, Rob, Stephen, Uri’s terms are set to end (re-nomination is of
29+
course open to them)
30+
8. Add 'extensions' to request (2m, Benjie)
31+
- [RFC](https://github.com/graphql/graphql-spec/pull/976) - promote to RFC 2?
32+
(Does it actually _need_ any code changes?)
33+
- Benjie: Not really meaningful to spec - reserve space for tools/vendors to
34+
extend
35+
- Adds a challenge RE: various transports - defining it over and over again
36+
- Proposing (a) advance to RFC2 (b) acknowledge no code changes needed
37+
- Lee: seems like a slam-dunk change
38+
9. Make `deprecated.reason` non-null (5m, Martin)
39+
- spec
40+
edits:[ graphql/graphql-spec#1040](https://github.com/graphql/graphql-spec/pull/1040)
41+
- graphql-js pull
42+
request:[ graphql/graphql-js#4299 (review)](https://github.com/graphql/graphql-js/pull/4299#pullrequestreview-2455415595)
43+
- Martin: Did a PR to graphql-js
44+
- That’s all I have
45+
- Lee: repeating back, it sounds like since we’re saying that because
46+
`reason` has a default value, we should disallow the ability to use
47+
`null`-literal as a value, which is technically possible if `reason` is
48+
nullable
49+
- Matt: not possible to send a request with deprecated from clients, yes?
50+
- Lee: should only impact tooling
51+
- Lee: approved and merging - awaiting graphql-js maintainers
52+
10. Add a validation rule that operation types exist (5m, Benjie)
53+
- [RFC](https://github.com/graphql/graphql-spec/pull/955) - promote to RFC
54+
2?
55+
- Proposal to add a new validation rule - does an operation type exist
56+
- Lee: agreed, suggests moving to “accepted”
57+
- Lee: will do offline review, want to accept and merge
58+
-
59+
11. Change 'original' to 'previous' to clarify multiple extensions (5m, Benjie)
60+
- [RFC](https://github.com/graphql/graphql-spec/pull/1123) - editorial;
61+
merge?
62+
- Benjie: When extending types, we use the term “original” but we allow for
63+
multiple extensions. This can be confusing.
64+
- This allows for something invalid:
65+
1. union MyUnion = Foo
66+
2. extend union MyUnion = Bar | Baz
67+
3. extend union MyUnion = Bar | Qux
68+
- Let’s wait 2 weeks and then we can merge
69+
12. GraphQL-JS maintenance (10m, Jovi)
70+
- Who has access to Netlify and how can we disconnect it
71+
- Nobody knows on the call
72+
- Maybe Ivan?
73+
- Uri says he might have access 🎉
74+
- What are our expectations of GraphQL.JS (frequency of publishing, docs,
75+
...)
76+
- We’ve never declared LTS/EOL stuff
77+
- In practice, we’ve generally put our energy into new versions
78+
- Have we backported releases to prior majors?
79+
- Yes, recently with introspection fix
80+
- Lee: open to any reasonable proposal here
81+
- Matt: one bare minimum is when we switched from Flow to TS
82+
- Lenz: adding some concern to that - GraphQL versions can tend to take a
83+
long time - maybe majors released in the last two years - plenty of time
84+
to migrate over - could also be another time frame
85+
- Gives people some security
86+
- Jovi: for clarity, in our case, v16 would be immediately dropped
87+
- Lee: something like adding a time window
88+
- When do we want v17
89+
- Jovi: Several specs ongoing
90+
- Rob: defer/stream in v17 - not exposed by regular execution function
91+
- If we were to release v17, we would not open up defer/stream - still
92+
experimental in that release
93+
- Yaacov: to clarify that post - where do we need to be in terms of our
94+
approval process to defer/stream to release v17?
95+
- Implicit in your answer, Rob, is that we could be anywhere
96+
- Let’s say we were ready after the holidays, could we move then?
97+
- Rob: I was more hesitant when we were more actively iterating in the
98+
past year
99+
- It’s still being behind the experimental function - giving ourselves the
100+
opportunity to change things if needed
101+
- Jeff: asked about the ability to keep w/ a previous incremental
102+
transport protocol with adopting v17
103+
- Lenz: multiple flags might add bundle size, etc
104+
- Rob: might be hard to incentivize adopting if folks feel like they have
105+
something working already
106+
- Benjie: we can continue this discussion for sure - backports to v16 will
107+
be there for a while, nothing urgent
108+
- From chat via Yaacov: 4. is there a way to preserve both the old format
109+
and the current format of defer/stream? yes, technically, for sure 5.
110+
https://github.com/ardatan/graphql-tools/pull/6243 this PR allows
111+
toggles for the old spec format and the new format 6. (it's a PR to a
112+
fork of the executor maintained by the guild) 7. see this comment: 8.
113+
`ts 9. const result = await execute({ 10. ..., 11. incrementalPreset: 'v17.0.0-alpha.2', 12. }); 13. ` 14.
114+
[https://github.com/ardatan/graphql-tools/pull/6243#discussion_r1704241110](https://github.com/ardatan/graphql-tools/pull/6243#discussion_r1704241110)
115+
- Lenz: 15. The problem is that we either have to ship many different
116+
versions of HttpLink, which is very confusing for users, or one version
117+
that grows bigger and bigger that cannot treeshake. 16. I'm less
118+
concerned on the server side than on the client side
119+
- Should we start EOL'ing releases
120+
13. Implementations may not deprecate a field that the interface hasn't
121+
deprecated (10m, Benjie)
122+
- [RFC](https://github.com/graphql/graphql-spec/pull/1053) - promote to
123+
RFC2?
124+
- Lee to give inline feedback
125+
14. `@defer`/`@stream` updates (10m, Rob)
126+
- Editorial: move "Path" to it's own
127+
section[ graphql/graphql-spec#1129](https://github.com/graphql/graphql-spec/pull/1129)<span style="text-decoration:underline;">
128+
</span>
129+
- Helps us reference that area in defer/stream down the line
130+
- Please continue
131+
reviewing[ graphql/graphql-spec#1124](https://github.com/graphql/graphql-spec/pull/1124)<span style="text-decoration:underline;">
132+
</span>
133+
- Rob: Current stage is RFC1, a prior design was in RFC2
134+
- Benjie: RFC2 is “preferred solution” and the current spec edits get us
135+
closer to that
136+
- Lee: generally in support of calling this RFC2 - pretty confident this is
137+
the right path
138+
15. Merge
139+
Lee's[ Editorial changes for Event Streams](https://github.com/graphql/graphql-spec/pull/1099)?
140+
(10m, Benjie)
141+
- Benjie: recap
142+
16. When `sourceStream` errors, yield a `{ errors: [...] }` response (5m,
143+
Benjie)
144+
- [RFC](https://github.com/graphql/graphql-spec/pull/1127) - promote to RFC
145+
1?
146+
- Lenz: may impact current behavior for clients initiating restarts (longer
147+
conversation, refer to recording as I did not annotate the conversation)
148+
17. Fix CoerceArgumentValues()' hasValue (15m, Benjie)
149+
- [RFC](https://github.com/graphql/graphql-spec/pull/1056) - promote to
150+
RFC2? Merge as an editorial fix?
151+
18. Be explicit about list coercion (15m, Benjie)
152+
- [RFC](https://github.com/graphql/graphql-spec/pull/1058) - promote to
153+
RFC2? Merge as an editorial fix?
154+
- Lee to review
155+
19. Interface field argument default values (@yaacovCR, 30m)
156+
- Spec
157+
bug?[ graphql/graphql-spec#1121](https://github.com/graphql/graphql-spec/issues/1121)
158+
- (Yaacov talks through the PR)
159+
- Essentially: the identified gap may lead to runtime errors in ways that
160+
may betray the intent of the schema author
161+
- Benjie: (talks through their comment on the PR): essentially adding a
162+
default in a way that is non-breaking for clients, but with a
163+
recommendation of a stricter implementation that may require client-side
164+
changes RE: defaults
165+
- No bar for RFC0 so we can deem it so, RFC1 would entail spec wording
166+
adjustments

0 commit comments

Comments
 (0)