Vad det gör för dig
- Meddelanden och reaktioner visas omedelbart på den andra personens telefon och på dina andra enheter.
- En telefon som varit offline hämtar ikapp när den ansluter igen, utan luckor.
Så fungerar det
Varje app håller en autentiserad WebSocket-anslutning öppen till servern. När du skickar ett meddelande skriver servern det till databasen först och publicerar en händelse först därefter. Flera serverprocesser körs sida vid sida och skickar händelser till varandra över en delad publicera/prenumerera-kanal, så att den process som håller mottagarens anslutning levererar det.
Om mottagaren är offline väcker en pushnotis telefonen, och appen hämtar ikapp från en uppspelningslogg när den återansluter. I en end-to-end-krypterad chatt är det som färdas genom allt detta ett krypterat kuvert som servern inte kan läsa.
Under huven
WebSocket · Node.js · TypeScript · PostgreSQL · Redis
Vanliga frågor
Vad händer om jag skickar ett meddelande utan anslutning?
Appen skickar det när anslutningen återkommer. Så snart servern tagit emot det sparas det innan någon aviseras.
Hur länge sparar servern ett krypterat meddelande?
Tills var och en av mottagarens telefoner har fått sin kopia, som mest i 30 dagar.