Changelog
Ada kabar baru.
Setiap perbaikan pada platform, sebagai kapal.
· 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
Tambahkan fileHash ke entitas Avatar untuk penyimpanan file yang aman
- Tambahkan kolom fileHash ke penyimpanan SHA- 256 hash dari avatar ID - Hash digunakan untuk nama berkas MinIO untuk mencegah serangan enumerasi - Format: {hash}. {fileEkstensi} daripada {id}. {FileEkstensi}
· kamo-internal
Membangun kembali avatar UI - modern, interaktif, dipoles. URL pengembalian latar langsung
· SecurityService
Rebuild avatar system - backend generates presigned URLs directly like backgrounds
· kamo-internal
Tambahkan kredensial MinIO ke konfigurasi k8s
· kamo-internal
Hasilkan presigned URL dalam Next.js menggunakan MinIO SDK dengan domain tema
· kamo-shared-library
Tambahkan metoda getPresignedUrlWithEndpoint untuk URL titik akhir gubahan presigned
· kamo-internal
Tambahkan penciptaan Avatar Maker avatar, manajemen latar belakang dengan memesan kembali, dan dukungan pustaka penuh avatar / latar belakang
· SecurityService
Add avatar and background management endpoints
· kamo-shared-library
Tambahkan kelas Pembuat Avatar dan Photo, ubah struktur warisan Avatar
· 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
Tambahkan repositori Avatar dan Userbackground dan dukungan URL yang telah ada sebelumnya
- Ditambahkan dengan metode untuk menemukan avatar oleh pengguna - Ditambahkan UserBackGroundRepositori dengan metode untuk menemukan latar belakang oleh pengguna / anggota - Ditambahkan getPresignedUrl metode ke MinIOStorageService untuk menghasilkan URL akses sementara - URL bawaan presigned ke 7 hari kadaluarsa, konfigurasi waktu kadaluarsa
· kamo-shared-library
Tambahkan entitas UserPhoto dan Userbackground dengan hubungan Pengguna / Anggota
- Dibuat Entitas UserPhoto untuk menyimpan pengguna dan foto profil anggota - Membuat Entitas Userbackground untuk menyimpan pengguna dan gambar latar belakang anggota - Kedua entitas mendukung tingkat pengguna (anggota = null) dan asosiasi anggota (anggota set) - UserPhoto termasuk daerah isSet yang mengindikasikan foto yang saat ini aktif - Userbackground meliputi bidang sortId untuk memesan beberapa latar belakang - Kedua entitas menggunakan EmbRecordState yang dapat dikorupsi untuk pelacakan penciptaan, pembaruan, dan status aktif - Ditambah indeks basis data yang sesuai untuk optimisasi kinerja
· kamo-internal
Tambahkan komponen MemberHeader bersama dengan overrides member- level avatar / latar belakang
- Dibuat Komponen MemberHeader terbagi dengan gambar latar belakang dan tampilan avatar - Menambahkan opsi penimpa level anggota untuk avatar dan latar belakang (gunakan pengguna baku vs member- spesifik) - Update ProfileTab untuk menggunakan komponen MemberHeader bersama - Dimutakhirkan PermisionasTab untuk menggunakan komponen Anggota Terbagi - Header sekarang muncul pada kedua profil dan tab izin keanggotaan - Ditambahkan tombol toggle untuk "Gunakan Avatar Pengguna Baku" dan "Gunakan Latar Pengguna Baku" - Mendukung URL gambar latar belakang gubahan ketika tidak menggunakan latar belakang tema baku
· kamo-marketing
Tambahkan dukungan sentuh ke magneticcoder untuk perangkat seluler
· kamo-internal
Ubah kisi ke tata letak autoHeight untuk menampilkan semua catatan tanpa scrollbar
- Set domLayout ke autoHeight sehingga kisi mengembang agar muat semua baris - Hapus overflow: tersembunyi dari kotak kontainer kisi - Hapus tinggi: batasan 100% dari kotak pembungkus kisi - Grid kini menampilkan semua catatan pada halaman kini tanpa scrollbar vertikal
· kamo-internal
Ganti Kolom Alamat dengan Kolom State and Street
- Hapus Kolom Alamat dan Perender Alamat - Tambah kolom keadaan setelah kontak (tampilkan kode subdivisi / state) - Tambah kolom Street setelah Kondisi (menampilkan format 'street, city') - Ganti nilai addressFilterValue dengan stateFilterValue dan streetFilterValue - Tambahkan penyaring dropdown Negara dengan seluruh negara bagian AS - Tambah ruas penyaring teks Street - Mutakhirkan logika penyaringan untuk kolom State and Street - Hapus penyaringan alamat dari resetFilter
· kamo-internal
Mutakhirkan widget kolom ke nilai yang ditentukan
- Ubah lebar kolom ID timbal dari 300px ke 245px - Kolom kontak tetap lentur: 1 untuk mengambil lebar tersisa - Ubah lebar kolom Status dari 200px ke 65px - Ubah lebar kolom Sub Status dari 200px ke 120px - Ubah lebar kolom Agen dari 150px ke 120px - Mutakhirkan widget ruas wadah filter yang berhubungan untuk mencocokkan kolom - Tambahkan eksplisit dangkal dan batasan maxLebar dimana dibutuhkan
· kamo-internal
Mutakhirkan ID pemicu ke alfanumerik acak dan atur kolom alamat ke 170px
- Tambahkan fungsi generate RandomLeadId untuk membuat string alfanumerik acak panjang 13 - Ubah ID lead mock dari nomor sekuensial ke alfanumerik acak (misalnya, '34FDK6HWGPK') - Perbarui lebar kolom alamat dari 250px ke 170px dengan eksplisit min / max - Update lebar filter wadah alamat untuk mencocokkan 170px
· kamo-internal
Mutakhirkan widget kolom tanggal dan ganti tombol aksi
- Ubah widget kolom tanggal dari 155px ke 170px (Dibuat dan Ditandatangani) - Update filter field container untuk mencocokkan lebar 170px - Ganti 'Ekspor Yang Dipilih', 'Share', dan 'Hapus' tombol dengan: - 'Reassign Dipilih ({number dipilih})' dengan ikon People - 'Ubah Status Yang Dipilih ({jumlah yang dipilih})' dengan ikon SwapHoriz - Impor Orang dan ikon SwapHoriz dari Material-UI - Tombol dinamis menampilkan jumlah terpilih dalam label
· kamo-internal
Tambahkan batas cahaya tipis ke tab sekunder
- Tambahkan borderBottom: '1px solid rgba (0, 0, 0, 0.12)' ke status tab kontainer - Cocok dengan styling yang ditemukan pada / leads / view / page - Membuat pemisahan visual antara tab dan isi di bawah
· kamo-internal
Tambahkan latar belakang abu-abu ke ruas penyaring yang tersisa dan align ke bawah
- Ubah penyelarasan baris filter dari pusat ke flex-end (alignmen bawah) - Tambahkan latar belakang abu-abu (# f8fc) ke semua wadah filter yang tersisa - Tambahkan radius batas dan padding untuk mencocokkan gaya filter tanggal - Ruas penyaring reguler align ke bawah, cocok tinggi dari daerah tanggal bawah - Bidang tanggal tetap lebih tinggi dengan tata letak ditumpuk - Semua bidang filter sekarang memiliki perawatan abu-abu konsisten
· kamo-internal
Ruas penyaring tanggal stack vertikal dengan latar belakang abu-abu yang terisolasi
- Ubah field filter tanggal dari horizontal ke tata letak vertikal (flexDirection: kolom) - Tambahkan latar belakang abu-abu (# f8fc) hanya untuk kotak penyaring tanggal, tidak seluruh baris filter - Set lebar eksplisit dari 220px untuk field filter tanggal - Hapus latar belakang abu-abu dari wadah penyaring utama - Tambahkan radius batas ke kotak penyaring tanggal untuk pemisahan visual yang lebih baik
· kamo-internal
Meningkatkan tata letak UI dan meningkatkan data mock
- Membuat teks lebih kecil untuk field filter tanggal (fontSize: 0.75rem untuk masukan, 0.7rem untuk label) - Pindahkan Pencarian Cepat ke baris yang sama seperti tab status, selaras ke kanan - Increase mock lead from 50 to 250 - Hapus Kolom Aksi dari kisi - Bersihkan tata letak dengan menghapus daerah batang pencarian duplikat
· kamo-internal
Tambahkan komponen filter jangkauan tanggal untuk kolom dibuat dan ditugasi
- Tambahkan variabel keadaan untuk dibuat dan diberikan jangkauan tanggal penyaring (tanggal awal / akhir) - Buat komponen filter jangkauan date dengan ruas Tanggal Awal dan Akhir - Tambahkan komponen filter jangkauan tanggal ke baris penyaring gubahan untuk kolom Dibuat dan Ditandatangani - Update file RowData logik untuk menyaring berdasarkan rentang tanggal - Bidang tanggal kosong berarti tidak ada batasan (semua tanggal untuk akhir tersebut) - Mutakhirkan fungsi resetFilter untuk menghapus penyaring jangkauan tanggal - Filter tanggal mendukung jangkauan parsial (hanya dimulai, hanya akhir, atau keduanya)
· kamo-internal
Membuat nama kontak dapat diklik link dan tambahkan double- klik untuk membuka lead
- Perbarui Pengubah Kontak untuk menampilkan nama pertama dan terakhir sebagai link dapat diklik garis bawah - Tambahkan penanganan onClick ke nama kontak yang membuka memimpin via onViewLead atau navigation ke / lead / view /: id - Tambahkan satu RowDoubleClicked handler ke AgGridReact untuk membuka memimpin ketika baris ganda-klik - Nama kontak sekarang memiliki warna primer, garis bawah, dan efek hover - Dua kali klik di mana saja pada baris membuka memimpin
· kamo-internal
Tambahkan ikon ke filter dropdown status sub- dan update Kontrak Dikirim
- Update 'Kontrak Ditandatangani' ke 'Kontrak Dikirim' untuk mencocokkan enum Java - Ubah ikon untuk Kontrak Dikirim dari Penugasan ke Kirim ikon - Tambahkan ikon ke menu menu substatus dropdown - Impor Ikon Kirim dari Material- UI - Ikon menampilkan sebelah setiap pilihan sub-status dalam filter dropdown
· kamo-internal
Tambahkan ikon unik untuk setiap sub- status dengan warna status induk
- Tambahkan unik, ikon relevan untuk setiap sub- status (mis., Personad Tambahkan untuk Lead Baru, Pesan untuk Pesan Kiri) - Ikon mempertahankan warna status induk (hijau untuk Segar, biru untuk Reckoning, oranye untuk Pertanian, merah untuk Grim, abu-abu untuk Void) - Impor ikon Material-UI tambahan untuk status sub- - Update getSubStatusIcon untuk memetakan setiap sub- status ke ikon unik - Fresh: Personel Add, Message, Event, Schedule, PlayArrow, Description, ShoplingCart, Pembayaran - Rekening: Sync, Penugasan, Penugasan TurnedIn, Build, LocalShipping - Farm: LocalFlorist, ThumbDown, PhoneDisnabled, Business, AttachMoney, AkselityNew, Blok - Grim: Cetak, SignalWifiOff, PersonOff, Peringatan, DoNotDisturb, RestoreFromTrash - Science, ContentCopy
· kamo-internal
Tambahkan ikon ke kolom sub-status yang cocok dengan warna status induk
- Tambahkan fungsi pembantu getSubStatusIcon untuk menentukan ikon berdasarkan status induk - Ikon Substatus menggunakan ikon dan warna yang sama sebagai status induk mereka - Sub- Status Baru: ikon NewRelations hijau - Rekening sub- status: ikon Gavel biru - Farm sub- status: ikon Pertanian oranye - Grim sub- status: ikon gagak merah - Void sub- status: abu-abu Batal ikon

Alam semestamu menunggu.
Mulai gratis dalam beberapa menit. Tambahkan produk kapanpun Anda siap — tidak ada migrasi, tidak ada login baru.
Gratis selamanya — tidak diperlukan kartu kredit