परिवर्तन लॉग
क्या नया है.
यह जहाज के रूप में, प्लेटफार्म के हर सुधार.
· kamo-shared-library
7 मॉड्यूल-एक्सेस अधिकार जोड़ें (आईडी 112-118)
ACCESS COMMERCE,VIEW CALENDAR, ACCESS CHAT, ACCESS MAIL, ACCESS VOIP,VIEW SUPPORT,VIEW ANALYTICS
· SecurityService
Pass human-readable expiry time to email verification template
Add humanizeMinutes() helper that formats minutes as days/hours/minutes (e.g. "1 day" for 1440 min). Pass as {{expiryText}} to match updated canonical template variable.
· kamo-shared-library
ईमेल सत्यापन टेम्पलेट में सुधार - यूआरएल फ्लेमबैक, एक्सपेरी टेक्स्ट, विषय
- कॉपी-पेस्ट गिरावटबैक के रूप में बटन के नीचे सादे पाठ सत्यापन लिंक जोड़ें - {{expiryMinutes}} से {{expiryText}} के लिए परिवर्तन एक्सपेरी चर मानव पठनीय प्रारूप (जैसे "1 दिन" बजाय "1440 मिनट") - अद्यतन के अधीन "आपके {{orgName}} खाते से जुड़े ईमेल सत्यापित करें"
· kamo-internal
टेम्पलेट पर बाहरी फ्रेम के साथ पूर्ण ईमेल HTML को सीरियलाइज़ करें
- serializeFullEmailHtml ब्रांडेड बाहरी फ्रेम में आंतरिक ब्लॉक लपेटता है (हेडर लोगो, शीर्षक / उपशीर्षक, सामग्री क्षेत्र, पाद लेख लोगो + ऑर्ग नाम) इसलिए ईमेल क्लाइंट छवियों को प्राप्त कर सकते हैं - बाहरी फ्रेम सेटिंग्स (लोगो विकल्प, शीर्षक, उपशीर्षक) को बचाया जाता है bodyBlocks.outerFrame और टेम्पलेट लोड पर बहाल - संभालना अब serializeFullEmailHtml का उपयोग करता है इसलिए भेजे गए ईमेल मेल से मेल खाते हैं। बिल्डर पूर्वावलोकन
· SecurityService
Add code-based email verification path to /verify-email endpoint
The endpoint now handles both token (link click) and userId+code (manual 6-digit entry). Token path unchanged; code path hashes the supplied code and matches against the active token for that userId.
· KlusterServices
Add weekly image prune and journal vacuum CronJob for k1m1
CronJob runs every Sunday 3am, privileged, pinned to k1m1. - crictl rmi --prune removes unused container images - nsenter journal vacuum enforces 500MB cap - CI/CD step added to deploy-services workflow
· KlusterServices
Add Docs deploy step to workflow
· kamo-register
प्रत्येक सत्यापन / संशोधन प्रयास से पहले सत्यापन पृष्ठ पर*** की आवश्यकता
*** प्रत्येक कार्रवाई (success या विफलता) के बाद रीसेट हो जाता है ताकि एक ताजा प्रत्येक प्रयास के लिए हल की आवश्यकता है।.
· kamo-register
Rename /resend-verification page to /verification
· kamo-register
लॉगिन रीडायरेक्ट के लिए ऐड / रेेंड-verification पेज
एक स्टैंडअलोन / रिसेंड-सत्यापन मार्ग बनाता है जो? ईमेल स्वीकार करता है और ?userId क्वेरी params, एक सुसंगत के लिए postCompletionScreen reusing ईमेल सत्यापन UX इसलिए रजिस्टरResponse.alias वैकल्पिक बनाता है पृष्ठ उपलब्ध पंजीकरण के बिना काम करता है।.
· kamo-register
ईमेल सत्यापन स्क्रीन को फिर से डिज़ाइन करें + ईमेल बग को फिर से भेजें
- PostCompletionScreen: एनिमेटेड org पृष्ठभूमि के साथ पूर्ण पृष्ठ लेआउट, ग्लासमोर्फिज्म कार्ड, लोगो, दृश्य 6-अंक कोड बॉक्स, सफलता / सत्यापित राज्यों - ResendVerification: अनुरोध निकाय में ईमेल पास करें (बैकएंड को इसकी आवश्यकता है)
· kamo-register
मिलान कामो-internal अवतार भंडारण - 3 आकार, MinIO, अलग अपलोड कदम
फसल संवाद अब कैनवास के माध्यम से तीन पीएनजी ब्लब्स (50/150/350px) का उत्पादन करता है, समान Kamo-internal's AvatarManager. पंजीकरण के बाद उपयोगकर्ता आईडी लौटा, blobs ********** (new unauthenticated endpoint) EmailVerified=false द्वारा संरक्षित). avatarUrl अब पंजीकरण में भेजा नहीं है JSON शरीर। अवतार अपलोड विफलता गैर घातक है इसलिए पंजीकरण अभी भी पूरा हो गया है।.
· SecurityService
Add register-photo endpoint for unauthenticated post-registration avatar upload
POST **************** accepts userId + file/fileSm/fileMd/fileLg without a session. Guards: user must be unverified and have no avatar yet, preventing abuse against existing accounts. Stores files to MinIO with the same path structure and sized variants as the authenticated /avatars/photo endpoint.
· kamo-login
EMAIL NOT VERIFIED त्रुटि को अमीर सत्यापन कार्ड के साथ बदलें
जब लॉगिन EMAIL NOT VERIFIED के साथ विफल हो जाता है तो लॉगिन कार्ड को अब बदल दिया जाता है। पॉलिश "आपके इनबॉक्स की जाँच करें" स्क्रीन: एनिमेटेड लिफाफा SVG उद्घाटन फ्लैप के साथ और फ्लोटिंग स्पार्कल्स, मास्क्ड ईमेल डिस्प्ले, एक 30 सेकंड के साथ फिर से भेजें-ईमेल बटन SVG उलटी गिनती की अंगूठी, सफलता / आतंकवाद / दर-सीमा प्रतिक्रिया अलर्ट, और एक "वापस करने के लिए साइन इन करें सभी संक्रमण पैमाने + फेड के साथ AnimatePresence का उपयोग करते हैं। - app/api/login/route.ts: सभी बैकेंड त्रुटि फ़ील्ड (केवल संदेश नहीं) तो पास यूज़र आईडी क्लाइंट तक पहुंचता है **************** सुरक्षा सेवा के लिए नया प्रॉक्सी ************* - app/page.tsx: EmailVerify कार्ड घटक, ईमेलVerifyState / resendLoading / ResendCooldown / resendStatus राज्य, resendVerification callback, 30 सेकंड Cooldown useEffect
· kamo-register
AVIF और SVG प्रारूपों का समर्थन करने के लिए फोटो अपलोड करें
छवि/avif और छवि/svg+xml को फ़ाइल इनपुट में जोड़ें सूची स्वीकार करते हैं और प्रमाणीकरण सभी छह प्रारूपों को सूचीबद्ध करने के लिए संकेत लेबल अद्यतन करता है। कामो-आंतरिक पहले से ही छवि /* को स्वीकार करते हैं ताकि वहां कोई बदलाव की जरूरत न हो।.
· kamo-register
पंजीकरण अपलोड करने के लिए प्रतिक्रिया-easycrop फोटो संपादक जोड़ें
कामो-आंतरिक के अवतार मैनेजर से PhotoCropDialog मिरर: - फसल संवाद फाइल चयन के तुरंत बाद खुलता है - खींचें द्वारा पैन, स्क्रॉल या स्लाइडर के माध्यम से ज़ूम (1-5 ×) - छींकित परिपत्र ओवरले गाइड फसल क्षेत्र को दर्शाता है - कैनवास 400 × 400 पीएनजी बेस 64 अवतार उर्ल के रूप में संग्रहीत करता है - पूर्वावलोकन पर फिर से क्रॉप बटन उपयोगकर्ता को बचाने के बाद समायोजित करने देता है
· kamo-register
जोड़ें /api/geoip मार्ग और तार देश ऑटो-डिटेक्शन
Proxies क्लाइंट IP to Security GeoLite2 lookup, फिर सेट करता है स्वचालित रूप से पृष्ठ लोड पर FormMyCountry में देश का पता लगाया गया।.
· SecurityService
Add GET /api/security/geoip/me for client IP country lookup
Reads real client IP from X-Forwarded-For / X-Real-IP headers, does a GeoLite2 lookup, and returns { country_code, country_name }. Used by kamo-register's country auto-detection step.
· kamo-register
एच *** को समाप्त चरण में कामो-कैप्चा-विजेट इनलाइन के साथ बदलें
· kamo-register
जोड़ें /api/capcha/challenge प्रॉक्सी मार्ग
· kamo-register
Kamo-capcha-widget विक्रेता जोड़ें, h*** संकुल को हटा दें
· kamo-register
SP6 रजिस्टर विज़ार्ड रिफैक्टर - स्प्लिट पर्सनलइन्फो, वास्तविक पंजीकरण एपीआई जोड़ें
- FormName (name फ़ील्ड) और FormAvatar (Avatar निर्माता जनरेटर, जो 13+ के लिए जनरेट/अपलोड/स्किप मोड के साथ) - फॉर्म पुनर्प्राप्ति को हटा दें प्रवर्तन (प्रवाह से हटाए गए पुनर्प्राप्ति क्षेत्रों) - Refactor FormpassportID to Dual-field लेआउट: उपनाम हमेशा दिखाया गया है, केवल 13+ के लिए ईमेल; कॉलबैक खिड़की वैश्विक जगह - टाइप किए गए ******************* के साथ रजिस्टर जोड़ें - ईमेल सत्यापन कोड प्रविष्टि और SIGNED IN रीडायरेक्ट के लिए पोस्टCompletionस्क्रीन जोड़ें - रिफैक्टर रजिस्टरफ्लो: होनी चाहिए के आधार पर गतिशील कदम सूची IncludeAgeCheck और isUser13Plus, वास्तविक एपीआई कॉल के साथ हैंडल *** सबमिट स्टब को प्रतिस्थापित करें, पोस्ट कॉम्प्लेक्शन को प्रस्तुत करें
· InitializerService
SP5 migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Add KamoCRMAgeReqUpdateRunner (order 10) — conditional idempotent UPDATE on startup; WHERE clause checks old value so re-runs are no-ops. Errors are swallowed so startup is not blocked. Update DataLoader to seed ALL_WORK_ELIGIBLE on fresh installs.
· SecurityService
Implement SP4 email verification and registration wiring
- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token generation/SHA-256 hashing, send/verify/resend flows backed by **************** - Add **************** — alias+email uniqueness checks, User creation, triggers verification email on register - SecurityController: wire RegistrationService into /register endpoint, add EMAIL_NOT_VERIFIED (403) gate on login, add POST /verify-email and POST /register/resend-verification endpoints - Bump kamo-shared-library to 1.4.0
· kamo-shared-library
ईमेल सत्यापन जोड़ें Token इकाई + repo + user.alias/emailVerified + userRepo क्वेरीज़; bump 1.4.0 (SP4)
· InitializerService
Add SP4 email_verification_tokens DDL + User alias/email_verified columns
· kamo-marketing
ट्रेडमार्क अस्वीकरण को पाद लेख कानूनी पाठ में जोड़ें
· kamo-internal
फोन + सुरक्षा प्रश्नों (SP3) के लिए खाता सेटिंग्स पेज जोड़ें
जोड़ना **************** एपीआई तारों के साथ सुरक्षा सेवा/api/account/* सभी 3 स्थानों पर सिंक.
· kamo-login
वायर रियल एपीआई / पुनर्प्राप्त पृष्ठ (SP3) में कॉल करता है
रिकवरी एपीआई कॉल के साथ सभी नकली सबमिट () स्टब्स को बदल देता है। एसएमएस ओटीपी जोड़ें चरण, बीज ईमेल इनपुट, नए पासवर्ड चरण और टोकन लैंडिंग की पुष्टि करें Token = URL param.
· kamo-login
जोड़ें /api/recover प्रॉक्सी + वसूली API क्लाइंट (SP3)

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