0.1.2 • Published 5 years ago

relay-linear-publish-queue v0.1.2

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

relay-linear-publish-queue

Publish changes in the order they're received

Installation

yarn add relay-linear-publish-queue

Why

  • By default, Relay publishes changes in an arbitrary order, making local and optimistic updates unpredictable based on latency.
  • By default, Relay double normalizes every optimistic update & reconstructs the state tree more often than necessary

High level architecture

  • Updates (local, optimistic, or server) get put into a queue
  • Updates get processed in that order
  • When a server update returns, it's provided the same state as it's optimistic counterpart. This is standard for distributed systems. Otherwise, state is a function of latency, which causes divergence.

Usage

import defaultGetDataID from 'relay-runtime/lib/defaultGetDataID'
import LinearPublishQueue from 'relay-linear-publish-queue'
const publishQueue = new LinearPublishQueue(store, handlerProvider, defaultGetDataID)
new Environment({store, handlerProvider, network, publishQueue})

Also requires installing my fork. See package.json for the hash

License

MIT

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.1

5 years ago