~/talk

The Case Against __typename

Talkat GraphQLConf 2026 · on Tuesday, 2026-05-19· at 16:05· Grand Ballroom II - IV· [graphql, frontend-architecture]
links:none on file
slides:none on file

Claim: relying on __typename for client-side type checks breaks forward compatibility, bloats payloads, and fails on nested abstract types. Meta implements is_fulfilled booleans (one per interface/type, always true) and uses them in generated mobile models and Relay-like aliasing to detect implemented interfaces reliably; this reduces __typename queries and fixes rendering bugs in older clients. Caveat: normalized caching still sometimes needs __typename for unique keys; an RFC exists and the approach is deployed internally.

AI-written summary · about

  1. 0:00Introduction
  2. 1:03What is __typename
  3. 2:25Problems with __typename
  4. 5:15Schema evolution issues
  5. 8:06Forward compatibility limits
  6. 10:10Nested abstract types
  7. 12:39Fulfilled fields solution
  8. 17:36Relay’s @alias directive
  9. 19:42Normalized caching impact
  10. 21:49Reducing __typename usage
  11. 22:29Summary and RFC
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.