آپ کے لیے کیا کرتا ہے
- پیغامات اور ردعمل فوراً دوسرے شخص کے فون اور آپ کے دیگر آلات پر ظاہر ہوتے ہیں۔
- جو فون آف لائن تھا، واپس آنے پر بغیر کسی خلا کے اپ ڈیٹ ہو جاتا ہے۔
یہ کیسے کام کرتا ہے
ہر ایپ سرور کے ساتھ ایک تصدیق شدہ WebSocket کنکشن کھلا رکھتی ہے۔ جب آپ پیغام بھیجتے ہیں، تو سرور اسے پہلے ڈیٹا بیس میں لکھتا ہے اور صرف اس کے بعد ایک ایونٹ شائع کرتا ہے۔ متعدد سرور پروسیسز ساتھ ساتھ چلتے ہیں اور ایک مشترکہ publish/subscribe چینل کے ذریعے ایک دوسرے کو ایونٹس بھیجتے ہیں، تاکہ جس پروسیس کے پاس وصول کنندہ کا کنکشن ہو، وہی اسے پہنچائے۔
اگر وصول کنندہ آف لائن ہے، تو ایک push notification ان کے فون کو بیدار کرتی ہے، اور ایپ دوبارہ منسلک ہونے پر replay log سے اپ ڈیٹ ہو جاتی ہے۔ end-to-end encrypted چیٹ میں، جو چیز اس سارے عمل سے گزرتی ہے وہ ایک encrypted envelope ہے جسے سرور پڑھ نہیں سکتا۔
اندرونی ساخت
WebSocket · Node.js · TypeScript · PostgreSQL · Redis
سوالات
اگر میں بغیر کنکشن کے پیغام بھیجوں تو کیا ہوتا ہے؟
ایپ کنکشن واپس آنے پر اسے بھیج دیتی ہے۔ ایک بار جب سرور کے پاس یہ آ جائے، تو کسی کو مطلع کرنے سے پہلے اسے محفوظ کر لیا جاتا ہے۔
سرور encrypted پیغام کو کتنی دیر تک رکھتا ہے؟
جب تک وصول کنندہ کے ہر فون کے پاس اس کی نقل نہ آ جائے، زیادہ سے زیادہ 30 دن۔