Actualizaciones en vivo

Abre un WebSocket al mismo host que la API y Fóir avisa a tu aplicación cuando cambia un registro. Cada evento lleva el id de lo que cambió, y el SDK puede convertirlo en una actualización de la caché de tus consultas.

Un socket, la misma clave

Las suscripciones usan el protocolo graphql-ws en el propio host de la API, con la misma clave de API que tus consultas y mutaciones. Las credenciales se envían al abrir la conexión: la clave y, si lo hay, el token de acceso de un usuario con sesión iniciada. Un socket admite hasta 32 suscripciones en vivo.

A qué puedes suscribirte

recordChanged informa de los cambios en los registros de un modelo. Otras suscripciones cubren, para quien llama, las notificaciones, el progreso de trabajos en segundo plano y la ejecución de una sola operación. Observar un modelo necesita el mismo permiso de lectura que leerlo, y en un modelo cuyos registros son privados para cada usuario el flujo se filtra a los registros de quien llama.

Los eventos llevan ids

Un evento de registro nombra la acción (creado, actualizado, publicado, despublicado o eliminado), el id del registro y su modelo. Identifica qué cambió y deja fuera el contenido, así que lees el registro a través de la API normal. Cada evento tiene además un número de secuencia, por proyecto y en orden de confirmación. Pasa el más alto que hayas aplicado al suscribirte y el servidor reproduce lo que te perdiste desde su registro duradero antes de continuar en vivo.

El cliente de suscripciones del SDK

El SDK tipado da a cada modelo un método onChange que devuelve un handle para cancelar la suscripción. Abre el socket en la primera suscripción y lo cierra cuando termina la última. Si la conexión se cae, se reconecta con backoff exponencial y vuelve a enviar las suscripciones en vivo.

El módulo live

@foir/sdk/live conecta el flujo de cambios con la caché de tus consultas, y tiene un binding para React. Una edición vuelve a obtener solo las consultas que contenían ese registro, un borrado se aplica en memoria y una creación se informa como un recuento. Lo activas por modelo.

Lee el detalle

La guía de suscripciones cubre el endpoint, cada suscripción y sus campos de evento, y el módulo live.