Use pg Pool options instead of connection string for geo DB
CockroachDB rejects insecure connections and node-pg can't verify self-signed certs via connection string alone. Parse the URL into Pool options and pass ssl:{r...
Add geo-database-url to analytics-secret for CockroachDB geolite lookup
Kamo Analytics uses this URL to look up visitor IP→country/region/city from the **************** tables. Uses kamo user with password auth and sslmode=require (...
K8s जोड़ें कामो-nowww (कैच-all IngressRoute, प्राथमिकता 1) के लिए प्रकट होता है
Kamo-nowww redirect Middleware (apex/unknown →www, ACME Pass-through, 308) जोड़ें
Add public known-aliases endpoint for kamo-nowww build-time bake-in
जब k2m1 जानबूझकर नीचे है तो पाइपलाइन को आगे बढ़ने की अनुमति दें
K2m1 तैनात नौकरियों और अगर स्थिति पर जारी रखने के लिए आतंकवाद जोड़ें अनुवाद and rebuild इसलिए यह तब तक चलता है जब तक कि k1m1 सफलतापूर्वक तैनात किया गया था। K2m1...
WCAG-ग्रेड विपरीत के साथ संचालित ByKamo लेगिबल
कैमोलॉगिन परिवर्तन को प्रतिबिंबित करता है। पाठ ठोस सफेद करने के लिए स्विच; पृष्ठभूमि बाकी में var(-रंग-सेकेंडरी) है, पृष्ठभूमि पर होवर/फोकस है var(-रंग-प्राइमरी...
WCAG-ग्रेड विपरीत के साथ संचालित ByKamo लेगिबल
पिछले स्टाइलिंग (कम-opacity चालू) निकट पारदर्शी पर रंग पृष्ठभूमि प्रभावी ढंग से अधिकांश ग्राहक पृष्ठभूमि के खिलाफ अदृश्य थी - जो Google की पहुंच / विपरीत पर जोख...
सूक्ष्म KamoCRM backlink स्वागत करने के लिए और in-meeting यूआई
मिरर द्वारा संचालित कामो पैटर्न कामो-लॉगिन और कामो-रजिस्टर में भेज दिया गया KamoMeet (Meet fork) वेब सतहों के लिए। प्रत्येक ग्राहक कामोमेट तैनाती अपने स्वयं के ...
पंजीकरण पृष्ठों के लिए सूक्ष्म KamoCRM बैकलिंक जोड़ें
मिरर द्वारा संचालित Kamo बैज कैमोलॉगिन में भेज दिया। Kamo-register प्रत्येक श्वेत लेबल क्लाइंट के डोमेन पर सेवा की जाती है, यह एक स्थिर बनाता है हर ग्राहक के पं...
बैकलिंक लक्ष्य www.kamocrm.com (कैनोनिकल होस्ट)
PowerByKamo घटक apex पर इंगित भेज दिया https://kamocrm.com/ लेकिन canonical kamo-marketing होस्ट https://www.kamocrm.com/ है। सभी तीन वेरिएंट hrefs को अद्यतन कर...
Auth पृष्ठों के लिए सूक्ष्म KamoCRM बैकलिंक जोड़ें
एक छोटा "ComoCRM द्वारा संचालित" शैली के पाद लेख को तीन उपयोगकर्ता- auth सतहों (लॉगिन, पुनर्प्राप्त, मान्य) का सामना करना पड़ रहा है। चूंकि कामोलॉगिन है प्रत्ये...
ट्रिगर ताजा रन तैनाती-पहली वर्कफ़्लो को सक्रिय करने के लिए
पिछला रन (3445, f93a173) पुराने वर्कफ़्लो पर पहले पूरा हुआ 4123431 को रद्द कर दिया जा सकता है और इसे पुनः प्राप्त कर सकता है। खाली करने के लिए प्रतिबद्ध नए परिन...
Deploy-first, अनुवाद के बाद, फिर से deploy-if-changed
CI/CD प्रवाह को फिर से काम करता है इसलिए प्रारंभिक तैनाती अब अवरुद्ध नहीं है अनुवाद समय। अब पाइपलाइन: 1. build initial — बनाता है और धक्का छवि टैग :{sha} 2. तै...
एसईओ के लिए ऐड / वैकल्पिक हब + 9 प्रतियोगी तुलना पृष्ठ
एक पूर्ण प्रतियोगी तुलना सूट को "एक्स वैकल्पिक" खोज को लक्षित करता है प्रश्न प्रत्येक पृष्ठ में गहरी कथा (2500+ शब्दों), 20-25 पंक्ति सुविधा शामिल है मैट्रिक्स,...
*** session check, loading spinner, rebrand analytics to Kamo Analytics
Use redis get instead of exists for more reliable *** validation on logout. Replace "Authenticating..." text with an animated spinner on the OTK auth page. Rena...
Use CockroachDB geolite tables for IP geo lookup instead of .mmdb file
Replace the bundled MaxMind .mmdb file with a query to the geolite_blocks and geolite_locations tables in CockroachDB, which are maintained and updated weekly b...
Copy GeoLite2 database to production image for country detection
The /geo/ directory containing GeoLite2-City.mmdb was built during the builder stage but never copied to the runner stage, so all country/region lookups returne...
Move CSP to proxy.ts instead of middleware.ts to avoid build conflict
Next.js 16 doesn't allow both middleware.ts and proxy.ts. The Docker build copies proxy.ts as the middleware, so add CSP frame-ancestors header there instead. T...
Clean up legacy analytics deployment on each CI run
Delete old analytics deployment, service, and ingressroute that conflict with the kamo-analytics deployment managed by its own CI/CD pipeline.
Use Next.js middleware for CSP so frame-ancestors works at runtime
The standalone build bakes next.config.ts headers at build time, so ALLOWED_FRAME_URLS was always empty. Move CSP to a Next.js middleware that reads the env var...
Strip X-Frame-Options header in iframe-compatible middleware
Set X-Frame-Options to empty string to remove the SAMEORIGIN value that was being inherited, allowing CSP frame-ancestors to control iframe embedding instead.
Read ALLOWED_FRAME_URLS at runtime so CSP frame-ancestors works in standalone mode
The env var was being read at module scope during build, baking an empty value into the standalone server. Move CSP and all header construction into functions c...
Add iframe-compatible middleware chain for kamo-analytics
Add security-headers-allow-iframe (no X-Frame-Options) and kamo-middlewares-allow-iframe chain so analytics can be embedded in iframes from internal.kamocrm.com...
एनालिटिक्स आइकन केवल आइकन सेट में स्थित है और आइकन सेट में अंतिम स्थान दिया गया है
Remove logout, move nav to right, tie session to kamo-internal ***
Remove logout option from UserButton since auth is managed by kamo-internal. Move SideNav from left to right side. Store the *** ID in analytics auth data durin...
Replace login with OTK auth, force light mode, hide theme toggle
Remove direct login — authentication now handled exclusively via one-time keys from kamo-internal. New /api/auth/otk route validates OTK against shared Redis, s...
OtK-authenticated iframe के साथ navtop करने के लिए एनालिटिक्स आइकन जोड़ें
एक बार्चार्ट आइकन को नवटॉप में जोड़ता है जो शीर्ष स्तर के ऑर्ग के टीम के सदस्यों को जाता है (कोई माता-पिता नहीं) क्लिकिंग नेविगेट करने के लिए / एनालिटिक्स जो एक...
Add analytics → analytics text replacement in changelog sanitization
Initial Kamo Analytics — forked from analytics with Kamo branding
- Replace analytics logo SVG with Kamo logo (theme.kamocrm.com) - Replace analytics favicons with Kamo favicon - Replace "analytics" heading/nav text with "Kamo...
Move kamo-analytics to own repo, keep only postgres in KlusterServices
- Remove analytics deployment, service, and nginx-configmap (now owned by kamo-analytics project with its own CI/CD pipeline) - Remove analytics-ingressroute ...
Reset document.title in rebrand() when React overwrites it
React re-applies RSC payload after hydration, resetting the title to "analytics". Add a title check inside the MutationObserver callback so it gets corrected ev...
Redact tokens ≥32 chars in changelog sanitization
Any word (run of non-whitespace) that is 32 characters or longer is replaced with **************** before titles and descriptions are sent to the translation se...
Replace "analytics" text nodes with "Kamo Analytics" instead of clearing
एकीकृत VoipButton ड्रॉपडाउन के साथ Navtop में अलग कॉल / टेक्स्ट आइकन बदलें
जैसा कि आप शिपिंग देखते हैं?
इन अद्यतनों में से प्रत्येक स्वचालित रूप से अपने कार्यक्षेत्र में उतरता है। प्रारंभ करें और सप्ताह के बाद इसे सप्ताह के अंत में देखें।.