विषयवस्तु पर जाएँ
KAMOUniverse

परिवर्तन लॉग

क्या नया है.

यह जहाज के रूप में, प्लेटफार्म के हर सुधार.

  1. · InitializerService

    प्रति मेलबॉक्स भंडारण माप के लिए स्कीमा

    ************* रखती है, प्रति मेलबॉक्स और प्रति आगमन दिन, RFC822 bytes that mailbox is held. भंडारण लेखांकन में कोई ईमानदार स्रोत नहीं था मेलबॉक्स बाइट के लिए: खोज सूचकांक केवल उन संदेशों को कवर करता है जो अनुक्रमित थे, और उन्हें स्टोर करने के बावजूद कवर करता है। ORG ID को ईमेल provider.mailboxs से अलग किया जाता है ताकि प्रतिसंगठन एकत्रीकरण एक अनुक्रमित योग है, और इसलिए प्रति मेलबॉक्स निषेध रहता है - कई संगठन एक बार में कामोमेल पर हो सकते हैं और एक डोमेन के मेल्डर को पकड़ सकता है विभिन्न संगठनों से संबंधित मेलबॉक्स। उत्पादन 2026-08-08-08 के खिलाफ भागो; तालिका और सूचकांक सत्यापित।.

  2. · kamo-shared-library

    मेल कामो वास्तव में होस्ट करता है, प्रति मेलबॉक्स

    EMAIL को email metadata.search index से सोर्स किया गया था, जो दोनों में गलत था। दिशा यह पूरी तरह से KamoMail याद आया - A org on KAMO MAIL में अपने संदेश हैं क्लस्टर के अपने Dovecot Maildir में संलग्नक, उत्पादन में इसके 62 MB, और निर्माण में संलग्न है। शून्य के रूप में गिना जाता है। और यह Microsoft 365 या Google पर एक org चार्ज किया जाएगा उस प्रदाता की डिस्क पर बैठे मेल के लिए वर्कस्पेस, जहां कामो कुछ भी नहीं रखता है लेकिन अपनी खुद की खोज सूचकांक। ************* इसे प्रतिस्थापित करता है: प्रति मेलबॉक्स, प्रति आगमन दिन, कुल RFC822 बाइट्स - हेडर, बॉडी और एन्कोडेड अटैचमेंट्स, जो क्या है मेलडीर पर कब्जा करता है। प्रति संदेश के बजाय दिन तक बाल्टीिंग टेबल रखता है दिन के साथ मेल के लिए आनुपातिक, जबकि अभी भी एक मनमाने बिलिंग विंडो देने पूरे महीने के लिए गोल होने के बजाय वास्तव में योग किया जाता है। विशेषता अपने स्वयं के org id के माध्यम से मेलबॉक्स प्रति है, कभी डोमेन के प्रति और कभी नहीं प्रति मेलीर कामोमेल एक एकल किरायेदार नहीं है: उत्पादन में पहले से ही 18 मेलबॉक्स हैं एक दूसरे के तहत एक ओरग और 41 के तहत, एक टेबल में चार डोमेन में अंतरित। एक डोमेन, या मेल्डिर को एक पूरे के रूप में समूचे, एक ओर दूसरे के लिए बिल करेगा मेल स्कीमा ने इस भूमि से पहले उत्पादन में सत्यापित किया: email provider .mailbox storage days एक KI रन के बाद अपनी विशिष्टता बाधा के साथ मौजूद है।.

  3. · kamo-internal

    क्यों मेलबॉक्स भंडारण शून्य पढ़ सकते हैं

    मेलबॉक्स बाइट्स केवल मेल कामो वास्तव में होस्ट करता है। पर एक संगठन Microsoft 365 या Google Workspace में उस प्रदाता की डिस्क पर इसके संदेश हैं, इसलिए इसकी मेलबॉक्स पंक्ति वैध रूप से 0 है - जो बिना किसी अपवाद के, टूटे हुए के रूप में पढ़ती है एक सही के बजाय संख्या।.

  4. · BillingService

    एक प्लेटफॉर्म व्यवस्थापक को मांग पर स्नैपशॉट स्वीप चलाएं

    स्वीप वह है जो अवधि को हटाने और जीवनकाल के लिए कुल बनाता है कठिन-हटाने वाले डोमेन सभी पर जवाबदेह होते हैं, इसलिए बाहर निकलने के लिए दिन खो जाते हैं स्थायी रूप से जब तक कि अंतराल भरा हो जाता है। अगले 04:20 रन के लिए प्रतीक्षा नहीं है वसूली योजना। स्वीप पहले से ही 14 दिनों तक पकड़ता है और प्रति (ऑर्ग, दिन, डोमेन) idempotent है। इसलिए बार-बार कॉल डबल-काउंट के बजाय बसते हैं। यह बस इसे उजागर करता है, पीछे @PlatformAdminOnly, और पंक्ति की गिनती लौटाता है ताकि कॉलर इसे काम कर सके।.

  5. · kamo-internal

    अकाउंट स्टेट्स टैब पर स्टोरेज उपयोग दिखाएं

    टैब ने हर संगठन के लिए "इस अवधि के लिए उपलब्ध कोई उपयोग डेटा नहीं" कहा। BillingApi.getCurrentUsage () एक स्टब रिटर्निंग { मीटर: [] }, और उपयोगMeter अपने खाली राज्य को शून्य मीटर पर प्रस्तुत करता है - इसलिए संदेश ने ठूंठ की रिपोर्ट की थी, डेटा नहीं। StorageUsagePanel वास्तविक बिलिंग सेवा समापन बिंदु को पढ़ता है और दो दिखाता है वे आंकड़े जो साइड से साइड को सीमित करना आसान हैं: संगठन क्या है अभी, जो तब हो जाता है जब फ़ाइलों को हटा दिया जाता है, और यह उसके ऊपर क्या जोड़ा गया है जीवनकाल, जो नहीं करता है। उनके साथ, इस अवधि को क्या ले जाया गया, और एक दस्तावेजों, मेलबॉक्स, ज्ञान-आधारित मीडिया, बैठक में प्रति डोमेन ब्रेकडाउन रिकॉर्डिंग और प्रकटीकरण। जहां एक आकृति एक माप के बजाय एक मंजिल है, तो यह कहते हैं - एक हटाने इसके पीछे कोई ओपनिंग स्नैपशॉट नहीं, या स्टोरेज एरिया के लिए एक लाइफटाइम कुल कि हार्ड-अपना रिकॉर्ड हटा देता है। एक चिप रिकॉर्ड के आधार को बताता है: एक org है प्रत्येक फ़ाइल के लिए गिना जाता है, हालांकि कामो प्रति हैश एक प्रति प्रतिलिपि रखता है। प्रवृत्ति केवल एक बार इतिहास के दो दिन मौजूद हैं; एक बिंदु एक प्रवृत्ति नहीं है, और इसे ड्राइंग एक इतिहास है कि अभी तक एकत्र नहीं किया गया है। श्रृंखला रंग मान्य श्रेणीबद्ध क्रम हैं - सबसे खराब आसन्न CVD ΔE 9.1, इस सतह पर सबसे खराब आसन्न सामान्य-दृश्य ΔE 19.6। 3:1 इसके विपरीत, इसलिए ब्रेकडाउन टेबल सजावटी नहीं है: यह गैर रंग की रीडिंग है उसी डेटा का। बाइट गिनती स्टे स्ट्रिंग्स एंड टू एंड (बिलिंग सर्विस लंबे समय तक चल रही है) ToStringSerializer (toStringSerializer)) और केवल चौड़ी हुई हैं जहां परिमाण संभवतः सुरक्षित है।.

  6. · BillingService

    एक संगठन क्या भंडारण है की रिपोर्ट

    खाता स्टेट्स टैब हमेशा "इस अवधि के लिए उपलब्ध कोई उपयोग डेटा नहीं", कहा जाता है। हर संगठन के लिए, क्योंकि कैमो-आंतरिक में getCurrentUsage () एक स्टब है शून्य मीटर लौटाना और उसके पीछे कभी भी एकत्रित भंडारण के पीछे कुछ नहीं। प्रति भंडारण क्षेत्र में तीन अलग-अलग आंकड़े बचाता है, साथ ही कुल: - संगठन अभी क्या रखता है, जो तब गिर जाता है जब फ़ाइलों को हटा दिया जाता है - क्या यह अपने जीवनकाल में जोड़ा गया है, जो नहीं करता है - वर्तमान बिलिंग अवधि के दौरान क्या ले जाया जाता है हटाने व्युत्पन्न है - कोई भंडारण तालिका timetamps एक निष्क्रियता के बाद से EmbRecordState.DATE UPDated is insertable=false and कभी ताज़ा नहीं - जैसा कि उद्घाटन + जोड़ा गया - अवधि के उद्घाटन स्नैपशॉट के खिलाफ चालू। नहीं स्नैपशॉट खोलने के बाद यह ट्रैश टाइमस्टैम्प्स में वापस आ जाता है और खुद को रिपोर्ट करता है माप के रूप में अनुमान लगाने के बजाय फर्श। लाइफटाइम सटीक है जहां हटाने वाली पंक्तियाँ उन स्नैपशॉट्स से बची हैं जहां वे नहीं करते हैं; दोनों वे कौन हैं, इसलिए यूआई भी हो सकता है। बिलिंगPeriodResolver एक लाइव सदस्यता की अवधि को पसंद करता है और वापस करने के लिए गिर जाता है ऑर्ग के टाइमज़ोन में कैलेंडर माह। कि गिरावट में पूरी सुविधा है उत्पादन: प्रत्येक सदस्यता में NULL current period start होता है और वर्तमान समय end, इसलिए इसके बिना अवधि के आंकड़े प्रत्येक के लिए खाली होंगे संगठन जो मौजूद है - बग का एक ही वर्ग यह जगह लेता है। StorageSnapshotSweep प्रत्येक org के इतिहास पर निर्भर करता है दैनिक स्थिति लिखते हैं, 14 याद किए गए दिनों तक पकड़ना और क्वेरी से पहले स्नैपशॉट लेना जीवनकाल इसलिए ट्रैकिंग शून्य पर फिर से शुरू नहीं होती है। मंच समापन बिंदु रिपोर्ट शारीरिक रूप से संग्रहीत बाइट के खिलाफ बिल दिया। ग्राहक प्रति रिकॉर्ड बिल कर रहे हैं; img dats एक प्रति हैश रखती है हालांकि कई orgs है उस फ़ाइल और थंबनेल और रूपांतरण लागत बाइट्स के लिए कोई बिल नहीं दिया जाता है। दोनों अंतर कामो के अर्थशास्त्र हैं, इसलिए वे @PlatformAdminOnly के पीछे बैठते हैं। 21 नए परीक्षण, 113 कुल, सभी उत्तीर्ण।.

  7. · InitializerService

    Org storage snapshots के लिए स्कीमा धावक

    मिरर्स ऑर्गस्टोरेजस्नैपशॉट डीडीएल के रूप में, प्रति घर की शैली - डीडीएल-ऑटो पहले टेबल बनाता है, इसलिए CREATE एक गिरावट है और SET DEFAULTs हैं वास्तव में इसे सादे SQL (Hibernate) से उपयोग करने योग्य बनाता है, कोई कॉलम डिफ़ॉल्ट नहीं है। मान के लिए इकाई जावा में भरती है। इसके अलावा सूचकांक (ORG ID, DATE CREated) और (ORG ID, DATE TRASHED). भंडारण एकत्रीकरण प्रत्येक सारांश अनुरोध पर दोनों पढ़ता है और मौजूदा सूचकांक सभी हैं Assoc- और फ़ोल्डर के आकार का। उत्पादन 2026-08-08-08 के खिलाफ भागो; org storage snapshots सभी 16 के साथ सत्यापित साझा-lib इकाई को धक्का देने से पहले स्तंभों और इसकी विशिष्टता को बाधित किया गया।.

  8. · kamo-shared-library

    प्रतिसंगठन भंडारण उपयोग मॉडल

    प्रति संगठन कभी भी भंडारण नहीं किया गया है। छह संस्थाएं एक बाइट ले जाती हैं प्रति फ़ाइल गिनती, और उनमें से किसी को भी कोड नहीं मिला, यही कारण है कि खाता स्टेट्स टैब हर ओर के लिए "इस अवधि के लिए उपलब्ध कोई उपयोग डेटा" प्रदान करता है। साझा मॉडल को जोड़ता है कि एकत्रीकरण की जरूरत है: - StorageDomain - पांच org-attributable भंडारण क्षेत्र, प्रत्येक घोषणा क्या इसके हटाए गए रिकॉर्ड जीवित रहते हैं। दस्तावेज़ और KB मीडिया सॉफ्ट-डेलीट, इसलिए एक आजीवन कुल एक सीधी क्वेरी है; मेलबॉक्स, रिकॉर्डिंग और प्रकटीकरण हार्ड-डेलीट, इसलिए वे केवल आगे जमा कर सकते हैं। -OrgstorageSnapshot - प्रति (org, day, domain) एक पंक्ति। यह तीन के लिए मौजूद है तथ्य यह है कि तथ्य के बाद uncoverable हैं: जीवनकाल के लिए कुल हार्ड-हटाने वाले डोमेन, प्रारंभिक स्थिति जो अवधि को हटाने की है (कोई तालिका नहीं) के खिलाफ अंतर एक निष्क्रियता — EmbRecordState's DATE UPDated is insertable=false and कभी ताज़ा नहीं). अवधि समाप्त होने पर निर्धारित संख्या। -ऑर्गस्टोरेज एग्रीगेटर - हर एक वर्ग में प्रति डोमेन कुल। कुल हैं रिकॉर्ड पर संक्षेप में, कभी संग्रहीत वस्तुओं पर: img dats एक भौतिक रहता है प्रति हैश की प्रतिलिपि हालांकि कई orgs उस फ़ाइल को पकड़ते हैं, और बचत कामो है। aggregator जानबूझकर कोई स्टीरियोटाइप नहीं करता है। प्रत्येक सेवा रन @ComponentScan ("com.kamo"), इसलिए यह घोषणा करते हुए कि यह सभी ~ 40 में इसका निर्माण करेगा। उन्हें; बिलिंग सर्विस ने बीन को घोषित किया। इसके अलावा खोज सूचकांक ईमेल आकार बैकफिल आवश्यकताओं को क्वेरी करता है - size bytes 0 के रूप में लिखा गया था क्योंकि इंडेक्स बनाया गया था, इसलिए मेलबॉक्स स्टोरेज जब तक उन पंक्तियों की मरम्मत नहीं की जाती तब तक शून्य बाइट्स प्लेटफॉर्म-वाइड के रूप में पढ़ता है। स्कीमा इस भूमि से पहले उत्पादन में सत्यापित: org storage snapshots मौजूद है एक KamoInitializer रन के बाद सभी 16 स्तंभों के साथ।.

  9. · InitializerService

    **************** एप्लिकेशन विभाजित

    बैकफिल ने कभी भी एक प्लान पंक्ति भर दी जो गायब हो गई थी - जानबूझकर, इसलिए यह चुपचाप नहीं हो सका एक टियर को स्थानांतरित करें - जो उन ऐप्स को छोड़ देता है जिनकी कभी भी उनकी कीमत नहीं थी। बिक्री के बिंदु और विपणन उपकरण उस तरह से नि: शुल्क पर समाप्त हो गया, जो मुफ्त में बेचा जाता है। प्रत्येक योजना पहले से ही मूल्य निर्धारण पृष्ठ पर वादा करती है, इसलिए मैट्रिक्स और विपणन प्रतिलिपि नहीं बहाव: नि: शुल्क मूल्यांकन (CRM, chat, docs, Notes, KB, कैलकुलेटर); स्टार्टर ऐप को जोड़ता है (समर्थन, वाणिज्य, विपणन) के साथ व्यापार व्यापार व्यापार; व्यापार प्रीमियम सेट प्लस टेलीफोनी जोड़ता है, सूची और क्लबहाउस; एंटरप्राइज़ कानूनी जोड़ता है। ईमेल होस्टिंग और दो उत्पत्ति प्रणाली संबंधित हैं किसी भी योजना पर प्रति सीट पर ईमेल की कीमत नहीं है, मूलन प्रणाली प्रति ऋणदाता पर बातचीत की जाती है। बैकफिल के विपरीत, इसके बजाय अंतराल को भरने के बजाय, जो का स्रोत होने का बिंदु है। सच्चाई: एक स्तरीय बदलाव यहां है, समीक्षा में, यूआई ने अगले रन को संपादित नहीं किया है। प्रोड के लिए लागू: 11 पंक्तियों को बदल दिया। पीओएस और मार्केटिंग ऑफ फ्री, और चार असंतुलित ऐप्स दिए गए हैं जब वे जहाज़ करते हैं तो वे जमीन पर उतरेंगे, इसलिए प्रकाशन डेटा परिवर्तन के बजाय एक मंच फ्लिप है। दूसरा रन शून्य परिवर्तन की रिपोर्ट करता है।.

  10. · kamo-internal

    स्प्लिट ऐप्स और सुविधाएँ उपलब्ध / उपलब्ध नहीं / डिप्रीकेटेड

    एक फ्लैट सूची मिश्रित ऐप जो प्लेटफ़ॉर्म प्रदान करता है, वह नहीं करता है और वह करता है इसलिए ऑपरेटर ने उन्हें अलग बताने के लिए प्रत्येक चिप को पढ़ा था। बाल्टी विशेष हैं और पहली बार डिप्रेशन का परीक्षण किया जाता है: एक सेवानिवृत्त ऐप है जो कुछ भी इसकी उपलब्धता झंडा अभी भी कहते हैं सेवानिवृत्त हो गए, इसलिए यह केवल नीचे दिखाई देता है Deprecated. यह भी प्रति पंक्ति "Deprecated" चिप और dimming बनाता है अनावश्यक - उस टैब में हर पंक्ति सेवानिवृत्त होती है - इसलिए दोनों चले जाते हैं। विभाजन ड्राफ्ट के बजाय सर्वर राज्य पढ़ता है, इसलिए deprecated स्विच जगह में पंक्ति को छोड़ देता है जब तक कि इसे बाहर निकालने के बजाय भूमि को बचाता है संपादन के तहत।.

  11. · SecurityService

    शाखा प्रकार के लिए एक किरायेदार पठनीय ऐप सूची

    शाखा के प्रकार -> अनुमति प्राप्त ऐप्स ने अपनी ऐप सूची को /platform-config/app-catalog से लोड करना शुरू कर दिया, जो एक शीर्ष स्तर org मालिक की आवश्यकता है। होस्ट पेज को इसके बजाय CONFIGURE SYSTEM पर गेट किया जाता है, इसलिए हर किसी के लिए GET 403'd किरायेदार: संपादक ने शून्य ऐप और सेव हैंडलर को प्रस्तुत किया, फिर उसे बचाने के लिए मना कर दिया। सभी पर सुरक्षा मॉडल - अपने नाम, आयु सीमा, भूमिकाओं और वाणिज्य प्रकारों को अवरुद्ध करता है, जिनमें से कोई भी नहीं इसमें सूची शामिल है। यह एक कामoCRM व्यवस्थापक के लिए भी विफल रहा है। ************* एक ही हल की गई सूची को एक के रूप में CONFIGURE SYSTEM के तहत कार्य करता है। जानबूझकर संकीर्ण प्रोजेक्शन: प्रकार, प्रदर्शन नाम, विवरण, मंच, उपलब्ध, deprecated। कोई ऑपरेटर नोट नहीं, कोई एनम डिफॉल्ट नहीं, कोई पात्रता निदान नहीं - वे बताते हैं कि प्लेटफ़ॉर्म कैसे है रन, और राइट्स केवल प्लेटफॉर्म मालिक रहते हैं।.

  12. · kamo-internal

    एक एप्लिकेशन और फीचर्स टैब जोड़ें और अनुमति प्राप्त ऐप्स सूची को ठीक करें

    संगठन के अधिकार के लिए नया टैब, हर संगठन को नियंत्रित करता है पेशकश की है: उपलब्धता, विकास चरण, प्रदर्शन का नाम, विवरण, एक ऑपरेटर नोट, और व्याख्या। उपलब्धता अब मंच से ली गई नहीं है, इसलिए एक ऐप अभी भी परीक्षण में प्रकाशित किया जा सकता है या इसके बाद वापस आयोजित किया जा सकता है समाप्त हो गया; मंच अब केवल बैज और बार ड्राइव करता है। ओवरराइड क्षेत्र हैं व्यक्तिगत रूप से चिह्नित और उलटा, और व्याख्या - जो ऐप को छिपाता है इसका उपयोग करने वाले प्रत्येक किरायेदार को ऐप के नाम की आवश्यकता होती है। सुरक्षा-मॉडल संपादक में स्वीकृत ऐप्स एक हाथ से बनाए गए टाइपस्क्रिप्ट थे Servicetype.java की प्रतिलिपि, एक टिप्पणी के साथ संपादकों को यह संरेखित रखने के लिए कहा। यह विचलित था: - एमएलओएस पूरी तरह से लापता था, इसलिए कोई सुरक्षा मॉडल बंधक प्रदान नहीं कर सकता सभी में उत्पत्ति। - LOS को "Mortgage Loan Origination System" लेबल दिया गया था - इसका मतलब व्यक्तिगत है 2026-08-08 के बाद से ऋण का नाम बदलकर, इसलिए संपादक ने एक व्यक्तिगत ऋण लिखा एक ऑपरेटर के लिए अनुदान जो सोचा कि वे बंधक प्रदान कर रहे थे। - POS और ESIG ने पोस्ट किए जाने के बाद लंबे समय तक PLANNING को दिखाया। उस सूची में उपलब्धता संकेतक जोड़ना केवल इसे बनाया जाएगा आत्मविश्वास से गलत है, इसलिए अब एक ही कैटलॉग को नए टैब लिखते हैं और पढ़ते हैं इससे असहमत नहीं है। सेविंग को कैटलॉग लोड तक अवरुद्ध किया जाता है: हर ऐपConfigs बिल्डर इसे iterates, इसलिए एक खाली सूची छीन ली जाएगी मॉडल अनुदान।.

  13. · SecurityService

    ऐप कैटलॉग को सर्व करें और इसके माध्यम से सुविधाओं को पढ़ें

    फीचर कंट्रोलर ने चार में एनम के चरण से "इस ऐप की पेशकश की" प्राप्त की अलग-अलग स्थानों पर, इसलिए जवाब केवल फिर से बदल दिया जा सकता है मंच। उनमें से प्रत्येक ने अब AppCatalog Service को पढ़ा है, साथ ही साथ साथ नाम, विवरण और व्याख्या प्रदर्शित करें। एक व्यवहारिक सूक्ष्मता रूट-ऑर्ग गेट है। यह "चरण" पढ़ने के लिए प्रयोग किया जाता है नहीं COMPLETED, इसलिए बच्चे orgs इसे सक्षम नहीं कर सकते" - dogfooding पथ। यह अब पढ़ता है "फिल्म वर्तमान में यह प्रस्ताव नहीं देता है"। जबकि कोई ओवरराइड नहीं उनमें से एक ही वाक्य है, क्योंकि unset उपलब्धता को हल करने के लिए चरण == COMPLETED. एक बार जब एक ऑपरेटर एक ऐप प्रकाशित करता है जो अभी भी है टेस्टिंग, केवल नया रूप सही बात करता है: इसके बिना ऐप होगा प्रत्येक बच्चे के लिए चुपचाप अवरुद्ध रहें। प्लेटफार्मAppCatalogController को शीर्ष स्तर के मालिकों के लिए गेट किया गया है, वही दर्शक पड़ोसी प्लेटफॉर्म टैब के रूप में, और रिपोर्ट करता है कि क्या उपलब्ध है ऐप वास्तव में योजना मैट्रिक्स में है - एक ऐप नो प्लान का उल्लेख करता है, जिसके माध्यम से हल होता है। ऑपरेटर द्वारा चुने गए किसी भी चीज के बजाय असफल ओपन सेटिंग।.

  14. · kamo-shared-library

    रनटाइम पर ऐप उपलब्धता और स्टेज संपादन योग्य बनाएं

    प्रत्येक विशेषता एप्लिकेशन सेटिंग्स पृष्ठ प्रस्तुत करता है - प्रदर्शित नाम, विवरण, मंच, व्याख्या - सर्विसटाइप enum में एक संकलित समय स्थिर था, और "उपलब्ध" को सभी पर संग्रहीत नहीं किया गया था: यह मंच == COMPLETED के रूप में प्राप्त किया गया था यूआई में और तीन स्थानों में सर्वर-साइड। इसमें से किसी को बदलने का मतलब संपादन करना साझा पुस्तकालय और मंच को फिर से लागू करना। PLATFORM APP CATALOG हर ओवरराइड कॉलम के साथ प्रति ऐप एक पंक्ति रखता है nullable, and AppCatalogservice override को हल? enum. लापता पंक्ति इसका मतलब यह है कि एनम क्रियाशीलता, इसलिए इस बदलाव को कोई व्यवहार नहीं करता है। उपलब्धता अपना खुद का मूल्य बन जाती है, जो एक नरम लॉन्च बनाता है (प्रस्तावित) जबकि अभी भी टेस्टिंग (TESTING) या एक withheld COMPLETED ऐप एक्सप्रेसेबल। इसकी गिरावट एनम के बजाय रीसोल्ड स्टेज को पढ़ता है, इसलिए एक ऑपरेटर जो केवल चलता है एक ऐप को COMPLETED में स्विच को फ्लिप किए बिना उपलब्धता प्राप्त होती है।.

  15. · InitializerService

    प्रत्येक पात्रता रूट पर प्रति ऐप एक ठीक से वर्गीकृत कैटलॉग पंक्ति

    Nine क्षुधा - POS, विपणन उपकरण, कैलकुलेटर, क्लब, इन्वेंटरी, कानूनी, खेल और दो उत्पत्ति प्रणाली - सभी पर कोई सूची प्रतिनिधित्व नहीं था: कोई मूल्य निर्धारण पंक्ति, कोई श्रेणी, कोई स्तर नहीं। Twelve दूसरों को पहले से ही एक विपणन पंक्ति द्वारा वर्णित किया गया था, इसलिए उन लोगों को बांधना और समानांतर जोड़ना APP * पंक्ति को एक सर्विसटाइप दो पंक्तियों को दिया जाएगा और योजना बनाई गई हैFeatureIncluded पर निर्भर करता है पुनरावृत्ति आदेश अब धावक सूची को इसके बजाय अभिसरण करता है: - एक प्रकाशित विपणन पंक्ति को उस ऐप में बांधता है जिसका वर्णन है (VIDEO CONF मीट है, MESSAGING चैट है), इसके कोड, नाम, श्रेणी और स्तरीय मूल्यों को बनाए रखने के लिए इसलिए प्रकाशित मैट्रिक्स नहीं चल रहा है; - एक ऐप के लिए एक पंक्ति बनाता है जिसमें कैटलॉग एक वास्तविक श्रेणी में वर्णन नहीं करता है - जिसमें एक नया शामिल है वाणिज्य और उत्पत्ति श्रेणी; - अपनी वास्तविक पहचान के लिए किसी भी पहले APP * प्लेसहोल्डर को बढ़ावा देता है और फ्लैट एप्लीकेशन को हटा देता है एक बार खाली बाल्टी; - उसी ऐप के लिए डुप्लिकेट पंक्तियों को हटा देता है, जो विपणन पंक्ति को पसंद करता है। वहाँ कोई APP Fallback छोड़ दिया है: हर एप्लिकेशन को एक पठनीय कोड है, और प्रकाशित सूची क्षुधा पहले से ही नाम उस सटीक कोड का पुन: उपयोग करते हैं, इसलिए अपने मैट्रिक्स के साथ एक org और एक का वर्णन किए बिना समान रूप से उत्पाद। इस मामले में - sign.pink में कोई विपणन मैट्रिक्स नहीं है और साथ छोड़ दिया गया था ग्यारह पंक्तियों का नाम enum स्थिरांक के नाम पर रखा गया है। एमएलओएस और पर्सनल लोन एंटरप्राइज़-निगोशेटेड हैं, प्रति सीट नहीं: शून्य मूल्य, FLAT मूल्य निर्धारण मॉडल, केवल CUSTOM-type योजनाओं (Enterprise) के साथ संगत, कोई स्तर में बंडल किया गया। उन्हें बनाया गया है मंच org केवल - एक सफेद लेबल उत्पाद org उन्हें फिर से बेचना नहीं है, और दोनों पर बनाया पहले के पास से संकेत करना निष्क्रिय हो जाता है। चलाने के बाद प्रोड के खिलाफ सत्यापित: 0 APP * कोड बाएं, 0 डुप्लिकेट service type rows, 21 apps on प्रत्येक जड़, 0 uncovered योजना-by-app संयोजन, और एक फिर से रन एक नो-ऑप है।.

  16. · kamo-internal

    सर्वर आधारित संगठन कंसोल

    टैब प्रत्येक संगठन को एक अनुरोध में लोड करता है और प्रत्येक कार्ड प्रदान करता है। बैकएंड के साथ प्रति ऑर्ग को फैन करना, फिर प्रति खाता, फिर प्रति सदस्यता। खोज, सॉर्ट, फिल्टर और पेजिंग अब पूरी संपत्ति के खिलाफ सर्वर-साइड चलाते हैं, इसलिए पृष्ठ की लागत कोई फर्क नहीं पड़ता कि कितने संगठन मौजूद हैं। पंक्ति अभी भी सही वस्तु है। एक सदस्यता खाता द्वारा HELD है और TARGETS an org, इसलिए पुराना कार्ड -- धारक की कुंजी -- को प्रिंट करना पड़ा एक घोंसला तालिका के अंदर लक्ष्य का नाम और ग्राहक orgs स्ट्रिंग्स के रूप में दिखाई दिया पंक्तियों के बजाय अन्य ऑर्ग्स की पंक्तियों के अंदर। प्रत्येक पंक्ति अब पात्रता रखती है (inbound: क्या इस org को नियंत्रित करता है) और बिलिंग आयोजित (बाहरी: यह क्या बिल है) अन्य) अलग पहलू के रूप में। डिजाइन: प्रत्येक पंक्ति के बाएं किनारे और एक आनुपातिक एस्टेट बार को एक स्टेटस रेल, इसलिए एक पृष्ठ एक शब्द से पहले वाणिज्यिक स्वास्थ्य के एक रंग हिस्टोग्राम के रूप में पढ़ता है पढ़ना; शून्य के साथ सारणीबद्ध संख्याओं को muted, क्योंकि बिलिंग एस्टेट पर अधिकांश कोशिकाएं शून्य हैं। तालिका राज्य यूआरएल में रहता है तो एक फ़िल्टर दृश्य लिंक करने योग्य है - लिखित एक प्रति के माध्यम से जो `tab` को संरक्षित करता है, और सक्रिय टैब प्रकाशित किए बिना, जो टैब्सिंक से संबंधित है।.

  17. · SecurityService

    Fail ने ऐप्स पर बंद कर दिया, कभी उल्लेख नहीं किया

    अब kamo.entitlement.fail खुला है कि AppEntitlementCatalogMigration के खिलाफ चल रहा है प्रोड और प्रत्येक सक्रिय योजना दोनों हकदारी जड़ों (KamoCRM, साइन पिंक) पर एक स्पष्ट योजना है सभी 21 गैर-कोर ऐप्स के लिए पंक्ति - सत्यापित शून्य uncovered योजना-by-app संयोजन, इसलिए वहाँ है वास्तव में अप्रयुक्त ऐप को छोड़कर किसी भी तरह की धोखाधड़ी के लिए छोड़ा नहीं जाता है। यह नहीं बदलता है कि आज कौन से ऑर्ग का उपयोग कर सकता है: शिप किए गए ऐप्स को स्पष्ट रूप से शामिल किया गया है, और एमएलओएस और व्यक्तिगत-ऋण ऐप पहले से ही स्पष्ट रूप से अस्वीकार कर दिया गया है। इस ध्वज की परवाह किए बिना। क्या यह बंद हो जाता है वह ऐप है जो कभी दिखाई नहीं देता है सभी में एक योजना के मैट्रिक्स में। अगर माइग्रेशन के लिए दौड़ने से पहले एक नया पात्रता रूट जोड़ा जाता है तो वापस सच में फ्लिप करें।.

  18. · BillingService

    Org निर्देशिका को फ़िल्टर्ड, सॉर्टेड, पगिनेटेड पेज के रूप में परोसें

    GET/orgs पेज/आकार/q/sort/dir प्लस सात फिल्टर लेता है और घर लौटता है संपत्ति-व्यापी समुच्चय के साथ पृष्ठ लिफाफा। GET/org/{orgId} पूर्ण विवरण प्रदान करता है कंसोल के ड्रिल-इन दराज के लिए, जहां प्रति खाता प्रशंसक-आउट ठीक है क्योंकि यह एक ओरग के लिए बाध्य है। लिस्टऑलऑर्ग्स (AllOrgs) को एक truncating प्रतिनिधि के रूप में रखने के बजाय प्रतिस्थापित किया जाता है: यह था वास्तव में एक कॉलर (यह नियंत्रक), और फ्रंटेंड की सूचीऑर्ग्स () वास्तव में वास्तव में था एक (टैब रिवर्ट किया जा रहा है), इसलिए एक संगतता शिम को केवल एक जोड़ा जाएगा इसके आधार पर कुछ भी नहीं के साथ चुपचाप ट्रंकेशन जोखिम।.

  19. · BillingService

    एक सतत क्वेरी गणना पर बैच पेज हाइड्रेशन

    माता-पिता का शीर्षक, प्राथमिक डोमेन, योजना / बाजार हकदारी और उसके पीछे सदस्यता कैटलॉग ध्वज पूरे पृष्ठ पर प्रत्येक एक बैच में (: ids) हैं, इसलिए 100-row पेज में एक ही छह स्टेटमेंट की लागत 1-row page के रूप में होती है। परीक्षण यह दावा करता है कि समानता सीधे - इस कार्यान्वयन की जगह स्कोर करेगा 6 600 के खिलाफ। प्रशासन की सदस्यता EntitlementModeResolver, उसी कोड द्वारा ली जाती है कि पंक्ति के मोड का फैसला किया, इसलिए दिखाया गया योजना हमेशा राज्य से संबंधित है दिखाया गया है। प्रश्न नए भंडार पद्धतियों के बजाय EntityManager के माध्यम से जाते हैं कामो-शेयर्ड-library, जो हर सेवा पर निर्भर करती है, उसे बदलने की जरूरत नहीं है।.

  20. · BillingService

    निर्देशिका पंक्ति/पृष्ठ डीटीओ और मूल क्वेरी भंडार

    प्लेटफ़ॉर्मOrgRow दो पहलूओं को अलग से रखता है: पात्रता (इनबाउंड सब्स) ओर्ग को लक्षित करना - यह क्या नियंत्रित करता है) और बिलिंग आयोजित (लेखाओं का स्वामित्व) - केवल मंच org और पुनर्विक्रेताओं के लिए गैर-zero। समुचित वर्णन पूरे फ़िल्टर सेट, पृष्ठ नहीं, इसलिए केपीआई स्ट्रिप अर्थ को नहीं बदलता है ऑपरेटर पृष्ठ। प्रत्येक ड्राइवर मूल्य को जाति के बजाय नंबर / बोलान के माध्यम से मजबूत किया जाता है: एक कोलेस (...,0) जो कोई पंक्तियां नहीं मिलती हैं, इंटीज़र जहां समान स्तंभ के साथ पंक्तियाँ लंबी होती हैं, जो देव में गुजरती हैं और प्रोड में फेंकती हैं। पैसे पार एक दशमलव स्ट्रिंग के रूप में तार।.

  21. · BillingService

    संगठन निर्देशिका SQL प्रति पहलू CTEs के साथ

    हेल्ड अकाउंट, इनबाउंड सब्सक्रिप्शन, सदस्य, लाइसेंस और प्रत्येक बच्चे अपने खुद के CTE में orgs में शामिल होने से पहले कुल मिलाकर। उन्हें एक में शामिल होना पास पंक्तियों को गुणा करेगा और हर SUM को बढ़ा देगा। शुद्ध और इकाई-परीक्षित (26 परीक्षण): नहीं ':' कास्ट, हर मान बाध्य, क्रमबद्ध कुंजी ऑर्गस्टर्ट के माध्यम से श्वेतसूचीबद्ध। दो चीजें जो परीक्षण पिन करती हैं क्योंकि वे आसान हैं "टीडी" बग में - ORDER BY और व्युत्पन्न भविष्यवाणी (mode rank, has stripe) आधार CTE के अनुमानित स्तंभों का नाम होना चाहिए, क्योंकि `o` alias दायरे से बाहर है बाहरी क्वेरी में; और एक पेंडिंग परीक्षण रिपोर्ट के बजाय कोई समय सीमा नहीं है वर्तमान में समाप्त हो गया। लाइव क्लस्टर के खिलाफ सत्यापित: दोनों कथन निष्पादित होते हैं, गिनती सहमत होती है। पंक्तियों के साथ, और फिल्टर / एकत्रीकरण लागू होते हैं। इंडेक्स का उपयोग नहीं दिखाया गया है - 12 org / 9 subs CockroachDB full-scans, भले ही सही ढंग से.

  22. · BillingService

    मान्य, दबाना org निर्देशिका अनुरोध

    आकार [1,100] के लिए clamps और एक unrecognised तरह शीर्षक वापस गिर जाता है, तो एक हाथ से संपादित यूआरएल न तो पूरी संपत्ति का अनुरोध कर सकता है और न ही SQL तक पहुंच सकता है मुफ्त टेक्स्ट। OrgSort enum एक तरह की श्वेत सूची है।.

  23. · BillingService

    एक साझा, निर्धारित संकल्पक के माध्यम से डेरीव पात्रता मोड

    TrialAdminService ने अपने परीक्षण की सदस्यता को फाइंडफर्स्ट के साथ चुना () एक पर अक्रमित सूची, इसलिए एक ऑर्ग जो एक लंबित और सक्रिय परीक्षण दोनों को पकड़ सकता है रिपोर्ट आगामी संगठन निर्देशिका को सॉर्ट और फ़िल्टर करना पड़ता है इस राज्य, और एक क्वेरी एक nondeterministic नियम को पुन: उत्पन्न नहीं कर सकता है। अब उपस्थिति **************** में रहती है लाइव ट्रायल्स, एक्सपेंडेंस पर लंबित जीत पर सक्रिय जीत, और सक्रिय समाप्ति रिपोर्ट नवीनतम है। स्थिति () अपनी सटीक प्रतिक्रिया आकार रखता है। इस रेपो (11) में पहला परीक्षण।.

  24. · InitializerService

    बैकफिल ऐप इनटाइटलमेंट पंक्तियों को प्लेटफॉर्म प्लान कैटलॉग में

    Entitlement अब एक typed service type स्तंभ पर हल करता है, लेकिन कोई कैटलॉग पंक्ति एक ही है, इसलिए हर योजना ने अभी भी असफल-खुले डिफ़ॉल्ट के माध्यम से 'प्रतिदिन शामिल' को हल किया। यह बीज मैट्रिक्स तो kamo.entitlement.fail खुला अंततः अंधेरे फायरिंग क्षुधा के बिना बंद कर दिया जा सकता है। - AppEntitlementCatalogMigration (@Order(51), प्लेटफार्मOwnerPlanSeeder के बाद): idempotent बैकफिल एक 'Applications' सुविधा श्रेणी बनाता है जिसमें प्रति गैर-कोर ऐप एक BOOLEAN पंक्ति होती है इसके सर्विस टाइप के लिए बाध्य, किसी भी पूर्व मौजूदा पंक्ति को फिर से जोड़ती है जिसमें कोड है लेकिन कोई नहीं सर्विसटाइप, और प्रति टियर लापता प्लान-टू-ऐप पंक्तियों को सम्मिलित करता है। केवल सम्मिलित-if-missing — यह कभी नहीं हटाता है और कभी भी किसी ऑपरेटर के लिए ओवरराइट नहीं किया जाता है, इसलिए एक टियर ने संपादित किया है। सेटिंग्स यूआई रिबूट जीवित रहता है। इसके अलावा मौजूदा VIDEO CONF / AI ASSISTANT को फिर से जोड़ती है / HR SYSTEM / ESIGNATURES / EMAIL HOSTING ऐड-ऑन, जो कुछ भी नहीं दे रहे थे। - KamoCRMPricingLoader: एक ताजा क्लस्टर के लिए एक ही मैट्रिक्स। ऐप पंक्तियों को अंदर रखा जाता है एक दूसरे पास में लिखने के बजाय upsertFeatures, क्योंकि upsertPlanFeatures हटा देता है डालने से पहले योजना की पंक्तियां - एक दूसरा कॉल चुपचाप विपणन मैट्रिक्स को मिटा देगा। नोट इस लोडर को अक्षम कर दिया गया है (पहले वापसी, और इसके डेटालोडर कॉल को टिप्पणी की गई है), जो कि है क्यों ऊपर प्रवास उत्पादन पथ है।.

  25. · SecurityService

    एप्लिकेशन पात्रता पर गेट बंधक और व्यक्तिगत लोन वर्टिकल

    एक MORTGAGE बाजार जब भी POS पर था, MLOS एप्लिकेशन की परवाह किए बिना / वाणिज्य पर दिखाई दिया, और / फीचर / सक्षम सभी पर कोई बिलिंग चेक नहीं था - सेटिंग्स में ताला यूआई प्रस्तुति थी केवल, इसलिए एक प्रत्यक्ष POST ने एक अनधिकृत ऐप पर स्विच किया। - फीचर कंट्रोलर: 403 ऑन सक्षम जब योजना में ऐप शामिल नहीं है; एक को क्रमबद्ध करें दोनों सुविधाओं पर 'entitled' verdict [] और उपलब्ध [] तो यूआई ताला और 403 हैं एक ही सेवा द्वारा संकलित और असहमति नहीं कर सकते। - commerceMarketController: बाजार-प्रकार पिकर के लिए GET / अनुमति-types (मॉडल अनुमति-सूची) entitlement के साथ छेड़छाड़ की गई; बाजार सूची unentitled खड़ी हो जाती है - छिपा हुआ, कभी नहीं संग्रहीत, इसलिए योजना को बहाल करने से बाजार को अपने डेटा को बरकरार रखने में मदद मिलती है। - **************** हर / {marketId} / ... सब-रूट पर असफल बंद गार्ड। उपलब्धता इंटरसेप्टर इसे व्यक्त नहीं कर सकता - इसका उपसर्ग मानचित्र एक उपसर्ग से एक है सेवा प्रकार और / व्यापार-बाजार पीओएस के तहत सभी सात वर्टिकलों की सेवा करते हैं। - POSController: सदस्यता सूची के सार्वजनिक कॉलर्स अब किसी ऐप पर बाध्य पंक्तियों को नहीं देखते हैं ऐसा नहीं है कि COMPLETED तक पहुंच गया है, इसलिए एक सर्विसटाइप को COMPLETED में ले जाना वह है जो इसे प्रकाशित करता है विपणन साइट। आंतरिक कॉलर अभी भी इसे पहले से ही मूल्य देने के लिए सब कुछ देखते हैं। - MortgageVerticalResolver: तत्परता ने केवल POS को मापा, इसलिए एक ऑर्ग जिसने कभी भी MLOS खरीदा नहीं यह भी 'missing' में एमएलओएस की रिपोर्ट करता है।.

  26. · kamo-internal

    LOS को MLOS में बदलें, पर्सनल लोन उत्पत्ति प्रणाली, गेट कॉमर्स वर्टिकल जोड़ें

    ऐप्स टैब अब 'कामर्स: बंधक ऋण उत्पत्ति प्रणाली' दिखाता है (शीर्षक शीर्षक से सेवा की जाती है) बैकेंड एनम, टीएस दर्पण नहीं) और एक नया 'कामर्स: पर्सनल लोन उत्पत्ति प्रणाली' के तहत उपलब्ध नहीं है। MORTGAGE और PERSONAL LOANS बाजारों को उनके ऐप पर रखा गया है। - ऐपटाइप / सर्विसटाइप दर्पण: एमएलओएस(14) + नया एलओएस (25); पूर्व मौजूदा बहाव को भी ठीक करता है जहां दर्पण जावा enum से असहमत थे। - संगठन: isMlos जोड़ा; isLos अब व्यक्तिगत ऋण का मतलब है। isLos शून्य उपभोक्ताओं था। - फीचर्समैनेजर: गैटिंग ने सर्वर-supplied 'entitled' झंडे को पढ़ा। यह क्लाइंट साइड को फिर से बनाया गया था बिलिंगएपीआई से, जिसका getCurrentSubscription फेंकता है और getAvailablePlans रिटर्न [] (legacy) स्टब्स, इसलिए हर ऐप चुपचाप 'उंगेटेड' को हल करता है और कभी भी पैडलॉक नहीं करता है। - मार्केट पिकर्स: दोनों बनाने और संपादित पृष्ठों ने अपने स्वयं के हार्डकोडेड COMMERCE TYPES सरणी का आयोजन किया; वे अब प्रदान करते हैं GET ************* तो एक ऊर्ध्वाधर org खरीदा नहीं है चयन योग्य नहीं है। संपादित पृष्ठ एक-MORTGAGE-per-org नियम को भी छोड़ दिया गया था। यह रहता है बाजार का वर्तमान प्रकार चयन करने योग्य है इसलिए एक चूका org अभी भी खुल सकता है और इसका नाम बदल सकता है। - मोर्टगेज सेटिंग आइपॉस के बजाय आईएमएलओ पर गेट की जगह है।.

  27. · kamo-shared-library

    सर्विस टाइप द्वारा ऐप पात्रता को हल करें; LOS को MLOS में बदलें

    Entitlement consolute servicetype.name () के खिलाफ ************* कैटलॉग का कोड विपणन कोड (USERS, VIDEO CONF, HR SYSTEM, ...) हैं और कभी मिलान नहीं किया जाता है। इसलिए PlanFeatureIncluded's लापता-row डिफ़ॉल्ट हर योजना पर हर एप्लिकेशन को दिया - बिलिंग-टू-अप लिंक निष्क्रिय था। कैटलॉग पंक्तियों में अब एक टाइपिंग nullable service type और रिज़ॉल्यूशन होता है यह इसलिए एक ऐप को नाम दिया जा सकता है, बिना हकदारी के। - **************** टाइपिंग सर्विस टाइप कॉलम (आईडी के रूप में प्रस्तुत)। ********** सर्विस टाइप द्वारा हल; सम्मान ऐड-ऑन के माध्यम से पहले unread ************* jsonb; लापता-row व्यवहार kamo.entitlement.fail-open (डिफ़ॉल्ट सच है जब तक कैटलॉग मैट्रिक्स को बीज दिया जाता है). - सदस्यता सेवा: निर्माण / अद्यतन / डीटीओ के माध्यम से सेवा प्रकार ले जाना, और derive feature code जब omitted — सेटिंग्स संवाद कभी नहीं भेजा, तो हर एक से बना यूआई ने नो NULL बाधा को नहीं मारा। - वाणिज्य प्रकार: प्रत्येक ऊर्ध्वाधर को अपने आवश्यक ऐप (MORTGAGE-> एमएलओएस, PERSONAL LOANS-> LOS) से बांधें। - एप्लाइडमॉडल प्रवर्तन सेवा: getAllowedCommercetypes सुरक्षा मॉडल को अलग करता है हकदारी के साथ अनुमति-सूची; दावेदार प्रकार पहले से ही कवर बनाने और संपादित करने की अनुमति देता है। - सर्विस टाइप: LOS -> एमएलओएस आईडी 14 (ORG FEATURES आईडी जारी रखता है, नाम नहीं, इसलिए नहीं डेटा माइग्रेशन; व्यक्तिगत ऋणों के लिए नया LOS(25) - ID 25 क्योंकि 14 का पुन: उपयोग करने से इनकार कर दिया जाएगा प्रत्येक मौजूदा बंधक पंक्ति। - रोलराइट टाइप: MLOS * रिबाउंड, ids 139-144 अपरिवर्तित; व्यक्तिगत लोन LOS * 190-195 पर जोड़ा गया। - Phimodule। PLOS जोड़ा गया: नाम को व्यक्तिगत ऋण एप्लिकेशन को बंधक PHI को मैप किया गया था मॉड्यूल और बंधक अनमैप्ड, जो स्वच्छ संकलित करता है।.

  28. · kamo-internal

    अपनी पंक्ति से एक सदस्य को ईमेल करें

    एक सदस्य पंक्ति पर चैट, कॉल और प्रोफाइल के बगल में एक मेल एक्शन जोड़ता है, खुलता है पहले से ही भरा प्राप्तकर्ता के साथ संदेश उपकरण। यह तब तक छिपा हुआ है जब तक कि ऑर्ग है ईमेल सक्षम, दर्शक ACCESS MAIL रखती है, और सदस्य वास्तव में एक पता है फ़ाइल पर - एक ऐसी कार्रवाई जो खाली संगीतकार को खोलती है, कोई कार्रवाई से भी बदतर नहीं है। अनुमति को प्रति पंक्ति के बजाय NavTopPanel में एक बार हल किया जाता है: गहरा UseEmailAvailability () जांच की लागत एक OTK प्लस प्रदाता और मेलबॉक्स राउंड-ट्रिप्स है, और यह पैनल ऐप-वाइड को माउंट करता है। Recipients { startData: { to: [email] } }. DraftMessage.to एक है स्ट्रिंग [], इसलिए एक फ्लैट { to: '...' } चुपचाप गिरा दिया गया है और संगीतकार बिना किसी के खुलता है प्राप्तकर्ता - समान जाल HexHeadPopover दस्तावेज।.

  29. · MediaService

    उन्हें भंडारण के लिए स्ट्रीमिंग करके 3 जीआईबी संलग्नक स्वीकार करें

    फ़ाइल.getBytes() इस बड़े अपलोड का प्रतिनिधित्व नहीं कर सकते - एक जावा सरणी सिर्फ बंद हो जाता है 2 गीगाब से ऊपर - इसलिए हर आसक्ति अतीत में जो एक OutOfMemoryError पर मर गया, भले ही किसी भी तरह की घटना हो हेप, और 1 जीबी एक को एक फ़ाइल स्प्रिंग को स्टोर करने के लिए 1 जीबी आवंटन की आवश्यकता थी डिस्क में spooled। MultipartFile अब फिर से खोलने योग्य स्रोत के रूप में इमेजिंग करने के लिए जाता है और सीधे माध्यम से स्ट्रीम किया जाता है। मैच करने के लिए बढ़ी हुई सीमाएं: प्रति फ़ाइल 3GB (3100MB प्रति अनुरोध, इसलिए सबसे बड़ी अनुमति प्राप्त फ़ाइल को अपनी सीमा और हेडर के लिए अस्वीकार नहीं किया जाता है। Media.attachment.max-bytes 3 GiB करने के लिए। Multipart spools एक स्पष्ट 24Gi खाली दिन कंटेनर की लिखने योग्य परत के बजाय। टॉमकैट मैक्सिको-आकार अब -1 है, इसलिए एक खारिज कर दिया अपलोड एक रीसेट कनेक्शन के बजाय अपने 4xx वितरित हो जाता है।.

  30. · kamo-shared-library

    स्ट्रीम कंटेंट-एड्रेस्ड स्टोरेज इसलिए कोई वस्तु हेप से अधिक हो सकती है

    चैट संलग्नक एक 3 जीबी छत पर चल रहे हैं। स्टोरContentAddressed एक बाइट [] लिया, जो इस बात को व्यक्त नहीं कर सकता - एक जावा सरणी इंटेगर पर रुकती है। MAX VALUE — और MinIOStorageservice.upload तब पूरी वस्तु को एक दूसरे समय बफर कर सकता है ताकि यह पूरी तरह से एक दूसरे समय में बफर हो सके। अगले नोड के खिलाफ डाल दिया retry। दोनों के साथ एक स्ट्रीमिंग पथ जोड़ें: HashUtils.computeDigests derives Blake3 और एक पास से SHA3-256, अपलोडस्ट्रीमिंग ने प्रति नोड इनपुटस्ट्रीमसोर्स को फिर से खोल दिया बाइट्स रखने के बजाय प्रयास करें, और नए स्टोरContentAddressed अधिभार कभी सामग्री जमा किए बिना हैश, डेडअप और स्टोर। पीक मेमोरी है फ़ाइल आकार के बजाय मिनआईओ भाग बफर। यह जानबूझकर @transactional नहीं है: भंडारण गीगाबाइट मिनट लेता है, और पंक्ति केवल तभी प्रकाशित होता है जब वस्तु पूरी तरह से संग्रहीत होती है, इसलिए दुर्घटना उसी राज्य को बफर पथ छोड़ देता है।.

तुम्हारा ब्रह्मांड इंतजार कर रहा है.

मिनटों में मुफ्त शुरू करें. जब भी आप तैयार हों तो उत्पाद जोड़ें - कोई माइग्रेशन नहीं, कोई नया लॉगइन नहीं.

हमेशा के लिए मुफ्त - कोई क्रेडिट कार्ड की आवश्यकता नहीं