Add verification logging to confirm Redis session is deleted during logout
Fix logout: call SecurityService logout endpoint to fully invalidate session
- Call SecurityService /api/security/logout to properly invalidate session on Java backend - This ensures session is deleted, CSRF tokens are removed, and sessi...
Replace PersonIcon with user avatar in NavTop My Account link
- Fetch member avatar using fetchMemberAvatar utility - Display Avatar component with user's image or initials fallback - Matches design pattern used in other c...
Fix TypeScript errors: Replace 'any' types with proper interface in MemberListProvider
Adaugă logare la MemberListProvider pentru a depana problemele de afișare URL a avatarului în lista de membri
Asigurați-vă că inițialele SVG este întotdeauna creat atunci când avatarul lipsește în HexHeadGroup
- Adăugaţi eroare de manipulare toamna pentru a crea iniţiale SVG în cazul în care Avatar aduce eşuează - Consolidarea inițialelor SVG creație logică - Asiguraț...
Adăugați logare detaliată la avatarUtils pentru depanarea problemelor de afișare a avatarului
Reîmprospătează lista avatarelor după setarea avatarului ca activ
- După setarea avatar ca activ, reîmprospătați lista completă avatare pentru a obține actualizat esteActive steaguri - Găsiți și setați avatarul activ din lista...
Fix TipScript eroare - adăugați adnotare explicită de tip pentru a găsi apelback
Încarcă avatar activ din lista avatarelor pe pagina de profil
- Adu lista avatarelor si gaseste-l pe cel marcat ca activ - Set activAvatar din obiect Avatar complet în listă (are toate detaliile și URL) - Eliminați creația...
Fix avatar not displaying on Profile page after refresh
- Ensure avatar URL from member profile is preserved when setting activeAvatar - Update profileData with avatar URL when avatar is loaded - Preserve URL in sync...
Add detailed logging for avatar selection debugging
- Log full avatar object when handleSelectAvatar is called - Add validation for avatar.id before processing - Log API URL being called - Better error messages f...
Fix TypeScript type error - handle null body in apiProxy
- Convert null to undefined for BodyInit type compatibility - Fixes: Type 'null' is not assignable to type 'BodyInit | undefined'
Fix PUT request body handling for set-active endpoint
- Explicitly set body to undefined for PUT requests without body - Improve body handling in apiProxy to gracefully handle empty requests - Prevents body consump...
Improve error handling for set-active avatar endpoint
- Forward actual backend error messages instead of generic message - Better error parsing in frontend (handle both JSON and text responses) - Enhanced logging t...
Use static imports instead of dynamic imports for avatarUtils
- Replace dynamic imports with static imports at top of file - Avoids module resolution issues with TypeScript moduleResolution node16 - Functions are always ne...
Revert to relative paths for dynamic imports - Next.js may not resolve path aliases in dynamic imports at build time
Fix path alias - use @/lib/avatarUtils instead of @/app/lib/avatarUtils
- @/ maps to project root, so @/lib/avatarUtils is correct path - @/app/lib/avatarUtils was incorrect (would look for app/app/lib/avatarUtils)
Fix dynamic imports - use path alias @/app/lib/avatarUtils for Next.js webpack resolution
- Schimbarea căi relative pe calea alias @/app/lib/avatarUtils - Next.js webpack nu poate rezolva .js extensii pentru fișiere .ts în importuri dinamice - aliasu...
Fix TipScript Importuri dinamice ESM - adăugați extensia .js necesară pentru rezoluția modulului nod16/nodenext
- TipScript cu modulNodul de rezoluție16/nodenext necesită extensii explicite .js în importuri dinamice - TipScript va rezolva .js importuri la .ts fișiere în t...
Fix TypeScript module resolution - remove .js extension from dynamic imports
- Change dynamic imports from avatarUtils.js to avatarUtils (no extension) - Fixes build error: Module not found: Can't resolve '../../lib/avatarUtils.js' - Typ...
Fix avatar display with override mechanism support
- ProfileTab: Always show USER avatar (no override mechanism) - MembershipPermissionsTab: Always show MEMBER avatar (no override mechanism) - Site-wide displays...
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...
Add detailed logging to track avatar state during save
- Log current state (useDefaultUserAvatar, activeAvatar, avatarIdToSend) before save - Log API response after save (memberAvatar, avatar) - Log refreshed profil...
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
Add .js extension to dynamic imports for node16 moduleResolution
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...
Adaugă logare cuprinzătoare pentru căutarea domeniului furnizorului de securitate
- Retele log si toate ID-urile de organizare - Comparare detaliată a ID-urilor org cu securityOrgId - Extragerea domeniului de jurnal și pașii de construcție UR...
Utilizați același model URL pentru logo-ul furnizorului de securitate ca logo-ul org curent
- Înlocuiți primul dosar în calea URL-ul logo org curentă cu domeniul furnizorului de securitate - inlocuiti puncte cu borduri in domeniul furnizorilor de secur...
Simplifică generarea URL logo-ului pentru a se potrivi cu modelul ThemeLogo și pagina de rețea
- Pentru org-ul curent (Membership & Permissions): Utilizați getThemePath() direct ca ThemeLogo does - Pentru furnizorul de securitate (Profile): Utilizați getT...
Îmbunătățește afișarea logo-ului în tab-uri - folosește icoana cu ambalajul cutiei și adaugă logica de rezervă
- Comutat înapoi la utilizarea tab-icoanei de recuzită cu ambalaj Box pentru o mai bună compatibilitate MUI - Retragere adăugată pentru a utiliza domenii[0] dac...
Fix logo-ul ecran în etichete - utilizați img tag-ul în loc de icon prop
- Schimbat de la utilizarea Tab icon prop la incorporarea logo-ul direct în etichetă folosind Box cu img tag - Adăugat consola de logare pentru a depana logo-ul...
Adăugați logo-uri de organizare la profile și file de membru & Permisiuni
- Adu logo-ul organizatiei furnizorilor de securitate si afiseaza langa fila profil - Aduceți logo-ul actual al organizației și afișați lângă fila Membrate & Pe...
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...
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.
