परिवर्तन लॉग
क्या नया है.
यह जहाज के रूप में, प्लेटफार्म के हर सुधार.
· KlusterServices
एकल नोड YugabyteDB 2026.1.0.1 कॉकरोचDB के साथ
दोनों इंजन अब k1m1 पर तरफ से चलते हैं; कॉकरोच डीबी अनछिपे हुए हैं और रोलबैक पथ बनी हुई है। तीन चीजें जो स्पष्ट नहीं थीं: - हेल्म चार्ट संस्करण डॉकर टैग नहीं है। चार्ट 2026.1.0 मैप्स to ऐप संस्करण 2026.1.0.0-b118, इसलिए `image: yugabytedb/yugabyte:2026.1.0` है ImagePullbackoff. 2026.1.0.1-b1 तक पिन किया गया, स्थिर 2026.1 का नवीनतम पैच। - होस्टनेटवर्क ने k1m1 के वास्तविक इंटरफेस पर फली डाली, जहां दो Yugabyte डिफ़ॉल्ट पहले से ही लिया जाता है: 9000 by MinIO and 9100 by node exporter. The सर्वर वेबसर्वर 9010 और इसके आरपीसी से 9110 तक चलता है। दोनों मेजबान सेवाएं बाद में सत्यापित किया गया। - TLS वैकल्पिक नहीं है। सभी 31 उपभोक्ता कनेक्शन स्ट्रिंग ले जाते हैं Sslmode=require, इसलिए एन्क्रिप्शन के बिना YSQL हर ग्राहक को अस्वीकार कर देगा कटओवर। प्रमाणपत्र बैंड से बना है, कॉकरोच डीबी-सार्वजनिक उपनाम के साथ SAN सूची में नाम क्योंकि उपभोक्ता इसे कटओवर के माध्यम से उपयोग करते रहते हैं। स्पष्ट रूप से सीआई में वायर नहीं किया गया: एक परिनियोजित चरण संपादन को जोड़ना। एक पूर्ण सामंजस्य को ट्रिगर करता है जो लाइव बहाव को उलट देता है।.
· kamo-internal
एक्सेस लॉग और इसके डिटेक्शन नियमों को सब-टैब में विभाजित करें
जो नियम तय करते हैं कि फ्लैग क्या हो रहा है, ग्रिड के नीचे एक समझौते थे - डिफ़ॉल्ट रूप से गिरना, इसलिए कॉन्फ़िगरेशन कुछ ऐसा था जिसे आपको जानना था, था वहाँ, और विस्तार यह एक ही फलक के लिए ग्रिड लड़ा। वे दो बार देखे गए हैं एक विषय, और प्रत्येक पूरी ऊंचाई चाहता है। अब सब-टैब उनके बीच स्विच करते हैं, टैब पैटर्न को अगले OAuth2 टैब से मेल खाते हैं दरवाजा पहले से ही उपयोग करता है। नियम टैब केवल सदस्य होल्डिंग के लिए मौजूद है Manage DETECTION RULES, और सक्रिय दृश्य को ठीक करने के बजाय व्युत्पन्न किया जाता है। एक प्रभाव: CheckRight उत्तर झूठी जब तक useUserInfo बसता है, जो होगा अन्यथा किसी ऐसे सदस्य को छोड़ दें जो तब गायब हो जाता है। नियम टैब में प्रवेश करने पर, क्योंकि वे समझौते का विस्तार करने पर थे, और पैनल अब अपने खुद के कोई शीर्षक नहीं रखता है कि टैब इसका नाम है। इसके अलावा संपादन बटन के आइकन को स्वैप करता है: यह एक प्लस था, एक "Edit नियम" टूलटिप के तहत।.
· kamo-internal
मुख्य वर्कस्पेस हेडर पर बैक-टू-होम तीर
बाकी ऐप में सेटिंग्स-पृष्ठ तीर की देखभाल करें: लेखा, लीड्स, वाणिज्य, विपणन (सभी चार टैब, साझा लेआउट के माध्यम से), नॉलेज बेस, एचआर, नेटवर्क, दस्तावेज़ प्रबंधक, कैलेंडर, संपर्क और नोट्स। बटन घटकों / घटकों / बैकटूहोमबटन के लिए सेटिंग से बाहर निकलता है अब यह सेटिंग क्रोम के बजाय ऐप-वाइड क्रोम है। विपणन और मानव संसाधन उनके नीचे हर टैब के लिए एक ढाल नायक के मालिक हैं, इसलिए तीर अपने क्षेत्र में उतरता है लेआउट और प्रत्येक टैब इसे विरासत में मिलता है। वाणिज्य और नोट्स अपने शीर्षलेख को एक एकल उपयोग से प्रस्तुत करते हैं घटक (PipelineView, NotesHeader), जहां तीर उन दोनों के लिए चला जाता है।.
· kamo-internal
प्रत्येक प्रशासक बार लिंक पर व्याख्यात्मक पैनल
कुछ लोग जिन्होंने अपने संगठन को दस मिनट पहले बनाया, वे नौ लिंक्स से मिलते हैं। पढ़ने का कोई तरीका नहीं है। अब एक पैनल को खोलना या ध्यान देना, जो जवाब देता है, क्रम में: यह स्क्रीन क्या है, तीन चीजें जो आप वहां कर सकते हैं, और कहाँ ढूंढना है यह फिर से सेटिंग्स के माध्यम से जब बार अब नया नहीं है। पैनल इसके पास तैरने के बजाय बैंड से बाहर निकलता है - यह बढ़ता है बैंड के किनारे से नीचे की ओर एक देखभाल के साथ अपनी प्रविष्टि में वेल्डेड, और प्रवेश जबकि यह बाहर रहता है तो दोनों एक वस्तु के रूप में पढ़ा। सामग्री एक में बसती है इसके पीछे की छोटी गाड़ी। कम गति क्रॉसफ़ेड रखता है और गिर जाता है यात्रा; कम पारदर्शिता धुंधला हो जाती है। दो विवरण उनकी जगह अर्जित करते हैं। ब्लॉक्स और लॉग्स बार पर कम होते हैं लेकिन पैनल उन्हें अपने वास्तविक नाम, एक्सेस ब्लॉक और सिस्टम एक्सेस लॉग के साथ प्रमुख करता है, क्योंकि यह वही है जो बाद में सेटिंग में शिकार हो जाएगा। प्रत्येक पैनल स्क्रीन पर वापस जाने के साथ बंद हो जाता है, इसलिए इसे एक बार सीखना शॉर्टकट बनाता है लोड-असर के बजाय वैकल्पिक। एक बीट के बाद होवर पर खुलता है, तुरंत एक बार कोई पैनल पहले से ही बाहर हो जाता है, और तुरंत कीबोर्ड फोकस पर; एस्केप इसे बंद कर देता है। एक स्पर्श सूचक कभी नहीं खुलता - एक टैप सिर्फ लिंक है, जिसमें कोई पैनल उसके पीछे फंस गया था।.
· kamo-internal
व्यवस्थापक बार को कस लें - org लेबल, लघु लेखा परीक्षा नाम, कोई अंतर नहीं
बार नौ लिंक पर कैसे पढ़ता है: टीम-सदस्य प्रविष्टि अब बेहेवियर से ओरग का अपना बहुल लेबल पहनती है और लेबलिंग, इसलिए एक org जो उन्हें ऋण अधिकारियों को बुलाता है उसे यहां ऋण अधिकारियों को मिलता है। यह है कोई लेबल कुंजी के साथ एक प्रविष्टि - नाम org है, अनुवाद नहीं है। एक्सेस ब्लॉक्स और सिस्टम एक्सेस लॉग्स ब्लॉक्स और लॉग्स को अपने आप में छोटा करते हैं सेटिंग्स मेनू के बजाय कुंजी। साझा कुंजी का नामकरण करना होगा उन टैबों का नाम बदलकर वे दिखाई देते हैं; इस समूह में, उन आइकनों के बगल में, प्रत्येक नाम का 'एक्सेस' आधा काम नहीं कर रहा था। प्रविष्टियों के बीच का अंतर दूर हो जाता है इसलिए प्रत्येक लिंक का अपना पैडिंग अलगाव है और होवर क्षेत्र किनारे से मिलते हैं - चिप्स की एक पंक्ति के बजाय एक पट्टी।.
· kamo-internal
बैक-टू-होम तीर हर सेटिंग पृष्ठ शीर्षक के बाईं ओर
सेटिंग्स पृष्ठों को नौसेना रेल के लॉन्चपैड शॉर्ट में कोई रास्ता नहीं था। सेटिंग्स वैकल्पिक देखें बैकहार्ट अब घर में डिफ़ॉल्ट है और बिना शर्त प्रस्तुत करता है, इसलिए उस पर निर्मित 20 पृष्ठों को चुनना है मुक्त करने के लिए तीर; छह पृष्ठ जो अपने खुद के हेडर को आकर्षित करते हैं उन्हें समान नियंत्रण प्राप्त होता है। नेस्टेड संपादक (मार्केट, उत्पाद, योजना, ईमेल प्रदाता, वेबहुक, शर्त टेम्पलेट्स, एजेंट स्टूडियो पहले से ही अपने माता-पिता को एक ब्रेडक्रंब वापस ले जाता है और अकेले छोड़ दिया जाता है, जैसा कि लीड्स सेटिंग्स है, जिसका तीर जानबूझकर / लीड्स पर लौटता है।.
· kamo-internal
व्यवस्थापक बार पर आवश्यक सेटअप के बाकी
सिक्योरिटी रोल्स, डिपार्टमेंट्स एंड जॉब टाइटल्स कॉन्फ़िगरेशन समूह में शामिल हो जाते हैं, जिनमें से बाएं लेखा परीक्षा जोड़ी वे तीन आवश्यक सेटअप टैब हैं जो बार गायब हो गया था - व्यवहार और लेबलिंग उस विषय को अकेले ले जा रहा था, इसलिए एक स्क्रीन एक प्रशासक यहां से पहुंचता है वह था जो इसका पहला टैब होता है। प्रत्येक आइकन और लेबल कुंजी का पुन: उपयोग करता है, सेटिंग्स पहले से ही इसे देता है, और सभी तीन बार के मौजूदा CONFIGURE SYSTEM गेट द्वारा कवर किए गए हैं।.
· kamo-internal
प्रशासक बार में एक्सेस ब्लॉक, ट्रेलिंग एज के लिए ऑडिट लिंक
एक्सेस ब्लॉक्स और सिस्टम एक्सेस लॉग्स बार पर दो स्क्रीन हैं जो जवाब देते हैं "कौन मिला और कौन कुछ भी कॉन्फ़िगर करने के बजाय नहीं था, इसलिए वे समूह बनाते हैं एक साथ और बैंड के ट्रेलर किनारे की सवारी, कॉन्फ़िगरेशन से दूर लिंक एक ऑटो इनलाइन स्टार्ट मार्जिन यह करता है - कोई स्पेसर तत्व नहीं, और जोड़ी जब पंक्ति एक संकीर्ण दृष्टिकोण पर लपेटती है तो बस बाकी का अनुसरण करता है। दोनों पहले से ही बार के MANAGE ACCESS RULES गेट और एक्सेस द्वारा कवर किए गए हैं ब्लॉक आइकन और लेबल कुंजी का पुन: उपयोग करने के लिए सेटिंग्स पहले से ही इसे छोड़ देता है।.
· kamo-internal
पता पुस्तिकाओं का नाम और संपादन और उनके आसपास पृष्ठ का पुनर्निर्माण
एक पुस्तक जोड़ना एक हार्ड-कोडित प्लेसहोल्डर नाम है जिसमें कोई प्रॉम्प्ट नहीं है और कुछ भी नहीं है। कहीं भी एक नाम बदल सकता है - इसलिए प्रत्येक पुस्तक को एक ओरग को उसी चीज कहा गया था, स्थायी रूप से। पुस्तकों और समूहों को अब बनाया गया है और एक संवाद के माध्यम से संपादित किया गया है एक पंक्ति मेनू से नाम, विवरण और उच्चारण, नाम बदलने योग्य और हटाने योग्य। समूह कभी भी बिल्कुल नहीं आए थे: साइडबार ने एक सूची से प्रस्तुत किया जो केवल बढ़ी हुई थी। जब आपने एक बनाया तो एक समूह फिर से लोड हो गया। संपर्क प्रति कैश किया गया पुस्तक और ब्राउज़र में विलय, इसलिए "सभी संपर्क" ने केवल उन पुस्तकों को दिखाया जो आपके पास थी का दौरा किया और छँटाई कैश। दोनों अब सेवा से आते हैं, साथ में गुंजाइश (बुक, ग्रुप, क्वेरी, ऑर्डर) एक आदेशित, गिनती अनुरोध चला रहा है। बाकी पृष्ठ कंसोल को बाकी ऐप का उपयोग करता है: - साइडबार: उनकी संपर्क गिनती वाली किताबें, सदस्य गिनती के साथ घोंसला समूह, नाम बदलने / जोड़ने के लिए पंक्ति क्रियाएँ समूह / निर्यात / हटाने - सूची: सर्वर-साइड खोज और ऑर्डरिंग, चयन-सभी और शिफ्ट-रेंज चयन, अनंत स्क्रॉल, कंकाल, ए-जेड रेल, और खाली राज्यों के लिए भिन्न होते हैं जो अलग होते हैं "नो कॉन्टैक्ट" और "नोथिंग मैच" - चयन बार: चाल, समूह, निर्यात, हटाने के लिए जोड़ें। प्रति-पंक्ति चेकबॉक्स है वहाँ सब कुछ कॉल करने के लिए - विस्तार पैनल: फ़ाइल पर सब कुछ, प्रत्येक तथ्य कॉपी करने योग्य और कार्रवाई योग्य, और एक संवाद के साथ साझा संपादक इसलिए दो बहाव नहीं कर सकते - आयात रिपोर्ट करता है कि यह क्या छोड़ा है, इसलिए आंशिक आयात नुकसान की तरह नहीं दिखता है संपर्क प्रॉक्सी ने प्रत्येक 204 को 500 में बदल दिया - एक सफल डिलीट रिपोर्ट विफलता - क्योंकि यह JSON के रूप में एक खाली शरीर को पार करता है। एक नई पुस्तक पर कोई ऑर्ग-लेवल विकल्प नहीं: लिस्टबुक ऑर्ग में हर पुस्तक वापस आती है मालिक की परवाह किए बिना, इसलिए विकल्प की पेशकश गोपनीयता को पढ़ने वाले पथ का वादा करेगी लागू नहीं होता है।.
· EmailService
पर्सिस्ट और पूरे संपर्क की सेवा करते हैं, न केवल इसका नाम
REST परत ने JPA संस्थाओं को सीधे धारावाहिक किया। एक संपर्क में कोई मैपिंग नहीं है इसके ईमेल, फ़ोन, पते, संगठन, URL, IMs या रिलेशन — उन अलग-अलग टेबल हैं - इसलिए इसमें से कोई भी कभी एक जवाब में नहीं था, और जैक्सन चुपचाप इसमें से सभी को रास्ते में गिरा दिया गया। निर्माण संवाद ने सात खंडों को एकत्र किया और कोई नहीं रह गया। किताबें और समूह उनके आलसी संघों के साथ वापस आए क्यों साइडबार एक पुस्तक के लिए एक समूह को जिम्मेदार नहीं ठहराया जा सकता है? इसके अलावा, एक संपर्क बनाने में सफल नहीं हो सकता: contact.OWNER ID is नहीं और कुछ भी इसे सेट नहीं, यूआई से, एक vCard आयात से, या एक CardDAV से पुट्ट आयात केवल कच्चे कार्ड और छोड़ दिया forMATED NAME null, जो स्तंभ अस्वीकार; निर्यात ने उसी कच्चे कार्ड को वापस पढ़ा, इसलिए कुछ भी बनाया गया था। यूआई ने खाली निर्यात किया। ********** तार आकार के साथ साइडबार की जरूरतों को गिना जाता है और एक पेजर की जरूरत को पूरा करता है - contactDetailStore: बैच-लोड और सात उपग्रह तालिकाओं की जगह लेता है और समूह की सदस्यता; एक संपर्क को हटाने अब उन्हें अनाथ नहीं - ContactQueryStore: गिनती, एक आदेशित / फ़िल्टर्ड / पेजेड org-wide लिस्टिंग, और एक यह भी नाम भागों, फोन नंबर और संगठनों से मेल खाता है कि खोज - ContactVCardMapper: आयात और निर्यात एक क्षेत्र मानचित्रण के माध्यम से जाना, तो एक संपर्क एक राउंड ट्रिप जीवित रहता है। BDAY को एक PartialDate के रूप में लिखा जाता है - इसे हल करना किसी अन्य समय में पाठकों के लिए दिन में तुरंत बदलाव आया - अद्यतनबुक केवल भेजे गए फ़ील्ड को लागू करता है: एक पुस्तक का नाम बदलने के लिए इसका उपयोग किया जाता है विवरण और रंग, और एनयूएल पर फेंक दृश्यमान - डिलीटबुक कैस्केड; ऑर्ग डिफ़ॉल्ट को तोड़ने के बजाय मना कर दिया जाता है प्रत्येक ऑर्ग-लेवल बुक को नियंत्रित करने पर निर्भर करता है - थोक हटाने / हटाने / समूह समापन बिंदु - सूची के चेकबॉक्स को कॉल करने के लिए कुछ भी नहीं था पुस्तक निर्माण हमेशा एक मालिक को सेट करता है और एक ग्राहक-अनुपन्न isOrgDefault को अनदेखा करता है: एक मालिक रहित पुस्तक केवल org डिफ़ॉल्ट के रूप में कानूनी है, और दूसरा डिफ़ॉल्ट होगा ऑर्गेडिफोल्ट को मनमाने ढंग से चुना जाता है।.
· kamo-internal
लॉन्चपैड कार्ड के ऊपर व्यवस्थापक बार
पांच स्क्रीन एक ऑर्ग प्रशासक लगातार खुलता है - टीम के सदस्यों, व्यवहार और लेबलिंग, आँकड़े और लागत, ऐप्स और सुविधाएँ, सिस्टम एक्सेस लॉग - प्रत्येक दो या तीन आज सेटिंग्स मेनू के माध्यम से गहरे क्लिक करें। वे शीर्ष पर एक पंक्ति प्राप्त करते हैं लॉन्चपैड, मास्टहेड के नीचे और कार्ड के ऊपर। प्रत्येक प्रविष्टि आइकन और लेबल कुंजी का पुन: उपयोग करती है, इसके गंतव्य पहले से ही होता है सेटिंग्स लैंडिंग, इसलिए एक ही स्क्रीन जहां भी यह पेशकश की जाती है उसी को पढ़ती है। बैंड सफेद लिंक के साथ नवटॉप / नवप्रि ऑर्ग ग्रेडिएंट है, जो बनाता है यह एक छठे कार्ड के बजाय क्रोम के रूप में पढ़ा। दृश्यता प्रशासक (पूर्ण प्रवेश) भूमिका है, जिस तरह से व्यक्त किया गया था सत्र इसे उजागर करता है: भूमिका रखने वाले तीन अधिकार और इसके नीचे कोई शेयर भूमिका नहीं है करता है। सभी तीनों की आवश्यकता होती है, और वे वास्तव में पांच गंतव्य क्या हैं। गेट ऑन, इसलिए बार कभी भी एक लिंक प्रदान नहीं करता है जो सदस्य को मना नहीं करेगा।.
· BillingService
एक deduplicated पास से इमेजिंग उपयोग पढ़ें
प्रति विशिष्ट फ़ाइल प्रति एक चार्ज करने के लिए साझा-library परिवर्तन का पालन करता है संगठन दोनों सारांश और दैनिक स्नैपशॉट लेखक एक एकल लेते हैं प्रत्येक डोमेन को फिर से चलाने के बजाय, प्रत्येक डोमेन को उसके पास भेजना और पढ़ना प्रति डोमेन एक बार समूह करना - अठारह डोमेन का मतलब समान क्वेरी अठारह बार है एक पृष्ठ लोड के लिए।.
· kamo-shared-library
प्रत्येक फ़ाइल को प्रति संगठन में एक बार गिनें, एक बार प्रति अपलोड नहीं
बिलिंग प्रति इंग रिकॉर्ड था, इसलिए एक संगठन जिसने समान फ़ाइल पांच अपलोड की थी पांच बार चार्ज किया गया था। मालिक का नियम प्रति विशिष्ट फ़ाइल एक चार्ज है प्रति संगठन: कामो अभी भी एक बार सिस्टम-वाइड फाइल स्टोर करता है, प्रत्येक संगठन इसे अभी भी गिना जाता है, और आपके पास पहले से मौजूद कुछ को फिर से अपलोड करना नहीं है एक नया शुल्क। इमेजिंग आंकड़े अब प्रति संगठन एक पास से आते हैं जो रिकॉर्ड्स को ढंकते हैं अलग फ़ाइलों के लिए। KamoCRM के लिए उत्पादन पर मापन: 52 लाइव रिकॉर्ड 28 बन गए चार्ज करने योग्य फाइलें, 6,886,309,250 बाइट्स 5,441,174,177 बन जाते हैं। दो संगठनों के तहत आयोजित एक फ़ाइल वास्तव में एक में गिना जाता है - सबसे कम मूल एसोसिएशन यह नीचे दिखाई देता है - क्योंकि यह दोनों में गिना यह दो बार बिल होगा। दो उत्पादन फाइलें उस स्थिति में हैं, और इस नियम के साथ श्रेणियां संगठन की फ़ाइलों को विभाजित करना और वास्तव में इसके कुल को योग करना। जब संगठन FIRST ने एक फ़ाइल आयोजित की, तो फिर से अपलोड करना यह पहले से ही बाद में एक अवधि में एक नया शुल्क नहीं था। उत्पन्न पूर्वावलोकन एक ही कारण के लिए फ़ाइल द्वारा कुंजी कर रहे हैं, और एक फ़ाइल की एक प्रति trashing पांच बार कोई मुक्त नहीं हुआ। ImagingUsage() वर्तमान, जीवनकाल में कार्य करता है और एक ही पास से जोड़ा जाता है, क्योंकि प्रत्येक इमेजिंग डोमेन को एक ही समूह की आवश्यकता होती है और इसे प्रति डोमेन रन की गणना करता है एक सारांश के लिए एक दर्जन बार क्वेरी करें।.
· kamo-internal
जब मंच पहले से ही फ़ाइल है तो अपलोड छोड़ दें
एक ही वीडियो को तीन लोगों को भेजना तीन पूर्ण अपलोड का मतलब है। Dedup उन्हें पतन एक संग्रहीत वस्तु में, लेकिन केवल एक बार प्रत्येक स्थानांतरण समाप्त हो गया था - इसलिए बचत थी कभी सदस्य का समय या बैंडविड्थ नहीं। अब संगीतकार को भेजने से पहले पूछता है। एक आकार की जांच पहले, क्योंकि समान सामग्री एक समान बाइट गिनती होना चाहिए: यह लगभग हर वास्तविक नए मैच के लिए एक मैच तैयार करता है एक छोटे से अनुरोध की लागत पर फ़ाइल, इसलिए हैशिंग केवल तभी भुगतान किया जाता है जब यह भुगतान कर सकता है। बंद इसके बाद केवल BLAKE3 और SHA3-256 हैं, जो सर्वर को प्रस्तुत किया जाता है, जो सीधे संग्रहीत सामग्री संलग्न करता है। मिस एक सामान्य अपलोड के माध्यम से गिर जाता है। हैशिंग स्ट्रीम। मौजूदा सहायकों call file.arrayBuffer() प्रति हैश, तो एक फ़ाइल दो बार स्मृति में निवासी है - एक दस्तावेज़ के लिए ठीक है, एक 3 गीगाब वीडियो के लिए घातक है। The नया एक 4 MiB स्लाइस में फ़ाइल को हथौड़ों को खिलाता है, इसलिए चोटी स्मृति एक है किसी भी आकार में भाग लें, और चंकी के बीच पैदावार क्योंकि SHA3-256 शुद्ध जावास्क्रिप्ट है और अन्यथा मिनटों के लिए संगीतकार को फ्रीज करेगा। Dedup एक आशावाद है और कभी नहीं एक गेट: जांच में कोई विफलता, हैशिंग या लिंक अपलोड करने के लिए वापस आता है, जो हमेशा सही होता है। पैनल ने रोकें इसलिए इसे एक स्टाल के रूप में नहीं पढ़ा जाता है।.
· MediaService
इसे फिर से अपलोड किए बिना पहले से ही संग्रहीत फ़ाइल संलग्न करें
2 जीबी वीडियो को तीन सहयोगियों के लिए अग्रेषित करने के लिए तीन पूर्ण अपलोड की लागत होती है। भंडारण उन्हें एक वस्तु में डुप्लिकेट किया, लेकिन केवल प्रत्येक हस्तांतरण के बाद पूरा हो गया और पूरा हो गया। फेंकना - प्रत्येक बाइट के लिए भुगतान किया गया सदस्य, तीन बार, एक प्रतिलिपि बनाने के लिए पहले से ही मंच था। दो समापन बिंदुओं को किसी भी बाइट के आगे बढ़ने से पहले तय करते हैं। / अटैचमेंट / जांच जवाब क्या है? इस आकार की फ़ाइल सभी पर मौजूद हो सकती है, जो सस्ता है और एक ग्राहक को छोड़ देता है हैशिंग लगभग हर वास्तविक नई फ़ाइल के लिए। /टैचमेंट / लिंक ने ग्राहक को हैशे लेता है जब वे संग्रहित सामग्री को हल करते हैं, तो संलग्नक बनाता है 404 का मतलब है 'कभी नहीं देखा, इसे अपलोड करें' और एक साधारण उत्तर है, बजाय एक के बजाय विफलता। हैश एक दावा है, एक प्राधिकरण नहीं है: वे केवल कभी सामग्री के खिलाफ हल पहले से ही कॉलर के अपने dedup दायरे में संग्रहीत किया गया है, और दोनों समापन बिंदुओं को सत्र की आवश्यकता होती है प्रत्येक अन्य अनुलग्नक मार्ग की तरह सदस्यता। अपलोड और लिंक एक पंक्ति निर्माण साझा करें उद्देश्य पर पथ - क्या बाइट्स यात्रा करते थे या मान्यता प्राप्त थे, लगाव कि क्या है बातचीत में भूमि को अक्षम होना चाहिए।.
· kamo-internal
अपनी लाइन के रूप में प्रीव्यू स्टोरेज उत्पन्न करें
थंबनेल और पूर्वावलोकन छवियों को अब संगठन के कुल की ओर गिना जाता है, इसलिए ग्राहक को यह देखने में सक्षम होना चाहिए कि वे क्या खर्च करते हैं बल्कि उन्हें खोजने के बजाय उन्हें गुना करने में सक्षम होना चाहिए दूसरा नंबर एक टूलटिप कहते हैं कि वे क्या हैं और एक बहु-पृष्ठ दस्तावेज़ प्रति पृष्ठ एक पूर्वावलोकन पैदा करता है, इसलिए आंकड़े समझा जा सकता है बजाय बजाय रहस्यमय।.
· SecurityService
प्रत्येक फ़ाइल से उत्पन्न अंगूठे और ट्रैक को मापें
ऑब्जेक्ट कुंजी ********** के रूप में सामग्री-addressed हैं पहले अंडरस्कोर से पहले खंड फ़ाइल को एक व्युत्पन्न की पहचान करता है से आकार प्रति ImgDat संक्षेप में हैं - प्रति deduplicated फ़ाइल एक भौतिक सेट - और बिलिंग उन्हें प्रत्येक इंग रिकॉर्ड के माध्यम से इंगित करता है। यह सवाल का जवाब देने का एकमात्र तरीका है। img dats.THUMB FILE SIZE एक है क्या हो सकता है? उत्पादन में 84 पंक्तियों, और कभी भी सभी पर ट्रैक ऑब्जेक्ट्स को कवर नहीं किया - एक साथ लगभग 37% तक वास्तविक व्युत्पन्न भंडारण को कम करना। विरासत ऑब्जेक्ट्स एक संख्यात्मक आईडी प्रीडेट सामग्री एड्रेसिंग द्वारा की जाती है, कोई फ़ाइल मैच नहीं, और किसी के लिए गिना जाता है; गिनती को लॉग इन करने के बजाय लॉग इन किया जाता है मौन.
· InitializerService
मापा थंबनेल और ट्रैक स्टोरेज के लिए स्कीमा
img dat derivatives रिकॉर्ड, प्रति संग्रहीत फ़ाइल, हर चीज़ का वास्तविक बाइट आकार कामो से उत्पन्न हुआ। यह img dats की जगह लेता है। THUMB FILE SIZE के लिए स्रोत के रूप में उस आकृति: उस स्तंभ के पास एक मूल्य है जो दर्जनों पृष्ठ हो सकता है थंबनेल और उत्पादन में 84 पंक्तियों में से 5 के लिए आबादी थी। उत्पादन 2026-08-09 के खिलाफ भागो; तालिका और सूचकांक सत्यापित।.
· kamo-shared-library
बिल ने संगठन को थंबनेल उत्पन्न किया
थंबनेल और प्रति चैनल ट्रैक एक संगठन के अपलोड कारणों का भंडारण कर रहे हैं, इसलिए मालिक के निर्देश पर वे अब उस संगठन के कुल की ओर गिने जाते हैं कामो द्वारा अवशोषित होने के बजाय। GENERated PREVIEWS एक बिल्ड डोमेन है। ऑब्जेक्ट स्टोर से मापा गया, img dats से नहीं। THUMB FILE SIZE। स्तंभ क्या पृष्ठ थंबनेल के दर्जनों हो सकता है, इसके लिए एक एकल मान रखता है ({imgDatId} thumb p0.pN) और उत्पादन में 84 पंक्तियों में से 5 के लिए आबादी थी - लगभग 37% तक वास्तविक व्युत्पन्न भंडारण को कम करना और ट्रैक ऑब्जेक्ट को छोड़ देना पूरी तरह से Img dat derivatives रिकॉर्ड करता है जो वास्तव में एक स्वीप वास्तव में वापस पढ़ता है। विशेषता रिकॉर्ड रखने के अनुसार है, फ़ाइल के समान नियम: बिलिंग img dat derivatives के लिए imgs में शामिल होते हैं, इसलिए एक फ़ाइल रखने वाले दो संगठन हैं प्रत्येक बिल अपने पूर्वावलोकन और deduplication के लिए रहने के बजाय Kamo की बचत ग्राहक अवधि के आंकड़े उस अपलोड द्वारा तारीख पूर्वावलोकन जो उन्हें उत्पन्न करते थे, इसलिए एक पूर्वावलोकन उसी अवधि में गिर जाता है क्योंकि उसकी फ़ाइल कभी-कभी स्वीप रन नहीं होती है। प्लेटफॉर्म रिपोर्ट का डेरिवेटिवबाइट्स अब उसी मापा स्रोत को पढ़ता है, इसलिए यह यह निर्धारित करना बंद कर देता है कि छवि प्रसंस्करण लागत क्या है। स्कीमा इस भूमि से पहले उत्पादन में सत्यापित: img dat derivatives मौजूद है केआई रन के बाद।.
· kamo-internal
एक सदस्य को एक वीडियो या ऑडियो लगाव रखना चाहिए, न केवल इसे बजाना
खिलाड़ी एक इरादे का जवाब देता है। डिस्क पर फ़ाइल चाहते हुए एक अलग है, और वीडियो और ऑडियो दो अनुलग्नक प्रकार थे, जिसमें ऐसा करने का कोई तरीका नहीं था - एक दस्तावेज़ में है सभी के साथ एक डाउनलोड बटन था, और एक छवि अपने lightbox में एक है। क्रोम buries वीडियो तत्व के अतिप्रवाह मेनू में एक डाउनलोड; फ़ायरफ़ॉक्स और सफारी एक प्रदान नहीं करते हैं सभी पर, इसलिए वहन हमारे लिए भरोसेमंद होना चाहिए। अब दोनों अपने आकार और एक डाउनलोड बटन के साथ फ़ाइल नामकरण एक कैप्शन लाइन ले जाते हैं, उसी समान-origin href + डाउनलोड विशेषता का उपयोग करके दस्तावेज़ चिप पहले से ही उपयोग करता है। इसके अलावा दस्तावेज़ चिप पर हमेशा केKB आकार को छोड़ देता है। उस समय रुक गया संलग्नक गीगाबाइट हो सकता है: एक 2 जीबी फ़ाइल ने '2130125 KB' पढ़ा। अब इसका उपयोग करता है प्रारूप उस फ़ाइल के लिए संगीतकार दिखाता है इससे पहले कि इसे भेजा जाता है।.
· kamo-internal
ब्रांडिंग और डॉक्सेटिव दस्तावेज़ भंडारण दिखाएं
दोनों को सीधे ऑब्जेक्ट स्टोर में लिखा जाता है जिसमें कोई आकार दर्ज नहीं किया जाता है डेटाबेस तो वे शून्य के रूप में पढ़ा जब तक एक स्वीप उन्हें मापता है। अब उनके पास है अपनी पंक्तियां।.
· SecurityService
ब्रांडिंग और डॉक्सेटिव दस्तावेज़ भंडारण को मापें
ये एकमात्र दो चीजें हैं जो एक संगठन की दुकानें नहीं ले जाती हैं डेटाबेस में कहीं भी - ब्रांडिंग परिसंपत्तियां सीधे सार्वजनिक बाल्टी में जाती हैं संगठन के डोमेन उपसर्ग के तहत, अपने आईडी के तहत डॉक्स वर्कस्पेस - इसलिए दोनों शून्य के रूप में पढ़ा जब तक कुछ वस्तु स्टोर वापस पढ़ता है। निषेध पिछड़े चलाता है, संगठन के लिए उपसर्ग। प्रत्येक संगठन को धोखा देना उपसर्ग और स्कैनिंग जो चुपचाप एक उपसर्ग के तहत संग्रहीत कुछ भी याद करेंगे किसी को डरावने के लिए नहीं सोचा; बजाय हर शीर्ष स्तर के उपसर्ग के माध्यम से वापस मैप किया जाता है विजेट, शेयर, डिफ़ॉल्ट, प्लस बाल्टी रूट पर कुछ भी ढीला नहीं है) ग्राहक का कुल। सदस्यों / subtree जानबूझकर बाहर रखा गया है। अवतार एक निश्चित के तहत रहते हैं, डिजाइन द्वारा संगठन-स्वतंत्र उपसर्ग, और प्रति डोमेन विरासत की गिनती प्रतियां एक संगठन को किसी अन्य संगठन के उपयोगकर्ता के लिए चार्ज करेगी मालिक ट्रिगर समापन बिंदु LosInternalApplyController का अनुसरण करता है: स्थिर समय तुलना क्लस्टर रहस्य के खिलाफ, जब यह विन्यस्त हो जाता है तो बंद हो जाता है।.
· InitializerService
ऑब्जेक्ट-स्टोर-केवल स्टोरेज माप के लिए स्कीमा
ऑब्जेक्ट storage days रिकॉर्ड करता है कि क्या एक स्वीप दो के लिए मिनियो से वापस पढ़ता है वे चीजें जो डेटाबेस में कोई आकार नहीं ले जाती हैं: ब्रांडिंग एसेट्स और डॉक्स कार्यक्षेत्र इसलिए एक बिलिंग विंडो वास्तव में योग करने के लिए अंतिम रूप से संशोधित दिन से बाल्टी। उत्पादन 2026-08-08-08 के खिलाफ भागो; तालिका और सूचकांक सत्यापित।.
· kamo-shared-library
ब्रांडिंग और डॉक्सेटिव दस्तावेज़ भंडारण की गणना करें
लगभग सब कुछ एक संगठन स्टोर अपने स्वयं के आकार को कहीं रिकॉर्ड करता है - एक imgs पंक्ति, एक kb media पंक्ति, एक मेलबॉक्स माप। दो बातें नहीं करते। ब्रांडिंग परिसंपत्तियों (लोगो, favicons, पृष्ठभूमि छवियों, विषय सीएसएस और विन्यास) लिखा जाता है संगठन के डोमेन उपसर्ग के तहत सार्वजनिक बाल्टी में सीधे, और संगठन के डोमेन उपसर्ग के तहत सीधे डॉक्स वर्कस्पेस अपने आईडी के तहत लिखा गया है। न तो डेटाबेस में कुछ भी छोड़ देता है यह कितना बड़ा है, इसलिए दोनों ने शून्य के रूप में पढ़ा। ऑब्जेक्ट स्टोरेज दिन में वह होता है जो एक स्वीप वस्तु स्टोर से वापस पढ़ता है, इसलिए एक मध्यस्थ बिलिंग विंडो वास्तव में बल्कि योग करता है पूरे महीने तक गोल होने की तुलना में। **************** आपूर्ति आकार और अंतिम संशोधित, deduped नोड्स में कुंजी द्वारा। साइट प्रतिकृति कई नोड्स पर समान वस्तु डालती है, और इसे प्रति नोड एक बार गिनने से संगठन के बिल को आकार दिया जाएगा। क्लस्टर। ब्रैंडिंग सदस्यों / सबट्री को जानबूझकर बाहर कर देता है। सदस्य अवतार एक के तहत रहते हैं डिजाइन द्वारा निश्चित, संगठन-स्वतंत्र प्रस्ताव - एक उपयोगकर्ता कई से संबंधित हो सकता है इसलिए एक अवतार उनमें से किसी की संपत्ति नहीं है - और प्रति डोमेन प्रतियां विरासत है। उन्हें गिनती करने के लिए एक संगठन को एक संगठन के लिए चार्ज करना होगा किसी अन्य संगठन के उपयोगकर्ता के मालिक को फ़ाइल करें। स्कीमा इस भूमि से पहले उत्पादन में सत्यापित: ऑब्जेक्ट स्टोरेज दिन मौजूद है एक KI रन के बाद अपनी विशिष्टता बाधा के साथ।.
· kamo-internal
पाठ संदेश संलग्नक भंडारण दिखाएँ
MMS संलग्नक डेटाबेस में डेटा के रूप में ऑनलाइन रहते हैं: URI फाइल के बजाय, इसलिए उनके पास कोई आकार का रिकॉर्ड नहीं था और कभी भी गिना नहीं गया था। अब उनके पास अपनी लाइन है।.
· kamo-shared-library
पाठ संदेश संलग्नक गणना
MMS संलग्नक संग्रहीत हैं, और गणना नहीं की गई थी। वे क्या नहीं हैं जैसा दिखता है: VoipMessageService डेटा के रूप में अनुलग्नक को कोडित करता है: URI और लिखते हैं यह VOIP MESSAGES.ATTACHMENT URL में प्रवेश करता है, इसलिए वे कभी मिनियो ऑब्जेक्ट नहीं बनते। और वहाँ स्टेट करने के लिए कोई फ़ाइल नहीं है - माप संग्रहीत चरित्र लंबाई है, बातचीत के org के माध्यम से। बेस 64 बाइट्स की तुलना में लगभग एक तिहाई बड़ा रन करता है, जिसमें इसे एन्कोड किया जाता है, और यह inflated फॉर्म वास्तव में क्या डेटाबेस पर कब्जा कर लेता है, इसलिए यह क्या गिना जाता है।.
· kamo-internal
प्रत्येक संग्रहण श्रेणी को अलग से दिखाएं
कॉल रिकॉर्डिंग, वॉयसमेल, चैट संलग्नक, मानव संसाधन संसाधन और विपणन प्रत्येक सामग्री को एक "दस्ताव और छवियों" साझा करने के बजाय अपनी खुद की लाइन मिलती है। एक ही तालिका में रहने के लिए होता है कि सब कुछ के साथ पंक्ति। दृश्य के लिए दो परिणाम। चौदह श्रेणियां क्या से अधिक हैं श्रेणीबद्ध पैलेट इनकोड कर सकते हैं - पिछले आठ, जोड़ा गया hues स्टॉप जा रहा है रंग-ब्लाइंड रीडर्स के लिए अलग-अलग और सजावट बन सकती है - इसलिए पहचान है लेबल और शेयर बार द्वारा किया गया एक ह्यू का उपयोग पूरी तरह से एक परिमाण क्यू के रूप में करता है। और प्रवृत्ति अब एक चौदह-तरफा स्टैक के बजाय एक एकल कुल श्रृंखला है: प्रश्न एक प्रवृत्ति उत्तर है "मेरे भंडारण बढ़ रहा है", और किस श्रेणी में यह है बढ़ी हुई मेज का काम है, जो टेबल बिल्कुल करता है।.
· kamo-shared-library
प्रत्येक प्रकार की संग्रहीत फ़ाइल को अपनी श्रेणी के रूप में गणना करें
कॉल रिकॉर्डिंग, वॉयसमेल, चैट संलग्नक, मानव संसाधन संसाधन, विपणन सामग्री, बैठक रिकॉर्डिंग और हर तरह के दस्तावेज़ अंजीर में सभी पंक्तियां हैं, केवल ImageAssoctype द्वारा प्रतिष्ठित और सभी एक बाल्टी साझा करते हैं, क्योंकि एसोसिएशन एक भंडारण सीमा के बजाय मेटाडाटा है। उन्हें एक के रूप में रिपोर्ट एकल पंक्ति सटीक और बेकार थी: एक उत्पादन संगठन के लिए यह छुपाया गया उस 5.08 GB की 5.09 GB की फुटप्रिंट चैट अटैचमेंट थी। प्रत्येक संगठन अब एक डोमेन से संबंधित है, इसलिए एक संगठन देख सकता है कि क्या है? वास्तव में एक अज्ञात कुल के बजाय अपने भंडारण का उपभोग करना। StorageDomainCoverageTest एक चूक बनाता है एक निर्माण विफलता: हर ImageAssoctype वास्तव में एक डोमेन द्वारा दावा किया जाना चाहिए - दावा किए बिना मतलब अपलोड संग्रहीत और कभी बिल नहीं किया जाता है, दावा किया जाता है कि दो बार बिल दिया जाता है। द्वारा सत्यापित जांच: अपने डोमेन से HR RESOURCE को हटाने से कारण के साथ निर्माण में विफल रहता है, चुपचाप गुजरने के बजाय। MEETING RECORDINGS अपने दोनों स्रोतों, बैठक recordings तालिका और दोनों को बताता है। MEET RECORDING एसोसिएशन। बैठक सेवा केवल पूर्व लिखती है, इसलिए वे ओवरलैप नहीं करते हैं।.
· EmailService
प्रत्येक ऑर्ग के अपने कैमोमेल मेलबॉक्स को मापें
हर मेलबॉक्स कामो मेजबान और रिकॉर्ड, प्रति आगमन दिवस, RFC822 इसे bytes प्रत्येक फ़ोल्डर में - हेडर, बॉडी और एन्कोडेड संलग्नक शामिल हैं ट्रैश और जंक, क्योंकि ट्रैश में संदेश अभी भी डिस्क पर है। प्रति एक राउंड ट्रिप फ़ोल्डर: जकार्ता मेल IMAP प्रदाता FetchProfile का विस्तार करता है। आइटम.ENVELOPE ENVELOPE INTERNALDATE RFC822.SIZE, इसलिए आकार और आगमन की तारीख एक साथ आती है। क्या गिनती का फैसला किया जाता है कि क्या डोवकोट में पता के लिए क्रेडेंशियल हैं, नहीं प्रदाता सेटिंग को पढ़कर। Virtual users में उपस्थिति IS की परिभाषा "Kamo इस मेलबॉक्स को स्टोर करता है", जबकि एक प्रदाता स्तंभ कहानी हो सकता है, विरासत में मिला माता-पिता, या मध्यप्रदेश से। Microsoft या Google द्वारा होस्ट किया गया मेलबॉक्स कोई क्रेडेंशियल नहीं है और छोड़ दिया जाता है, इसलिए इसका संगठन कुछ भी नहीं लिया जाता है। कौन यह प्रत्येक मेलबॉक्स के अपने org id से आता है। कामोमेल एक एकल नहीं है किरायेदार - उत्पादन में एक संगठन के तहत 18 मेलबॉक्स हैं और 41 के तहत एक और, चार डोमेन में intermixed - तो एक डोमेन या Maildir सारांश एक संगठन को दूसरे के मेल के लिए बिल देगा। पता कमियों से मेल खाते हैं। Dovecot की उपयोगकर्ता तालिका और Maildir पथ हैं जबकि मेलबॉक्स टेबल जो कुछ भी आवरण रखता है मेलबॉक्स बनाया गया था इसके साथ, और यहां एक मामले की गलतफहमी पहले से ही एक बार वितरण और पुनर्प्राप्ति को विभाजित कर चुकी है दो अलग-अलग मेलडायर में। इसके अलावा, एंडपॉइंट द्वारा एंडपॉइंट के बजाय पूरे के रूप में /api/internal की रक्षा करता है। The फ़िल्टर नाम /api/internal/calendar और /api/internal/lead-comms व्यक्तिगत रूप से, इसलिए अगले नियंत्रक उस उपसर्ग के तहत घुड़सवार - यह एक - होगा कोई गुप्त, चुपचाप और जोखिम की दिशा में पहुंच योग्य नहीं है। 6 नए परीक्षणों में योगदान, मामले से निपटने और न होने वाले मामले शामिल हैं; 152 कुल, सभी गुजरते हैं।.
· InitializerService
प्रति मेलबॉक्स भंडारण माप के लिए स्कीमा
************* रखती है, प्रति मेलबॉक्स और प्रति आगमन दिन, RFC822 bytes that mailbox is held. भंडारण लेखांकन में कोई ईमानदार स्रोत नहीं था मेलबॉक्स बाइट के लिए: खोज सूचकांक केवल उन संदेशों को कवर करता है जो अनुक्रमित थे, और उन्हें स्टोर करने के बावजूद कवर करता है। ORG ID को ईमेल provider.mailboxs से अलग किया जाता है ताकि प्रतिसंगठन एकत्रीकरण एक अनुक्रमित योग है, और इसलिए प्रति मेलबॉक्स निषेध रहता है - कई संगठन एक बार में कामोमेल पर हो सकते हैं और एक डोमेन के मेल्डर को पकड़ सकता है विभिन्न संगठनों से संबंधित मेलबॉक्स। उत्पादन 2026-08-08-08 के खिलाफ भागो; तालिका और सूचकांक सत्यापित।.

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