Atualizações em tempo real para seu SaaS, sem um serviço de tempo real de terceiros
Atualizado em
O Seed envia cada alteração salva para todas as abas abertas do grupo por um WebSocket da própria API, então uma nota salva numa janela aparece nas outras em até um segundo, sem recarregar. Roda no seu servidor, sem serviço de tempo real para pagar; um recurso que você adiciona ganha isso ao copiar o exemplo de notas.
- Um WebSocket padrão, com um número de sequência em cada alteração
- Uma aba que acorda da suspensão reconecta e busca o que perdeu
- O tempo real pode ser desligado: aí o app consulta o servidor de tempos em tempos e funciona igual
Cada gravação é confirmada com o próximo número de sequência do grupo, e a API a envia para o socket aberto de cada membro. Uma aba só aplica uma alteração quando o número dela vem logo depois do último que a aba tem; se faltar algum, ela pede ao servidor tudo o que veio depois do seu cursor, então uma mensagem perdida custa uma requisição a mais e nunca uma lista errada.
Um notebook que sai da suspensão reconecta e busca o que perdeu. Com o socket desligado, o app lê e grava por HTTP e verifica se há alterações a cada 30 segundos.

O Seed atualiza em tempo real?
Sim. Uma alteração salva aparece em todas as abas abertas do grupo em até um segundo, sem recarregar.
Preciso do Pusher, do Ably ou de outro serviço de tempo real?
Não. O WebSocket é servido pela própria API do Seed, no seu servidor.
Uma aba se atualiza depois que o notebook sai da suspensão?
Sim. Ela reconecta e busca todas as alterações depois da última que tinha.
Posso desligar o tempo real?
Sim. Defina SPA_REALTIME=false: o app passa a verificar se há alterações a cada 30 segundos e funciona igual.