- शिप
- 29 सितंबर 2026 को 2:05 am बजे UTC
- लेखक
- Kamo
- Commit
- 38cd3d5
D-luna-1 (email-fix-review-1.md) की स्वतंत्र समीक्षा दो BLOCKER और एक MAJOR पाया गया, प्रत्येक वैध मेल के वास्तविक झूठे इनकार, पहले से ही इस में कोड से प्रदर्शित रेपो: - केस (BLOCKER): AliasService.createAlias, SharedMailboxservice.create and sharedmailboxservice.create. ************* सभी वास्तव में एक व्यवस्थापक के रूप में एक पता जारी इसे टाइप करें - एक वास्तविक पंक्ति "Sales@kamocrm.com" पढ़ सकती है। हर लुकअप अब है डेटाबेस (LOWER (col) = LOWER(?)) पर केस-असंवेदनशील, org id द्वारा दायर, जो org id द्वारा दायर किया गया है, जो अभी भी प्रत्येक तालिका (org id HASH, col) के माध्यम से इस संगठन की अपनी पंक्तियों तक पहुंचती है। एक क्रॉस-संगठन स्कैन के बजाय अद्वितीय सूचकांक - यह सिर्फ सूचकांक का उपयोग नहीं कर सकता उनके भीतर सटीक मूल्य तलाशने के लिए क्रमबद्ध श्रेणी घटक। पर एक कार्यात्मक सूचकांक प्रति तालिका (या उन तीन सेवाओं में लिखने के समय सामान्यीकृत मामला) एक सादे दृष्टिकोण को बहाल करेगा; न तो साइन-ऑफ के बिना किया जाता है, क्योंकि दोनों इस कार्य से बड़ा हैं। EntityManager मूल प्रश्नों के माध्यम से कार्यान्वित नए कामो-शेयर्ड-library repository तरीकों के बजाय RecipientDomainValidator। - प्लस टैग (BLOCKER): sage+urgent@kamocrm.com अब sage@kamocrm.com को मोड़ता है (EmailAddress.baseLocalPart), समान रूप से प्रसव / दमन परत को मोड़ देता है पहले से ही लागू होता है) मेलबॉक्स चेक से पहले - कभी नहीं आलिया चेक के लिए, क्योंकि एक Alia अपने विशिष्ट, जानबूझकर निर्मित पते है। - एकाधिक रूट डोमेन (MAJOR): alias-domain पता (kamouniverse.com) अब है ************************* UI डिफ़ॉल्ट (allowedDomain) - एक दूसरे के स्वामित्व वाली जड़ पर एक मेलबॉक्स अब पढ़ता है क्योंकि यह org की डिफ़ॉल्ट डोमेन नहीं है, सिर्फ अज्ञात है। - अनइंडेक्स्ड सदस्य लुकअप (MAJOR): सदस्य रिपोजिटरी गिरावट को हटा दिया जाता है। ************* में कोई सहायक सूचकांक नहीं है, इसलिए यह एक स्कैन चला गया प्रत्येक सदस्य पंक्ति में प्रत्येक वास्तविक रूप से बुरा अनुमान के लिए - वास्तव में यह विशेषता अस्तित्व का अपना कारण है। यह भी अनावश्यक था: यह कक्षा केवल कभी चलती है कामोमेल पर एक संगठन के लिए, जहां एक वास्तविक, प्रसव योग्य पता हमेशा एक है ********** पंक्ति (यह क्या प्रावधान है); एक सदस्य जिनका .email मैच होता है लेकिन उन पंक्तियों में से कोई भी मेलबॉक्स नहीं है साझा सर्वर तो उन्हें भेजने के लिए क्या यह की परवाह किए बिना आरसीपीटी पर विफल रहता है उसने कहा पूर्ण तर्क के लिए कक्षा javadoc देखें। - ट्रंकेशन (NIT): **************** अब अपने गद्य को 5 पर कैप्स करें नाम के पते ("और एन अधिक"), इसलिए डाउनस्ट्रीम एरोर्स का 300-char कट अब नहीं रह सकता मेलपैक के पहले मिड-एड्रेस से कई-बैड-रिसिपिएंट भेजने का संदेश डायरेक्टरी-लूकअप संकेत दिया गया है। अस्वीकार (Recipients) कभी नहीं छंटनी की जाती है। MINOR (existence oracle) खोज को तर्क के रूप में स्वीकार किया जाता है, कोड परिवर्तन नहीं: प्री-फ्लाइट चेक उत्तर "Does x@ownDomain मौजूद" पूर्व मौजूदा की तुलना में तेज़ SendFailedException-> 422 RECIPIENTS REJECTED पथ पहले से ही (एक असली RCPT TO) के लिए हो सकता है। वही वही, सीट-गेट कॉलर; यह कोई नया विशेषाधिकार सीमा नहीं खुलता है। टेस्ट (लाल पुष्टि की, फिर हरे रंग) : RecipientDomainValidator नया EntityManager-based डिजाइन (mirrors ******************* RETURNS SELF एक संग्रहीत-मिश्रित मामले पते, एक + टैग के लिए नए मामलों के साथ क्वेरी मॉक एक वास्तविक मेलबॉक्स के खिलाफ, एक + टैग जो अभी भी हल नहीं करता है, और alia-domain पता जिसका असली मेलबॉक्स एक गैर-डिफ़ॉल्ट स्वामित्व वाली रूट डोमेन पर रहता है (साथ और बिना किसी) + टैग). SendFailureResponseTest ने कैप्ड प्रॉक्सी बनाम untruncated के लिए मामलों को प्राप्त किया संरचित सूची भारी mvn परीक्षण **************** 77 रन, 0 असफलता।.
