Query tutti gli avatar utente per ottenere entità reale invece di proxy
- Ottenere userId da avatar, quindi query findByUserId (ritorna entità reali) - Trova l'avatar corrispondente dall'elenco e controlla l'istanza - Questo evita p...
Utilizzare Hibernate LazyInitializer per ottenere la classe di entità reale da proxy
- Accesso HibernateProxy's LazyInitializer per ottenere classe persistente - Controlla se la classe persistente è AvatarPhoto o AvatarAvatar Creator - L'inizial...
Suppress avvisi variabili non utilizzati nel rilevamento di tipo avatar
Utilizzare cast diretto per determinare il tipo di avatar invece di riflessione
- Provare colata a AvatarPhoto prima forzare inizializzazione proxy - Accesso getFileExtension() direttamente dopo il cast - Torna indietro a AvatarAvatar Creat...
Migliorare il rilevamento del tipo proxy catturando InvocazioneTargetException
- Maniglia ClassCastException quando si invocano metodi su proxy per determinare il tipo effettivo - Provare getFileExtension prima (foto), quindi ottenereStyle...
Migliorare la gestione del proxy Hibernate per il rilevamento di tipo avatar
- gerarchia di classe di ricerca e interfacce per il metodo getFileExtension - Utilizzare la riflessione per rilevare AvatarPhoto vs AvatarAvatar Creator quando...
Ricaricare avatar dal repository per risolvere istanza proxy Hibernate del problema
- Le entità avatar caricate da relazioni possono essere proxy ibernati che non riescono a controllare - Reload avatar da repository per ottenere il tipo di enti...
Assicurare le iniziali SVG è sempre creato quando l'avatar manca in HexHeadGroup
- Aggiungi errore di gestione fallback per creare iniziali SVG se avatar fetch non riesce - Consolidare le iniziali SVG logica di creazione - Assicurare avatarS...
Aggiorna l'elenco degli avatar dopo aver impostato l'avatar attivo
- Dopo aver impostato avatar come attivo, aggiornare l'elenco completo degli avatar per ottenere aggiornato è - Trovare e impostare l'avatar attivo dall'elenco ...
Determinare l'avatar attivo controllando user.getAvatar() invece di RecordState
- Backend ora correttamente segna quale avatar è attivo confrontando user.getAvatar() - Questo assicura che la bandiera isActive nella risposta API rifletta l'a...
Carica avatar attivo dall'elenco avatar sulla pagina Profilo
- Avatar elenco e trovare quello contrassegnato come attivo - Impostare attivoAvatar dall'oggetto avatar completo nell'elenco (ha tutti i dettagli e URL) - Rimu...
Detect member avatar override on page load even if returned as 'avatar'
- Add logging to see what API returns on initial load - Check if member has avatarId/memberAvatarId set to detect member override - If avatar ID matches memberA...
Ensure avatarId is always sent when activeAvatar exists
- Use corrected useDefaultUserAvatar value directly in save logic - If activeAvatar exists, always send avatarId (member override) regardless of flag - Improved...
Preserve avatar URL when saving and add defensive check
- Preserve profilePicture from activeAvatar when updating profileData after save - Add warning if activeAvatar exists but useDefaultUserAvatar is incorrectly tr...
Preserve avatar state after save to prevent revert
- Fixed save logic to properly send avatarId when avatar is selected - Preserve current activeAvatar and useDefaultUserAvatar state before refresh - If refresh ...
Update avatar state after saving profile to prevent revert
- After saving profile, refresh and update activeAvatar state from API response - Update useDefaultUserAvatar flag to match saved state - Ensures avatar remains...
Prevent avatar from switching to empty avatar when selecting
- Immediately set selected avatar in UI for instant feedback - Only update with refreshed data if it has a URL and is the same avatar - Prevents overwriting sel...
Keep avatar manager dialog open and fix profile avatar display
- Removed handleClose() calls when selecting, creating, or uploading avatars - Dialog now stays open so users can continue selecting/managing avatars - After cr...
Ensure avatar URL is properly preserved and displayed from database
- Changed URL handling to preserve empty strings (use ?? instead of ||) - Updated MemberHeader props to prioritize profileData.profilePicture which contains the...
Ensure avatar is properly set from database on profile tab load
- Fixed URL handling to use original API response URL instead of potentially null transformed value - Added synchronization between activeAvatar and userAvatars...
Resolve avatar display and persistence issues in profile tab
- Fix initial avatar display to show correct primary avatar instead of default initials - Fix avatar selection from list to properly update member avatar and pe...
Correctly construct security provider logo URL using domain parsing
Correct Next.js 15 route handler params type and remove .js extension from dynamic imports
Use GitHub actions directly instead of code.forgejo.org to avoid 503 errors
- Changed actions/checkout@v4 to **************** - Changed docker/login-action@v3 to **************** - Changed docker/build-push-action@v5 to ****************...
Fetch security provider organization directly by ID instead of from networks array
- Created new API route /api/security/org/[id] to proxy SecurityService organization by ID endpoint - Updated SettingsView to fetch security provider org direct...
Utilizzare lo stesso modello URL per il logo del fornitore di sicurezza come logo org corrente
- Sostituire la prima cartella nel percorso URL del logo org corrente con dominio del fornitore di sicurezza - Sostituisci punti con trattini nel dominio del fo...
Semplifica la generazione del logo URL per abbinare i modelli di pagina ThemeLogo e di rete
- Per org corrente (Membership & Permissions): Usa getThemePath() direttamente come ThemeLogo fa - Per il fornitore di sicurezza (Profilo): Utilizzare getThemeP...
Migliorare la visualizzazione del logo nelle schede - utilizzare l'icona prop con Box wrapper e aggiungere la logica fallback
- Tornato all'utilizzo dell'icona Tab prop con Box wrapper per una migliore compatibilità MUI - Aggiunto fallback per usare domini[0] se il campo di dominio non...
Fissare la visualizzazione del logo nelle etichette della scheda - utilizzare img tag in etichetta invece di icon prop
- Modificato dall'utilizzo dell'icona Tab prop per incorporare il logo direttamente in etichetta utilizzando Box con img tag - Aggiunto logging console per debu...
Increase kubectl rollout timeout from 300s to 900s
- Increased kubectl rollout status timeout to 900 seconds (15 minutes) for both k1m1 and k2m1 deployments - This matches the increased progressDeadlineSeconds o...
Increase deployment progressDeadlineSeconds from 60s to 600s
- Increased progressDeadlineSeconds to 600 seconds (10 minutes) to allow Next.js app sufficient time to build and start - Previous 60 second timeout was too sho...
Handle ISO date format and improve avatarId type parsing
- Added support for ISO date format (YYYY-MM-DD) in addition to M/d/yyyy - Improved avatarId parsing to handle Number types (Double, BigDecimal, etc.) from JSON...
Add better error handling and logging for user/member save operations
- Added try-catch around user save operation with detailed error logging - Added try-catch around member save operation with detailed error logging - Improved d...
Improve avatarId parsing to handle string, integer, and long types
- Added support for parsing avatarId from String type - Better error handling for invalid avatarId formats - Added logging for avatar assignment and errors
Improve error handling and logging for member profile updates
- Added detailed logging to API route for PUT requests - Improved error response handling to include actual error messages - Fixed avatarId type conversion (str...
Add detailed logging to updateMemberProfile for debugging
- Added logging at start of updateMemberProfile method - Added logging before and after saving user and member - Improved error response to include error detail...
Improve error handling and refresh profile data after save
- Added detailed error messages when profile save fails - Profile data is now refreshed from server after successful save - Better error logging for debugging
Add support for updating user name fields and dateOfBirth in member profile
- Added UserRepository to MemberController - Updated updateMemberProfile to handle namePrefix, nameFirst, nameMiddle, nameLast, nameSuffix, nameFirstAKA, nameLa...
Remove URL input for backgrounds, improve upload error handling, fix avatar persistence
- Removed URL input field for backgrounds - only uploads via popup are allowed - Improved error handling for background uploads with detailed error messages - F...
Resolve lint errors in ProfileTab and MemberHeader
- Added Button import to MemberHeader - Fixed newAvatar scope issue in handleUploadPhoto and handleCreateAvatar Creator - Stored avatarIdToRefresh in outer scop...
Refresh profile data after setting avatar and ensure proper activation
- handleSelectAvatar now sets avatar as active via API and refreshes profile data - handleUploadPhoto and handleCreateAvatar Creator now update member and refre...
Convert null to undefined for avatarSrc type compatibility
- fetchMemberAvatar returns string | null but avatarSrc expects string | undefined - Use nullish coalescing operator to convert null to undefined
Add .js extension to dynamic imports for node16 module resolution
- TypeScript with node16 moduleResolution requires explicit file extensions - Changed relative imports to include .js extension
Use relative paths for dynamic imports of avatarUtils
- Changed dynamic imports from @/app/lib/avatarUtils to relative paths - Fixes TypeScript module resolution error during build
Fix async/await syntax error in HexHeadGroup useEffect
- Wrapped Promise.all in async function to fix build error - useEffect callbacks cannot be async directly
Update avatarUtils to use URLs directly from member profile
- Backend now includes avatar URLs in member profile response - Removed unnecessary second API call to /api/security/avatars/{id} - More efficient and works cor...
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...
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.