Thêm một liên kết quay ngược tinh tế để chào đón và nhập vai UI
Phản chiếu các mẫu ByKamo điện được vận chuyển trong kamo-login và kamo-regster đến các bề mặt trang web KamoMeet. Name Triển khai phục vụ trên lãnh thổ riêng c...
Thêm KamoCRM tinh tế vào trang đăng ký
Phản chiếu thẻ tín dụng ByKamo được chuyển đến kamo-login. Kể từ khi kamo-register được phục vụ trên mỗi miền của mỗi khách hàng nhãn trắng, điều này tạo ra một...
Liên kết tới www.kamocram.com (máy chính thống)
Thành phần Powered ByKamo được vận chuyển ở đỉnh httpskamocram.com/ Nhưng máy bán hàng chính thống là https vội.kamocram.com/. Cập nhật cả ba dạng hrefs để tín ...
Thêm KamoCRM tinh tế vào trang inth
Thêm một huy hiệu bàn đạp kiểu KamoCRM cho ba người dùng phải đối mặt với các bề mặt trầm tích (xin lỗi, phục hồi, xác thực). Vì kamo-login là Chia sẻ ứng dụng ...
Kích hoạt chạy mới để kích hoạt luồng công việc đầu tiên
Chạy trước (3445, thực hiện f93a173) hoàn tất trên dòng cũ công việc trước khi Chấp thuận 423431 có thể hủy bỏ nó. Đẩy cam kết rỗng vào thực hiện triển khai- đầ...
Triển khai- thứ nhất, dịch sau, thay đổi
Xây dựng lại dòng chảy CN/CD để việc triển khai đầu tiên không còn bị chặn bởi Đến giờ dịch rồi. Đường ống bây giờ: 1. Xây dựng ủy nhiệm — xây dựng và đẩy ảnh:...
Thêm trung tâm thay thế / biên dịch + 9 trang so sánh đối thủ cho SAO
Thêm toàn bộ so sánh dãy mục tiêu tìm kiếm "X thay thế" Hàng. Mỗi trang bao gồm câu chuyện sâu (2500+ từ), tính năng 2025 hàng Ma trận, giảm giá, hướng dẫn di t...
*** 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...
Biểu tượng phân tích là chỉ biểu tượng và vị trí cuối cùng trong bộ biểu tượng
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...
Thêm biểu tượng phân tích để navtop với OTK-authenticated tôi khung
Thêm một biểu tượng BarCart vào cổng NavTop thành viên của nhóm cấp cao org (không có cha mẹ). Ấn vào các phương hướng tới các phân tích để tạo ra một OTK và nạ...
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
Thay thế biểu tượng tiếng gọi/ văn bản riêng trên trang Mạng bằng thiết bị thả xuống
Use TreeWalker to remove all "analytics" text nodes from rendered DOM
The workspace nav title "analytics" comes from JS bundles loaded after auth, rendered as a text node next to the logo SVG. Uses TreeWalker to find and clear all...
Add guarded MutationObserver for client-side rendered logo/text
Login page and dashboard content is rendered by Next.js JS bundles, not in the HTML body, so sub_filter can't reach it. Adds a script with a busy-flag-guarded M...
Redirect favicons at nginx level, fix RSC payload escaping
- Serve favicon via nginx 302 redirect instead of trying to rewrite HTML/RSC payload href strings (cleaner, always works) - Fix RSC title replacement with pro...
Use pure sub_filter replacements instead of MutationObserver
MutationObserver caused infinite loop (DOM change -> observer fires -> DOM change). Switch to direct nginx sub_filter string replacements targeting both static ...
Tải phân tích theo mặc định và bao gồm www subdomain trong miền cho phép
- Theo dõi tất cả du khách theo mặc định bởi vì phân tích là cookieless/GDPR- thân thiện - Chỉ tắt khi người dùng hoàn toàn phủ nhận phân tích trong tùy thích c...
Comprehensive analytics rebranding for login page and dashboard
- Replace title dynamically (handles "Login | analytics", "Dashboard | analytics" etc.) - Replace "analytics" h2 text on login page with Kamo logo image - Repla...
Use MutationObserver to rebrand analytics client-side rendered UI
analytics is a Next.js app that sets title/logo via JavaScript after initial HTML load. Replaces static sub_filter approach with injected script that uses Mutat...
Rebrand analytics analytics UI with Kamo logo, title, and favicon
Adds nginx sidecar proxy that injects CSS to replace the analytics logo with KamoCRM logo, changes the page title to "Kamo Analytics", and overrides the favicon...
Thay thế phân tích Google bằng phân tích, thêm sự kiện theo dõi trên trang web
- Gỡ bỏ các phân tích Google (gtag.js) khỏi bố trí - Thêm các thành phần phân tíchAnalytic: văn lệnh chấp thuận tải qua cookie Tùy thích, dữ liệu-do-track, mã m...
Add analytics analytics deployment and analytics.kamocrm.com routing
- New analytics/ directory: PostgreSQL StatefulSet + analytics deployment, services, and secret template - **************** routes analytics.kamocrm.com → analy...
Thêm in đẹp hợp pháp vào chân trang trên mọi địa phương
Thêm những người từ chối hợp pháp để bảo vệ mình vào dưới mỗi trang bìa Nợ phải trả, hủy bỏ hệ thống vi tính, thẩm quyền dịch thuật, Thỏa thuận, và thông báo th...
Sửa bản dịch — Bản ghi đè bằng tay và chuyển đổi toàn bộ Delta
Ghi đè bằng tay cho hệ số nav/UI cả hai động cơ đều thất bại: - Nav. home, nav.company, nav.roadmap, nav. changelog, nav.legal, nav.login, nav.documenation, foo...
Hiện hồ sơ miền TXT trong thiết lập DNS UI
- MiềnData/DnsStatus: thêm thẩm tra Token, quyền sở hữu, loại trường - AliasStatusTable: hiển thị TxtOwnershipCard trên CNAME OF TRANSLATORS indigo đang chờ / m...
Name
Bergamot đã trả lại văn bản gốc không thay đổi cho một từ nav mục, cụm từ viết tắt (API, CRM), và các từ hợp số (bản ghi thay đổi) trong khi báo cáo thành công ...
Generate TXT verification token on domain create, check in verify-dns
- createDomain: generate 32-char UUID token and store via setVerificationToken - verifyDns: check _kamo-verify TXT record for kamo-site-verification=<token> - T...
Add verification_token and ownership_verified columns to org_domains
Như những gì anh thấy vận chuyển?
Mỗi một bản cập nhật này đều được tự động cập nhật trong không gian làm việc của bạn. Bắt đầu tự do và xem nó lớn lên tuần này qua tuần khác.