Add ThemeBackgroundController with hash-based storage and public bucket support
Adaugă entitate de fundal și depozit tematic cu relații utilizator/membru
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
Fixează duplicatul React import care cauzează eroare de construcție
Fix Swiper import: utilizați import dinamic pentru a rezolva problema comună a modulului JS/ESM
Fix TypeScript error: replace 'any' with 'unknown' in error handling
Fix Grid component API utilizare pentru a se potrivi MUI v7 Grid API
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 ...
Înlocuiește MuiAvatar cu img tag pentru a afișa corect imagini avatar
- Foloseste eticheta img nativ în loc de componenta MuiAvatar pentru o mai bună redare a imaginii - Înveliți img în container cutie cu stil adecvat pentru afișa...
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...
Adaugă câmp Hash fișier la entitatea Avatar pentru stocarea securizată a fișierelor
- Adăugaţi coloana de fişierHash pentru a stoca SHA-256 hash de ID avatar - Hash este folosit pentru numele de fișier MinIO pentru a preveni atacurile de enumer...
Generare URL Avatar și probleme de afișare
- Adăugați X-Forwarded-Host antet de transfer în proxy API astfel încât backend poate genera URL-uri tematice corecte - Adaugati logare comprehensiva pentru upl...
Îmbunătăţirea managementului avatarului UI şi funcţionalitatea
- Fixaţi avatarul în Select Avatar popup pentru a arăta imagini pentru toate avatarele (generate SVG client-side atunci când URL lipsă) - Fix Upload Funcţionali...
Elimină apelurile de transformareAvatarUrl - afișează imagini direct de pe URL-urile suportului
Actualizează avatarUrlTransform pentru a reveni nedefinit în loc de nul
Add logging and ensure public bucket URL format matches working pattern
Comută avatare la găleată publică - nu este nevoie de aut, direct URL-uri temă
Utilizați tipul de promisiune pentru params în Next.js 15 handler traseu
Actualizare Next.js 15 handler de manipulare params pentru proxy de stocare avatar
Aplicați transformarea URL pe URL-urile avatarului în MemberHeader și ProfileTab
Adaugă ruta proxy și transformarea URL pentru imagini avatar pentru a remedia erorile de conținut mixte
Revert to getPresignedUrl like backgrounds - getPresignedUrlWithEndpoint was breaking uploads
Add retry logic for Maven dependency downloads to handle transient Central failures
Eliminați toate componentele Grilei și utilizați Box cu CSS Grid în schimb
Înlocuiește grila cu Box și CSS Grid pentru o mai bună compatibilitate
Actualizare ghidatoare de rute pentru Next.js 15 - params sunt acum async
Consolidarea tipurilor de avatar în fișiere partajate pentru coerență
Eliminați ruta proxy de stocare neutilizată - folosind URL-uri presemnate direct
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
