Değişiklik Günlüğü
Yeni ne var?
Gemideki her iyileştirme.
· kamo-shared-library
7 modül erişim hakkı ekleyin (IDs 112-118)
ACCESS COMMERCE,LE CALENDAR, ACCESS CHAT, ACCESS MAIL, ACCESS VOIP,LE SUPPORT, İNCELEME 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
E-posta doğrulama şablonu geliştirmek - URL geri çekilme, expiry text, konu
- Aşağıdaki düğmeyi kopya-paste fallback olarak ekleyin - {{expiryMinutes}}'den {{expiryText}} için geçiş değişkeni İnsan hazırlı format (e.g. "1 gün" yerine "1440 dakika") - Güncelleme konusu " {{orgName}} hesabınızla ilişkili e-postayı ifade edin"
· kamo-internal
Tüm e-posta HTML'yi şablon üzerinde dış çerçeve ile yönetin
- FullEmailHtml, markalı dış çerçevedeki iç blokları seriliyor (header logo, ünvan/subtitle, content alanı, ayak logo + org name) mutlak URL'leri kullanarak, böylece e-posta müşterileri görüntüleri getirebiliyor - Dış çerçeve ayarları (logo seçenekleri, unvanı, alt unvanı) kurtarılır bodyBlocks.outerFrame ve şablon yük üzerinde restore - handle Save now uses serializeFullEmailHtml so sent email match the email match the oluşturucu önizleme
· 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
Gerekli - her doğrulama / başarısız denemeden önce doğrulama sayfasında
her eylemden sonra sıfırlanır (başarı veya başarısızlık) böylece taze çözülmesi her bir sonraki girişim için gereklidir.
· kamo-register
Rename /resend-verification page to /verification page
· kamo-register
Add /resend-verification page for login yönlendirmes
Kabul eden bir standalone /resend-verification rotasını oluşturun?email ve ?userId query params, reusing PostCompletionScreen for a consistent e-posta doğrulama UX. Makes RegisterResponse.alias is so the Sayfa mevcut bir kayıt olmadan çalışır.
· kamo-register
Yeniden tasarım e-posta doğrulama ekranı + yenidensend e-posta bug
- PostCompletionScreen: animasyon ya dag geçmişi ile tam sayfa düzeni, cammorphism kartı, logo, görsel 6 dijital kod kutuları, başarı / belirtilmiş devletler - ResendVerification: İstek gövdesinde e-posta geçmek (sonlama bunu gerektirir)
· kamo-register
Match kamo-internal avatar depolama - 3 boyut, MinIO, ayrı yükleme adım
Crop dialog şimdi üç PNG blobs (50/150/350px) tuvalle aynı şekilde üretiyor Kamo-internal's AvatarManager'a. Kayıt geri döndükten sonra kullanıcıId, blobs POSTed to ************************ (Yeni öngörülemeyen son nokta e-posta ile korunan=false). AvatarUrl artık kayıtta gönderilmez JSON gövdesi. Avatar yükleme başarısızlığı hala tam değildir.
· 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 hatasını zengin doğrulama kartı ile değiştirin
Giriş EMAIL NOT VERIFIED ile başarısız olduğunda, giriş kartı şimdi değiştirildi Kreed "Rebox" ekranını kontrol edin: animasyon zarf SVG açmak ve yüzen kıvılcımlar, maskeli e-posta ekranı, 30 saniyelik bir e-posta düğmesi ile yeniden SVG countdown ring, success/error/rate-limit geri bildirim uyarıları ve "Back to to " linke işaret edin. Tüm geçişler, ölçek+fade ile animasyon kullanır. - app/api/login/route.ts: tüm geri dönüş hata alanları (sadece mesaj değil) bu yüzden UserId müşteriye ulaştı - ************ new proxy to SecurityService **************** - Uygulama / sayfa.tsx: EmailVerify Kart bileşeni, e-postaVerifyState / resendLoading / ResendCooldown / resendStatus state, resendVerification callback, 30-ikinci cooldown useEffect, EMAIL NOT VERIFIED detect in performLogin
· kamo-register
AVIF ve SVG formatlarını desteklemek için fotoğraf yüklemesini uzatın
Görüntü/avif ve görüntü/ the+xml'i dosya girişi kabul listesine ekleyin ve Geçerlilik regex. Tüm altı formatları listelemek için ipucu etiketini günceller. kamo-internal zaten resmi/* kabul ediyor, bu yüzden orada gerekli değişiklikler yoktu.
· kamo-register
Adım yükleme adımını kaydetmek için tepki-kop fotoğraf editörü ekleyin
Camo-internal'in AvatarManager'dan Fotoğraflar: - Crop dialog hemen dosya seçiminden sonra açılır - sürüklenen pan, kaydırma veya kaydırıcı ile zoom (1-5×) - dashed dairesel overlay rehberi, eklenmiş alanı gösterir - tuval, baz64 avatarUrl olarak depolanan 400×400 PNG üretir - önizlemedeki re-krop düğmesi, kullanıcı tasarrufundan sonra ayarlamasını sağlar
· kamo-register
Add /api/geoip rotası ve tel ülke oto-deteksiyon
Proxies client IP to SecurityService GeoLite2 lookup, sonra ayarlar Form MyCountry'de otomatik olarak sayfa yüklerinde bulundu.
· 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
Bit adımda kamo-capcha-widget ile değiştirin
· kamo-register
Add /api/capcha/challenge proxy rotası
· kamo-register
Flipo-capcha-widget satıcısı ekleyin, h *** paketlerini çıkarın
· kamo-register
SP6 kayıt sihirbaz refaksiyonu - bölünmüş KişiselInfo, gerçek kayıt API'sini ekleyin
FormName (isim alanları) ve FormAvatar (Avatar Yaratıcı jeneratörü 13+ için /ski /skip modları) ile - Delete FormRecoveryEnforcement (kahkahadan kaldırıldı) - Refaksiyon FormPassportID to dual-field düzeni: alias her zaman gösterilen, e-posta sadece 13+ için; pencere global değiştirmeleri KayıtApi.ts with typed **************************** - PostaCompletionScreen e-posta doğrulama kodu girişi ve SED IN yönlendirme - Repha RegisterFlow: IncludeAgeCheck'e dayanan dinamik adım listesi ve Kullanıcı13Plus, gerçek API çağrısı ile htmlSubmit stub yerine, PostCompletionScreen'i başarı ile değiştirin
· 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
E-Verification Ekle Hediye varlık + repo + Kullanıcı.alias/email protected + KullanıcıRepo sorguları; bump 1.4.0 (SP4)
· InitializerService
Add SP4 email_verification_tokens DDL + User alias/email_verified columns
· kamo-marketing
Karter yasal metin için marka ilanını ekleyin
· kamo-internal
Telefon + güvenlik soruları için hesap ayarlarını ekleyin (SP3)
Adds **************** with API Kablo to Adds Güvenlik Hizmeti /api/account/*. Sens nav tüm 3 yerde.
· kamo-login
Wire gerçek API aramaları / keşif sayfası (SP3)
KurtarmaApi çağrılarıyla tüm sahteSubmit() stubları değiştirir. SMS OTP Doğru aşama, tohum e-posta girişi, yeni-password adım ve inken ?token= URL param.
· kamo-login
Add /api/recover proxy + recoveryApi müşterisi (SP3)

Evreniniz sizi bekliyor.
Birkaç dakika içinde ücretsiz olarak başlatın. Hazır olduğunuzda ürünleri ekleyin - göç yok, yeni girişler yok.
Sonsuza kadar ücretsiz — kredi kartı gerekmiyor