Wat het voor je doet
- Berichten en reacties verschijnen meteen op de telefoon van de ander en op je andere apparaten.
- Een telefoon die offline was, haalt alles in als hij terug is, zonder gaten.
Hoe het werkt
Elke app houdt één geauthenticeerde WebSocket-verbinding open met de server. Verstuur je een bericht, dan schrijft de server het eerst in de database en publiceert pas daarna een gebeurtenis. Meerdere serverprocessen draaien naast elkaar en geven gebeurtenissen door via een gedeeld publish/subscribe-kanaal, zodat het proces dat de verbinding van de ontvanger heeft, bezorgt.
Is de ontvanger offline, dan wekt een pushmelding de telefoon, en de app haalt bij het opnieuw verbinden in uit een replay-log. In een end-to-end versleutelde chat reist door dit alles een versleutelde envelop die de server niet kan lezen.
Onder de motorkap
WebSocket · Node.js · TypeScript · PostgreSQL · Redis
Veelgestelde vragen
Wat gebeurt er als ik een bericht verstuur zonder verbinding?
De app verstuurt het als de verbinding terug is. Zodra de server het heeft, wordt het opgeslagen voordat iemand een melding krijgt.
Hoe lang bewaart de server een versleuteld bericht?
Tot elke telefoon van de ontvanger zijn kopie heeft, hooguit 30 dagen.