AiThao
Technologie · AiThao

Realtime berichten

Een bericht moet op de andere telefoon verschijnen zodra je het verstuurt, en mag onderweg nooit verloren gaan. Dat zijn twee verschillende taken, en AiThao doet ze in deze volgorde: eerst opslaan, dan bezorgen.

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.

Zie de vertaling zelf

Met de webdemo leer je AiThao kennen voordat de app uitkomt. AiThao wacht op goedkeuring van Apple voor de App Store; er is nog geen installatielink.

Open de demo