परिवर्तन लॉग
क्या नया है.
यह जहाज के रूप में, प्लेटफार्म के हर सुधार.
· SecurityService
Implement hash-based file storage for avatars
- Generate SHA-256 hash from avatar ID after persistence - Store hash in database fileHash field - Upload files to MinIO using hash-based naming: {hash}.{fileExtension} - Update all URL generation to use hash instead of ID - Add backward compatibility: generate hash for old avatars without hash - Update photo upload, Avatar Creator creation, update, and delete operations - Prevents enumeration attacks by making file names unpredictable
· kamo-shared-library
सुरक्षित फ़ाइल भंडारण के लिए अवतार इकाई में फ़ाइल हैश फ़ील्ड जोड़ें
फ़ाइल जोड़ेंहैश कॉलम को स्टोर करने के लिए SHA-256 हैश की अवतार ID - हैश का उपयोग न्यूनीकरण हमलों को रोकने के लिए मिनियो फाइल नामकरण के लिए किया जाता है - प्रारूप: {hash}. {fileExtension} बजाय {id}.{fileExtension}
· kamo-internal
पुनर्निर्माण अवतार यूआई - आधुनिक, इंटरैक्टिव, पॉलिश। बैकएंड सीधे यूआरएल लौटाता है
· SecurityService
अवतार प्रणाली का पुनर्निर्माण - बैकएंड पृष्ठभूमि की तरह सीधे प्रीसिग्न URL उत्पन्न करता है
· kamo-internal
K8s configmap में MinIO क्रेडेंशियल जोड़ें
· kamo-internal
थीम डोमेन के साथ मिनियो एसडीके का उपयोग करके Next.js में presigned URL उत्पन्न करें
· kamo-shared-library
GetPresignedUrlwithEndpoint method for custom endpoint presigned URLs
· kamo-internal
अवतार निर्माता अवतार निर्माण, पुनर्व्यवस्था के साथ पृष्ठभूमि प्रबंधन, और पूर्ण अवतार / पृष्ठभूमि पुस्तकालय समर्थन जोड़ें
· SecurityService
Add avatar and background management endpoints
· kamo-shared-library
AvatarPhoto और AvatarAvatar निर्माता वर्गों, Refactor Avatar विरासत संरचना जोड़ें
· SecurityService
Organize MinIO storage with folder structure and add Avatar Creator SVG support
- Updated storage paths to use organized folder structure: * members/avatars/photos/ for photo avatars * members/avatars/vector/ for Avatar Creator SVG avatars * members/backgrounds/ for background images - Added SVG file generation and storage for Avatar Creator avatars - Avatar Creator avatar creation/update now accepts SVG string and saves to MinIO - All presigned URL generation updated to use new folder paths - SVG files are saved when Avatar Creator avatars are created or updated
· SecurityService
Add avatar, background, and member profile management endpoints
- Added AvatarController with CRUD operations for avatars (photo and Avatar Creator) - Added UserBackgroundController for managing user background images - Extended MemberController with GET/PUT endpoints for member profile data - All endpoints support MinIO uploads to 'internal' bucket with presigned URL generation - Avatar endpoints support photo uploads and Avatar Creator avatar creation - Background endpoints support member-specific backgrounds - Member profile endpoints support updating avatar selection from user's collection
· kamo-shared-library
Avatar और userbackground repositories और presigned URL समर्थन जोड़ें
- उपयोगकर्ता द्वारा अवतारों को खोजने के तरीकों के साथ अवतार जोड़ा गया - उपयोगकर्ता / सदस्यों द्वारा पृष्ठभूमि खोजने के तरीकों के साथ उपयोगकर्ता बैकग्राउंड को जोड़ा गया - जोड़ा गया getPresignedUrl तरीकों के लिए MinIOStorageService अस्थायी पहुँच यूआरएल उत्पन्न करने के लिए - Presigned URL डिफ़ॉल्ट रूप से 7 दिनों के लिए समाप्ति, विन्यास योग्य समाप्ति समय
· kamo-shared-library
उपयोगकर्ता / सदस्य संबंधों के साथ उपयोगकर्ता फ़ोटो और उपयोगकर्ता बैकग्राउंड संस्थाओं को जोड़ें
- उपयोगकर्ता और सदस्य प्रोफ़ाइल फ़ोटो के भंडारण के लिए उपयोगकर्ताफोटो इकाई बनाया गया - उपयोगकर्ता और सदस्य पृष्ठभूमि छवियों के भंडारण के लिए उपयोगकर्ता बैकग्राउंड इकाई बनाया गया दोनों संस्थाएं उपयोगकर्ता स्तर (member=null) और सदस्य स्तर (member set) एसोसिएशनों का समर्थन करती हैं। - उपयोगकर्ताफोटो में यह इंगित करने के लिए आइससेट फ़ील्ड शामिल है कि वर्तमान में कौन सा फोटो सक्रिय है - उपयोगकर्ता बैकग्राउंड में एकाधिक पृष्ठभूमि ऑर्डर करने के लिए सॉर्ट आईडी फ़ील्ड शामिल है - दोनों इकाइयां निर्माण, अद्यतन और सक्रिय स्थिति को ट्रैक करने के लिए EmbRecordState embeddable का उपयोग करती हैं - प्रदर्शन अनुकूलन के लिए उपयुक्त डेटाबेस सूचकांक जोड़ा गया
· kamo-internal
सदस्य-स्तर अवतार / बैकग्राउंड ओवरराइड्स के साथ साझा सदस्यहेडर घटक जोड़ें
- पृष्ठभूमि छवियों और अवतार प्रदर्शन के साथ साझा सदस्यहेडर घटक बनाया गया - अवतार और पृष्ठभूमि के लिए जोड़ा गया सदस्य-स्तर ओवरराइड विकल्प (उपयोग डिफ़ॉल्ट उपयोगकर्ता बनाम सदस्य-विशिष्ट) - साझा सदस्यहेडर घटक का उपयोग करने के लिए अद्यतन प्रोफाइल टैब - अद्यतन सदस्यताPermissionTab साझा सदस्यHeader घटक का उपयोग करने के लिए - हेडर अब प्रोफ़ाइल और सदस्यता-प्रेषण टैब दोनों पर दिखाई देता है - "Use डिफ़ॉल्ट उपयोगकर्ता अवतार" और "Use डिफ़ॉल्ट उपयोगकर्ता पृष्ठभूमि" के लिए टॉगल स्विच जोड़ा गया डिफ़ॉल्ट थीम पृष्ठभूमि का उपयोग नहीं करते समय कस्टम पृष्ठभूमि छवि यूआरएल का समर्थन करता है
· kamo-marketing
मोबाइल उपकरणों के लिए चुंबकीयकोडर को स्पर्श समर्थन जोड़ें
· kamo-internal
स्क्रॉलबार के बिना सभी रिकॉर्ड दिखाने के लिए ग्रिड को ऑटोराइट लेआउट में बदलें
- सेट domLayout करने के लिए autoHeight तो ग्रिड सभी पंक्तियों फिट करने के लिए विस्तार - अतिप्रवाह निकालें: ग्रिड कंटेनर बक्से से छिपा हुआ - ऊंचाई निकालें: ग्रिड रैपर बॉक्स से 100% बाधा ग्रिड अब वर्टिकल स्क्रॉलबार के बिना वर्तमान पृष्ठ पर सभी रिकॉर्ड दिखाता है
· kamo-internal
स्टेट और स्ट्रीट कॉलम के साथ एड्रेस कॉलम बदलें
- पता स्तंभ और पता Renderer निकालें - संपर्क के बाद स्टेट कॉलम जोड़ें (उपखंड / स्टेट कोड दिखाता है) - राज्य के बाद स्ट्रीट कॉलम जोड़ें (शो 'स्ट्रीट, शहर' प्रारूप) - स्टेटफ़िल्टरवाल्यू और स्ट्रीटफ़िल्टरवाल्यू के साथ एड्रेसफ़िल्टरवाल्यू को बदलें - सभी अमेरिकी राज्यों के साथ स्टेट ड्रॉपडाउन फ़िल्टर जोड़ें - स्ट्रीट टेक्स्ट फिल्टर फ़ील्ड जोड़ें - राज्य और स्ट्रीट कॉलम के लिए अद्यतन फ़िल्टरिंग तर्क - रीसेट फिल्टर से एड्रेस फ़िल्टरिंग निकालें
· kamo-internal
निर्दिष्ट मूल्यों के लिए कॉलम चौड़ाई अद्यतन करें
- 300px से 245px तक लीड आईडी कॉलम की चौड़ाई बदलें - संपर्क स्तंभ फ्लेक्स रहता है: 1 शेष चौड़ाई लेने के लिए - 200px से 65px तक स्टेटस कॉलम की चौड़ाई बदलें - 200px से 120px तक सब स्टेटस कॉलम की चौड़ाई बदलें - 150px से 120px तक एजेंट कॉलम की चौड़ाई बदलें - स्तंभों से मिलान करने के लिए संबंधित फ़िल्टर फ़ील्ड कंटेनर चौड़ाई अद्यतन करें - जोड़ें स्पष्ट minWidth और maxWidth constraints जहां जरूरत है
· kamo-internal
नकली लीड आईडी को यादृच्छिक अल्फ़ान्यूमेरिक में अपडेट करें और 170px को एड्रेस कॉलम सेट करें
- जोड़ें RandomLeadId फ़ंक्शन को लंबाई 13 के यादृच्छिक अल्फ़ान्यूमेरिक स्ट्रिंग्स बनाने के लिए - अनुक्रमिक संख्या से यादृच्छिक अल्फ़ान्यूमेरिक (जैसे, '34FDK69HWGPPK') में नकली लीड आईडी बदलें - एक्सप्लिकिट मिन / मैक्स के साथ 250px से 170px तक एड्रेस कॉलम की चौड़ाई अपडेट करें - 170px मैच के लिए अद्यतन पता फिल्टर कंटेनर चौड़ाई
· kamo-internal
अद्यतन तिथि स्तंभ चौड़ाई और कार्रवाई बटन की जगह
- 155px से 170px (Created and Assigned) तक दिनांक स्तंभ की चौड़ाई बदलें - अद्यतन तिथि फिल्टर क्षेत्र कंटेनर 170px चौड़ाई मैच करने के लिए - 'Export Selected', 'Share' और 'Delete Selected' बटन के साथ बदलें: - पीपल आइकन के साथ 'Reassign चयनित ({amount चयनित})' - SwapHoriz आइकन के साथ चयनित ({amount चुना}) की 'Change स्थिति' - सामग्री यूआई से आयात लोग और स्वैपहोरिज़ आइकन - बटन गतिशील रूप से लेबल में चयनित गिनती दिखाते हैं
· kamo-internal
माध्यमिक टैब के लिए पतली प्रकाश ग्रे सीमा नीचे जोड़ें
- सीमा जोड़ें: '1px ठोस rgba(0, 0, 0, 0.12)' स्टेटस टैब्स कंटेनर में - / लीड्स / दृश्य / पृष्ठ पर पाए गए स्टाइलिंग से मेल खाता है - नीचे टैब और सामग्री के बीच दृश्य अलगाव बनाता है
· kamo-internal
फिल्टर क्षेत्रों को शेष रखने के लिए ग्रे पृष्ठभूमि जोड़ें और नीचे तक संरेखित करें
- केंद्र से फ्लेक्स-एंड (नीचे संरेखण) में फिल्टर पंक्ति संरेखण बदलें - सभी शेष फिल्टर फील्ड कंटेनरों में ग्रे पृष्ठभूमि (#f8fafc) जोड़ें - तिथि फिल्टर स्टाइलिंग से मिलान करने के लिए सीमा त्रिज्या और पैडिंग जोड़ें - नियमित फ़िल्टर फ़ील्ड नीचे की ओर, नीचे की तारीख क्षेत्र की मिलान ऊंचाई को जोड़ती है - तिथि क्षेत्र स्टैक्ड लेआउट के साथ लंबा रहता है सभी फिल्टर क्षेत्रों में अब सुसंगत ग्रे पृष्ठभूमि उपचार है
· kamo-internal
स्टैक्ड डेट फिल्टर फील्ड्स वर्टिकल रूप से पृथक ग्रे पृष्ठभूमि के साथ
- क्षैतिज से ऊर्ध्वाधर लेआउट (flexDirection: स्तंभ) से दिनांक फिल्टर फ़ील्ड बदलें - केवल तिथि फिल्टर बक्से में ग्रे पृष्ठभूमि (#f8fafc) जोड़ें, पूरी फिल्टर पंक्ति नहीं - दिनांक फिल्टर क्षेत्रों के लिए 220px की स्पष्ट चौड़ाई निर्धारित करें - मुख्य फिल्टर पंक्ति कंटेनर से ग्रे पृष्ठभूमि निकालें - बेहतर दृश्य अलगाव के लिए दिनांक फिल्टर बक्से में सीमा त्रिज्या जोड़ें
· kamo-internal
यूआई लेआउट में सुधार और नकली डेटा में वृद्धि
- दिनांक फिल्टर क्षेत्रों के लिए पाठ को छोटा करें (FntSize: इनपुट के लिए 0.75rem, लेबल के लिए 0.7rem) - स्टेटस टैब के रूप में एक ही लाइन में त्वरित खोज करें, दाईं ओर संरेखित - 50 से 250 तक मॉक लीड बढ़ाएं - ग्रिड से एक्शन कॉलम निकालें - डुप्लिकेट सर्च बार सेक्शन को हटाकर लेआउट को साफ़ करें
· kamo-internal
निर्मित और असाइन किए गए स्तंभों के लिए तिथि सीमा फ़िल्टर घटक जोड़ें
- तारीख सीमा फिल्टर (स्टार्ट / एंड डेट्स) के लिए स्टेट वेरिएबल जोड़ें - स्टार्ट डेट और एंड डेट फील्ड्स के साथ डेट रेंज फिल्टर घटक बनाएं - निर्मित और असाइन किए गए कॉलम के लिए कस्टम फ़िल्टर पंक्ति में दिनांक सीमा फिल्टर घटक जोड़ें - अद्यतन फ़िल्टर्डRowData तर्क तिथि सीमा तक फिल्टर करने के लिए - खाली तारीख फ़ील्ड का मतलब कोई प्रतिबंध नहीं है (उसके अंत के लिए सभी तिथियां) - अद्यतन रीसेटफ़िल्टर फ़ंक्शन तिथि सीमा फिल्टर को साफ़ करने के लिए - दिनांक फिल्टर आंशिक रेंज (केवल शुरू, केवल अंत, या दोनों) का समर्थन करते हैं।
· kamo-internal
संपर्क नाम क्लिक करने योग्य लिंक बनाएं और लीड खोलने के लिए डबल क्लिक करें
- अद्यतन contactRenderer को रेखांकित क्लिक करने योग्य लिंक के रूप में प्रथम और अंतिम नाम प्रदर्शित करने के लिए - ऐड ऑनक्लिक हैंडलर को उन नामों से संपर्क करने के लिए जो ऑनव्यूलैड के माध्यम से लीड खोलते हैं या / लीड्स / दृश्य /: आईडी पर नेविगेट करते हैं। - Add onRow DoubleClicked handler to agridReact to open lead जब पंक्ति डबल क्लिक हो जाती है - संपर्क नाम अब प्राथमिक रंग, रेखांकित और होवर प्रभाव है - एक पंक्ति पर कहीं भी डबल क्लिक करने से लीड खुल जाता है
· kamo-internal
उप-स्टेटस ड्रॉपडाउन फ़िल्टर और अद्यतन अनुबंध Sent में आइकन जोड़ें
- जावा enum से मिलान करने के लिए 'संविदा' के लिए 'संविदा' को अद्यतन करें - आइकन भेजने के लिए असाइनमेंट से भेजे गए अनुबंध के लिए आइकन बदलें - उप-स्टेटस ड्रॉपडाउन फिल्टर मेनू आइटम में आइकन जोड़ें - सामग्री यूआई से आयात भेजें आइकन - ड्रॉपडाउन फिल्टर में प्रत्येक उप-स्टेटस विकल्प के बगल में प्रतीक प्रदर्शन
· kamo-internal
प्रत्येक उप-स्टेटस के लिए मूल स्थिति रंगों के साथ अद्वितीय आइकन जोड़ें
प्रत्येक उप-स्टेटस के लिए अद्वितीय, प्रासंगिक आइकन जोड़ें (उदाहरण के लिए, व्यक्ति न्यू लीड के लिए जोड़ें, बाएं संदेश के लिए संदेश) - प्रतीक माता-पिता का दर्जा रंग बनाए रखता है (नवीन के लिए ताजा, पुनर्नवीनीकरण के लिए नीला, फार्म के लिए नारंगी, ग्रिम के लिए लाल, शून्य के लिए ग्रे) - उप-statuses के लिए अतिरिक्त सामग्री यूआई आइकन आयात करें - अद्यतन getSubStatusIcon अपने अद्वितीय आइकन के लिए प्रत्येक उप-स्टेटस को मैप करने के लिए - ताजा: PersonAdd, संदेश, घटना, अनुसूची, PlayArrow, विवरण, ShoppingCart, भुगतान - Reckoning: Sync, Assignment, AssignmentTurnedIn, Build, LocalShipping - फार्म: स्थानीय फ्लोरिस्ट, थंबडाउन, फोनडिसेबल, बिजनेस, अटैचमनी, एक्सेसिबिलिटीन्यू, ब्लॉक - ग्रिम: प्रिंट, सिग्नलविफॉफ़, पर्सनऑफ, चेतावनी, DoNotDisturb, RestoreFromTrash Void: Science, ContentCopy
· kamo-internal
उप-स्टेटस कॉलम मिलान करने वाले माता-पिता की स्थिति रंगों में आइकन जोड़ें
- माता-पिता की स्थिति के आधार पर आइकन निर्धारित करने के लिए getSubStatusIcon सहायक फ़ंक्शन जोड़ें - सब-स्टैटस आइकन अपने माता-पिता की स्थिति के रूप में समान आइकन और रंगों का उपयोग करते हैं - ताजा उप-statuses: ग्रीन न्यूलीज़ आइकन - उप-statuses का पता लगाना: ब्लू Gavel आइकन - फार्म उप-statuses: नारंगी कृषि आइकन - ग्रिम उप-statuses: लाल रेवेन आइकन - शून्य उप-statuses: ग्रे रद्द आइकन

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