+Over `graphql-transport-ws`, a `@defer` or `@stream` field is delivered using the `pending`/`incremental`/`completed`/`hasNext` format used by graphql-js 17 and Apollo Client's `GraphQL17Alpha9Handler`. Each field is announced once, in a `pending` entry, and identified afterwards by a short id rather than its path. A deferred field is announced in the same payload as its own value, while a streamed field is announced as soon as the payload exposing its containing data is sent. Streamed items always arrive in list order, and a batch of items is delivered as the `items` of one `incremental` entry addressed by that id. A payload that carries only GraphQL errors now omits the top-level `data` property instead of sending `data: null`, matching the existing request-error contract used elsewhere in the transport.
0 commit comments