Değişiklik Günlüğü
Yeni ne var?
Gemideki her iyileştirme.
· 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
Register fileHash field to Avatar entity for safe file storage
- SHA-256'yi depolamak için dosyaHash sütununu ekleyin. - Hash, enumerasyon saldırıları önlemek için MinIO dosya adı için kullanılır - Biçim: {hashash{fileExction} yerine {id of{fileExction}
· kamo-internal
Rebuild avatar UI - modern, interaktif, pared. Backend URL'leri doğrudan döndürür
· SecurityService
Rebuild avatar system - backend generates presigned URLs directly like backgrounds
· kamo-internal
MinIO bilgilerini k8'lere ekleyin
· kamo-internal
Next.js'teki URL'leri tema domaini ile MinIO SDK kullanıyor
· kamo-shared-library
Add getPresignedUrlWithBitpoint method for custom endpoint presigned URLs
· kamo-internal
Avatar Creator Avatar oluşturma, arka plan yönetimi yeniden sipariş ve tam avatar / kütüphane desteği ile
· SecurityService
Add avatar and background management endpoints
· kamo-shared-library
AvatarPhoto ve AvatarAvatar Yaratıcı sınıfları ekle, yeniden faktör Avatar mirası yapısı
· 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 ve KullanıcıBackground repositorları ekleyin ve URL desteği
- AvatarRepository'u kullanıcı tarafından bulmak için yöntemlerle eklendi - Kullanıcı / üye tarafından arka plan bulmak için yöntemlere eklenen KullanıcıBackgroundRepository with methods to find backgrounds by user/member - Geçici erişim URL'leri oluşturmak için MinIOStorageService'a kaydolun - Presigned URLs varsayılan 7 gün expiry, yapılandırılabilir zaman
· kamo-shared-library
UserPhoto ve UserBackground entities with User/Member İlişkileri
- Kullanıcı ve üye profil fotoğraflarını depolamak için KullanıcıPhoto varlık oluşturmak - Kullanıcı ve üye arka plan görüntülerini depolamak için KullanıcıBackground varlık - Her iki varlık da kullanıcı seviyesinde (member=null) ve üye düzeyinde (member set) dernekleri destekler KullanıcıPhoto, fotoğrafın şu anda aktif olduğuna işaret etmek için Set alanı içeriyor KullanıcıBackground, birden fazla arka plan sipariş etmek için tür Id alanı içerir - Her iki varlık da EmbRecordState'ı geliştirme, güncelleştirmeler ve aktif statüyü takip etmek için ayırt edilebilir bir şekilde kullanır. - Performans optimizasyonu için uygun veritabanı indeksleri eklendi
· kamo-internal
Üye seviyesindeki avatar/ over overrides ile paylaşılan ÜyeHeader bileşeni ekleyin
- Paylaşılan ÜyeHeader bileşeni arka görüntüler ve avatar ekranlarıyla - Avatar ve arka plan için üye düzeyinde üst düzey seçenekler eklendi (belirli kullanıcı vs üyeye özgü) - Paylaşılan ÜyeHeader bileşeni kullanmak için Güncelleme ProfilTab - Paylaşılan ÜyeHeader bileşeni kullanmak için Güncelleme Üyelik İzinleriTab - Header şimdi her iki profili ve üyelik-permissions sekmelerinde görünür - "Use Default User Avatar" ve "Use Default User background" için ayak sesleri eklendi. - Varsayılan tema arka planını kullanmadığında özel arka plan imajı URL'yi destekler
· kamo-marketing
Mobil cihazlar için Manyetikcoder'e dokunma desteği ekleyin
· kamo-internal
Kontrol etmeden tüm kayıtları göstermek için network'ü otomatikleştirmek için
- Set domLayout to autoHeight so grid tüm satırlara uymayı genişletiyor - Overflow: grid konteyner kutularından gizli - Yükseklüğü çıkarın: grid sarmalı kutudan% 100 kısıtlama - Grid şimdi tüm kayıtları dikey kaydırmabar olmadan güncel sayfada gösterir
· kamo-internal
Adres sütunu Devlet ve Sokak sütunları ile değiştirin
- Adres sütunu ve AdresRenderer - İletişimden sonra Devlet sütunu ekleyin (düşük/devlet kodu) - Devletten sonra Sokak sütunu ekleyin (göpek, şehir formatı) -Use addressFilterValue with stateFilterValue and streetFilterValue - Tüm ABD eyaletleriyle devlet damlat filtre ekleyin - Add Street text filtre alanı - Devlet ve Sokak sütunları için Güncelleme filtreleme mantığı - resetFilters'ten adres filtreleme
· kamo-internal
Belirtilen değerler için Güncelleme sütun genişliği
- Change Lead ID columnBill from 300px to 245px İletişim sütunu flex kalır: Kalan genişlikte 1 almak - Durum sütunu 200px'den 65px'a kadar uzanır - 200px'den 120px'ye kadar Sub Status column genişlik - Ajan sütunu 150px'den 120px'e kadar genişletin - sütunları eşleştirmek için ilgili filtre alanı konteyner genişliklerini güncelleştirme - İhtiyacınız olan açık minWidth ve maxWidth kısıtlamaları ekleyin
· kamo-internal
Güncelleme alayı, kimlikleri rastgele alfanumeric'e yönlendirir ve 170px'e adres sütununu ayarlayın
- Add,RandomLeadId function to create random alfanumeric strings of long 13 - Değişim alayı kimlikleri rastgele alfanumeric (e.g., '34FDK69HWGPPK') Güncelleme adresi sütun genişliği 250px to 170px açık min/max Güncelleme adresi filtre konteyner genişliği 170px
· kamo-internal
Güncelleme tarihi sütun genişliği ve aksiyon düğmelerini değiştirir
- 155px'den 170px'e kadar tarih sütun genişliği (Yenilenmiş ve Assigned) Güncelleme tarihi filtre alanı 170px genişlikle eşleşmek için konteynerler - "Export Seçilmiş", "Share" ve "Delete Seçilmiş" düğmeleri ile değiştirin: - "Reassign Selection ({amount selected})" ile People icon - "Seçilmiş Durumu ({amount selected}) SwapHoriz ikon ile - Materyal-UI'den ithal insanlar ve SwapHoriz ikonları - Düğmeler dinamik olarak etiketli sayı gösterir
· kamo-internal
İnce ışık gri sınırı ikincil sekmelere ekleyin
- SınırBottom ekleyin: '1px sağlam rgba(0, 0, 0, 0.12)' statü sekmelerine göre - /leads /view / sayfada bulunan stili eşleştirin - Aşağıdaki sekmeler ve içerik arasındaki görsel ayrımı oluşturun
· kamo-internal
Geri kalan filtre alanları için gri arka planları ekleyin ve altlara hizalayın
- Filtre sırasını flex-end (düşük çizgisi) için değiştirmek - Kalan tüm filtre alanı konteynerlerine gri arka plan ekleyin (#f8fafc) - Tarihi filtre stili stili ve and ekleyin - Düzenli filtre alanları alt, alt tarih alanının eşleştirme yüksekliği - Tarih alanları yığınlanmış düzenle uzun kalır - Tüm filtre alanları şimdi tutarlı gri arka arka arka tedavi alanları var
· kamo-internal
Stack date filter fields dikey olarak gri arka plan ile
Değişim tarihi filtre alanları yatay ve dikey düzen için (flexDirection: sütun) - gri arka plan ekleyin (#f8fafc) sadece tarih filtre kutularına, tüm filtre sıralarına değil - Tarihi filtre alanları için 220px açık genişlik ayarlayın - Ana filtre sıralı konteynerden gri arka arka arka arka arka plan çıkarın - Daha iyi görsel ayrılık için tarih filtre kutularına sınır ikiz ekleyin
· kamo-internal
UI düzeni geliştirmek ve alay verileri artırmak
- Tarih filtre alanları için daha küçük metin yapın (fontSize: 0.75rem giriş için, etiketler için 0.7rem) Hızlı Arama'yı statü sekmeleri olarak aynı çizgiye taşıyın, doğruya uyumlu - Rekreksiyonu artırmak 50 ila 250 - Uygulama sütununu gridden Çıkar - Tekrar arama çubuğu bölümünü ortadan kaldırmak için temiz ayar
· kamo-internal
Oluşturulan ve Assigned sütunlar için tarih aralığı filtre bileşenleri ekleyin
- Oluşturulan ve Assigned tarihi aralık filtreleri için devlet değişkenlerini ekleyin (başlangıç / son tarihler) - Start Date ve End Date alanları ile tarih aralığı filtre bileşenleri oluşturun - Oluşturun ve Assigned sütunlar için özel filtre sıralarına tarih aralığı filtre bileşenleri ekleyin Güncelleme filtreliRowData mantık tarih aralıkları tarafından filtrelenecek - Boş tarih alanları kısıtlama anlamına gelir (bu son için tüm tarihler) Update resetFilters işlevi açık tarih aralık filtreleri - Date filtreler kısmi aralıkları destekler (sadece başlangıç, sadece son veya her ikisi)
· kamo-internal
İletişim isimlerini tıkılabilir bağlantıları açın ve açmak için çift tıklama ekleyin
Update ContactRenderer ilk ve son adı belirginleştirilmiş bağlantılar olarak göstermek için -CheckLead'da liderlik açan isimlerle iletişim kurmak veya /leads /view /:id -Row Çifte tıklayınlı handler to AgGridReact to open lead when row is double- clicked handler to AgGridReact to open lead when row is double-kup - İletişim isimleri şimdi birincil renkte, alt satır ve hover effect - Bir satırda herhangi bir yere çift tıkla, liderlik açar
· kamo-internal
Sub-status dropdown filtreye ikonları ekleyin ve Anlaşmaları Sent
- Update 'Contracts Signed' to 'Contracts Sent' to match Java enum - Anlaşmalar için değişim ikonunu Assignment'dan gönder - Sub-status dropdown filtre menü öğelerine ikonları ekleyin - Import Send icon from Material-UI - Icons, her sub-status seçeneğine bir sonraki görüntüyü indirdi
· kamo-internal
Her sub-status için ebeveyn durumu renklerle eşsiz simgeler ekleyin
- Her bir sub-status için eşsiz, ilgili simgeler ekleyin (örneğin, Yeni Lider için Kişi Ek, Left Message) - Icons ebeveyn statüsünü koruyor ( Fresh, mavi for Reckoning, Farm için kırmızı, Grim için gri, Void için kırmızı) - Sub-statuses için ek Malzeme-UI ikonları UpdateSubStatusIcon'u her sub-status'u eşsiz ikonuna haritalayacak - Fresh: PersonAdd, Mesaj, Event, Schedule, PlayArrow, Description, ShoppingCart, Payment - Reckoning: Sen, Assignment, Assignment turnedIn, Build, LocalShipping - Çiftçi: LocalFlorist, katDown, PhoneDisabled, Business, AtaMoney, Accessability New, Block Grim: Yazdır, SignalWifiOff, PersonOff, Uyarı, Do NotDisturb, Save FromTrash Void: Bilim, ContentCopy
· kamo-internal
Sub-status sütun eşleştirme ebeveyn durumu renklerini ekleyin
Add getSubStatusIcon helper function to determine icon based on parent Sub-status ikonları aynı ikonları ve renkleri ebeveyn durumu olarak kullanır - Fresh sub-statuses: yeşil YeniReleases ikon - Sub-statuses: mavi Gavel icon - Farm sub-statuses: portakal Tarım ikonları - Grim sub-statuses: kırmızı raven ikon Void sub-statuses: gri Cancel ikon

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