Add ThemeBackgroundController with hash-based storage and public bucket support
Tambahkan Entitas Latar Belakang Tema dan repositori dengan Hubungan Pengguna / Anggota
Implement ThemeBackground system: entity, repository, controller, and enhanced BackgroundManager with slideshow support
Fix lint error: change let to const for filtered variable and remove unused imports
Enhance Select Avatar tab: add search, sort by newest, date/time display, edit avatars, and photo cropping with draggable mask
Fix Grid layout: replace Grid container/item with Box using CSS Grid to match FormPersonalInfo.tsx exact layout
Fix TypeScript errors: add eslint-disable for EyeDropper any type, remove unused imports
Replace CREATE AVATAR tab with exact layout from FormPersonalInfo.tsx - matching kamo-register avatar creator interface
Fix Swiper CSS imports: move to top-level side-effect imports instead of dynamic imports
Perbaiki Impor Swiper: gunakan impor dinamis untuk mengatasi masalah modul CommonJS / ESM
Fix TypeScript error: replace 'any' with 'unknown' in error handling
Perbaiki penggunaan API Grid komponen untuk mencocokkan API Grid MUI v7
Cocok dengan tata letak menu AVATAR tepat ke rancangan kamo- register
Update Create Avatar layout to match kamo-register design
- Reorganize Create Avatar tab with top row for quick settings (Style, Seed) - Split bottom row into two columns: Preview (left) and Advanced Settings (right) -...
Switch back to MuiAvatar components for avatar display
- Replace img tags with MuiAvatar components - Maintains all existing functionality (error handling, loading callbacks) - Cleaner code using Material-UI compone...
Use correct bucket and object path structure for MinIO uploads
- Change bucket name from domain-based to 'public' bucket - Include domain path (e.g., kamocrm-com) as part of object name, not bucket name - Fix object path st...
Properly handle MinIO upload failures for avatars
- Remove silent exception swallowing in Avatar Creator avatar creation - Add proper error handling and rollback for failed uploads - Delete database record if f...
Remove ID-based fallback code, use only hash-based naming
- Remove all try-catch fallback logic for missing fileHash column - Remove ID-based file naming fallbacks - Code now exclusively uses hash-based file storage - ...
Handle missing fileHash column gracefully
- Add try-catch around fileHash access to handle missing database column - Fall back to ID-based file naming if fileHash column doesn't exist yet - Allows code ...
Gantikan MuiAvatar dengan tag img untuk menampilkan gambar avatar dengan benar
- Gunakan tag img asli daripada komponen MuiAvatar untuk rendering gambar yang lebih baik - Bungkus dalam kotak kontainer dengan gaya yang tepat untuk tampilan ...
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}.{fileEx...
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: {has...
Generasi URL Avatar dan masalah tampilan
- Tambahkan penerusan header X- Forwarded- Host dalam proksi API sehingga backend dapat menghasilkan URL domain tema yang benar - Tambahkan logging komprehensif...
Meningkatkan manajemen avatar UI dan fungsionalitas
- Perbaiki tampilan avatar dalam popup Avatar terpilih untuk menampilkan gambar bagi semua avatar (hasilkan SVG client-side ketika URL hilang) - Perbaiki Fungsi...
Hapus panggilan transformis - tampilkan gambar langsung dari URL backend
Mutakhirkan avatar UrlTransform untuk mengembalikan tidak terdefinisi daripada null
Add logging and ensure public bucket URL format matches working pattern
Tukar avatar ke ember publik - tidak perlu auth, URL tema langsung
Gunakan tipe Promise untuk params dalam Next.js 15 route handler
Perbarui Next.js 15 penangan rute params penanganan untuk proksi penyimpanan avatar
Terapkan transformasi URL ke URL avatar di MemberHeader dan ProfileTab
Tambahkan proksi rute dan transformasi URL untuk gambar avatar untuk memperbaiki kesalahan isi campuran
Revert to getPresignedUrl like backgrounds - getPresignedUrlWithEndpoint was breaking uploads
Add retry logic for Maven dependency downloads to handle transient Central failures
Hapus semua komponen kisi dan gunakan Kotak dengan Grid CSS sebagai gantinya
Ganti Grid dengan Kotak dan CSS Grid untuk kompatibilitas yang lebih baik
Konsolidasi tipe avatar kedalam berkas bersama untuk konsistensi
Hapus rute proksi penyimpanan yang tidak digunakan - menggunakan URL yang telah ditandatangani secara langsung
Seperti apa yang Anda lihat pengiriman?
Semua itu tiba di ruang kerjamu sendiri. Mulailah dengan rencana gratis dan baca halaman ini lagi dalam sebulan.
