- शिप
- 6 अगस्त 2026 को 11:58 am बजे UTC
- लेखक
- Kamo
- Commit
- 145fb64
कामो-आंतरिक में नेव-टॉप मेल बैज ने कॉल करके खुद को ताज़ा किया /api/email/folders हर 30 सेकंड, प्रति ब्राउज़र टैब। कि समापन बिंदु चल रहा है पूरे फ़ोल्डर पेड़ और हर फ़ोल्डर को केवल जवाब देने के लिए खुलता है, इसलिए लागत की लागत एक पूर्ण मेलबॉक्स सारांश था, जिसे अनिश्चित काल तक दोहराया गया था। WebSocket पहले से ही अस्तित्व में केवल घोषणा की कि मेल आया था और कोई गिनती नहीं की थी। इसलिए इसका एक काम एक अन्य मतदान को ट्रिगर करना था। गिनती खुद को प्रकाशित करें: - EmailUnreadSnapshot on NATS email.unread. /topic/email/unread/<memberId> NATS पथ में है क्योंकि फली यह है कि एक बदलाव का निरीक्षण नियमित रूप से नहीं होता है जो सदस्य के WebSocket को पकड़ता है। - मेलबॉक्स प्रति ईमेल UnreadPublisher Coalesces, तो एक दस संदेश IDLE वितरण या मेल का एक पेज पढ़ने के लिए एक IMAP राउंड ट्रिप और एक प्रकाशन है, बंद कॉलर का धागा। - MailReader.getUnreadCount एक फ़ोल्डर पढ़ता है। ग्राफ़ इसे फ़ोल्डर से उत्तर देता है यह पहले से ही रिटर्न सूची; IMAP-backed प्रदाताओं ने इसे एक साथ ओवरराइड किया STATUS (UNSEEN). - एक स्नैपशॉट सब्सक्राइब पर प्रकाशित किया जाता है, IDLE संदेशAdded/messageRemoved पर, IMAP ध्वज परिवर्तन पर और मार्क-रीड / झंडे / मूव / डिलीट / स्पैम से समापन बिंदु यह भी बंद कर देता है: - ध्वज परिवर्तन अदृश्य थे। राउंडक्यूब में या एक फोन सेट पर मेल पढ़ना बिना संदेश को जोड़ने या हटाने के बजाय, इसलिए बैज हमेशा गिर गया जब ब्राउज़र अगले मतदान किया। आईडीएलई अब एक संदेश केंद्र है। - क्लाउड मेलबॉक्स को सभी पर कोई धक्का नहीं मिला। EmailWebSocketController Kamomail virtual users तालिका के माध्यम से क्रेडेंशियल, जिसमें कोई पंक्ति नहीं है Microsoft 365 या Google Workspace पर सदस्य, इसलिए सदस्यता () ने चेतावनी दी और लौटे। यह अब MailProviderResolver और IDLE कनेक्ट के माध्यम से हल करता है एक साझा के माध्यम से क्रेडेंशियल स्पेक (होस्ट/पोर्ट/TLS/XOAUTH2) के साथ ImapStoreफैक्टरी.कनेक्ट करने के बजाय KamoMail होस्ट और एक पासवर्ड - सत्र लीक हो गया। एक बंद टैब कभी / ईमेल / सदस्यता नहीं भेजता है, इसलिए मेलबॉक्स अब प्रति STOMP सत्र की गिनती की जाती है और जारी की जाती है सत्र डिस्कनेक्ट कोई लाइव IDLE श्रोता के साथ मेलबॉक्स - ग्राफ, 50-कनेक्शन कैप के पास, या एक मृत IDLE धागा - हर 60 के दशक में सर्वर-साइड को घुमाया जाता है और उसी में प्रकाशित होता है। विषय यह प्रति टैब मतदान के बजाय पुश की जगह लेता है: एक स्वीप हर जगह पर काम करता है एक सदस्य खुला है टैब, सदस्यता प्रत्येक पास फिर से परीक्षण किया जाता है इसलिए एक मृत श्रोता है उठाया, और ब्राउज़र अभी भी WebSocket पर गिनती प्राप्त करता है। MessageIndexer ईमेल बांधता है।> और उस पर सब कुछ एक संदेश के रूप में deserialized, इसलिए यह अब ईमेल के बाहर विषयों को छोड़ देता है। सदस्यता को संकीर्ण करने की तुलना में, क्योंकि ईमेल-metadata-indexer एक टिकाऊ है उपभोक्ता और उसके फिल्टर विषय को बदलने से सब्सक्राइब हो जाएगा जब तक टिकाऊ हाथ से हटा दिया गया था तब तक फली।.