O que isso faz por você
- Mensagens e reações aparecem na hora no celular da outra pessoa e nos seus outros aparelhos.
- Um celular que estava offline se atualiza quando volta, sem lacunas.
Como funciona
Cada app mantém uma conexão WebSocket autenticada com o servidor. Quando você envia uma mensagem, o servidor primeiro a grava no banco de dados e só depois publica um evento. Vários processos do servidor rodam lado a lado e passam os eventos entre si por um canal compartilhado de publicação e assinatura, então o processo que estiver com a conexão do destinatário faz a entrega.
Se o destinatário estiver offline, uma notificação push acorda o celular, e o app busca o que faltou num registro de reprodução ao reconectar. Numa conversa com criptografia de ponta a ponta, o que passa por tudo isso é um envelope criptografado que o servidor não consegue ler.
Por dentro
WebSocket · Node.js · TypeScript · PostgreSQL · Redis
Perguntas frequentes
O que acontece se eu enviar uma mensagem sem conexão?
O app a envia quando a conexão voltar. Assim que o servidor a recebe, ela é gravada antes de qualquer aviso.
Por quanto tempo o servidor guarda uma mensagem criptografada?
Até cada celular do destinatário ter sua cópia, no máximo 30 dias.