O que isto proporciona
- Mensagens e reações surgem instantaneamente no telemóvel do destinatário e nos seus outros equipamentos.
- Um telemóvel que estivesse offline sincroniza-se ao voltar a ligar-se, sem falhas.
Como funciona
Cada aplicação mantém uma ligação WebSocket autenticada com o servidor. Ao enviar uma mensagem, o servidor grava-a primeiro na base de dados e só depois emite um evento. Vários processos do servidor operam em paralelo e partilham eventos através de um canal comum de publicação e subscrição, pelo que o processo com a ligação ativa do destinatário efetua a entrega.
Se o destinatário estiver offline, uma notificação push ativa o telemóvel, e a aplicação recupera os dados em falta a partir de um registo de reprodução ao restabelecer a ligação. Numa conversa com encriptação de ponta a ponta, o conteúdo transmitido é um invólucro encriptado que o servidor não consegue ler.
Estrutura técnica
WebSocket · Node.js · TypeScript · PostgreSQL · Redis
Perguntas frequentes
O que acontece se enviar uma mensagem sem ligação?
A aplicação envia-a assim que a ligação for reposta. Logo que o servidor a recebe, é registada antes de qualquer aviso.
Por quanto tempo o servidor guarda uma mensagem encriptada?
Até cada telemóvel do destinatário obter a sua cópia, no limite de 30 dias.