আপনার জন্য কী করে
- মেসেজ ও রিঅ্যাকশন সঙ্গে সঙ্গে অপর ব্যক্তির ফোনে এবং আপনার অন্য ডিভাইসে দেখা দেয়।
- অফলাইন থাকা ফোন ফিরে এলে কোনো ফাঁক ছাড়াই বাকিটা পেয়ে যায়।
কীভাবে কাজ করে
প্রতিটি অ্যাপ সার্ভারের সঙ্গে একটি প্রমাণীকৃত WebSocket সংযোগ খোলা রাখে। আপনি মেসেজ পাঠালে সার্ভার আগে সেটি ডেটাবেসে লেখে, তারপরই একটি ইভেন্ট প্রকাশ করে। কয়েকটি সার্ভার প্রসেস পাশাপাশি চলে এবং একটি সাধারণ পাবলিশ/সাবস্ক্রাইব চ্যানেলে একে অপরকে ইভেন্ট পাঠায়, তাই যে প্রসেসের কাছে প্রাপকের সংযোগ আছে, সে-ই মেসেজ পৌঁছে দেয়।
প্রাপক অফলাইন থাকলে একটি পুশ নোটিফিকেশন তাঁর ফোন জাগিয়ে তোলে, আর আবার সংযোগ হলে অ্যাপ একটি রিপ্লে লগ থেকে বাকিটা পূরণ করে। এন্ড-টু-এন্ড এনক্রিপ্টেড চ্যাটে এই পুরো পথে যায় একটি এনক্রিপ্টেড খাম, যা সার্ভার পড়তে পারে না।
ভেতরের কাঠামো
WebSocket · Node.js · TypeScript · PostgreSQL · Redis
সাধারণ প্রশ্ন
সংযোগ ছাড়া মেসেজ পাঠালে কী হয়?
সংযোগ ফিরলে অ্যাপ পাঠিয়ে দেয়। সার্ভার পাওয়ামাত্র কাউকে জানানোর আগেই সেটি সংরক্ষণ করে।
সার্ভার এনক্রিপ্টেড মেসেজ কত দিন রাখে?
প্রাপকের প্রতিটি ফোন নিজের কপি না পাওয়া পর্যন্ত, সর্বোচ্চ ৩০ দিন।