Teknik · AiThao

Realtidsmeddelanden

Ett meddelande ska dyka upp på den andra telefonen i samma stund som du skickar det, och det ska aldrig tappas bort på vägen. Det är två olika uppgifter, och AiThao gör dem i den ordningen: först sparat, sedan levererat.

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.