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...
보안 공급자 도메인 조회에 대한 포괄적 인 로깅 추가
- 로그 네트워크 배열 및 모든 조직 ID - SecurityOrgId와 org ID의 상세한 비교 - 로그 도메인 추출 및 URL 건설 단계 - 보안 공급자가 네트워크에서 누락되거나 도메인 필드가 누락된 경우 이를 식별할 수 있습니다
현재 org 로고로 보안 공급자 로고를 위한 동일한 URL 본을 사용하십시오
- 보안 공급자 도메인을 가진 현재 org 로고 URL 경로에 있는 첫번째 폴더를 대체하십시오 - 폴더 이름에 대한 보안 공급자 도메인의 dashes와 도트를 대체 - 예: *********** 이름: *************** - 회원 탭 로고로 정확한 패턴 일치
ThemeLogo 및 네트워크 페이지 패턴과 일치하는 로고 URL 생성을 단순화
- 현재 org (Membership & Permissions)를 위해: ThemeLogo 처럼 getThemePath ()를 직접 사용하십시오 - 보안 공급자 (프로필): 네트워크 페이지와 같은 보안 공급자의 도메인을 가진 getThemePathForDomain()를 사용하십시오 - ...
탭에서 로고 디스플레이를 개선 - Box 래퍼와 아이콘 버퍼를 사용하여 가을백 로직을 추가합니다
- 더 나은 MUI 호환성을위한 Box 래퍼와 Tab 아이콘 버퍼를 사용하여 다시 전환 - 도메인 필드가 유효하지 않은 경우 도메인[0]을 사용하는 fallback 추가 - 로고 fetching 및 URL 생성에 대한 포괄적 인 로깅 추가 - OnLoad/onError 핸들러가 이미지 ...
탭 라벨에 로고 디스플레이 수정 - 아이콘 prop 대신 라벨에 img 태그 사용
- 탭 아이콘 prop을 사용하여 img 태그를 사용하여 라벨에서 로고를 직접 삽입 - debug 로고 fetching 및 URL 생성에 콘솔 로깅 추가 - 이제 로고는 Flexbox 레이아웃을 사용하여 탭 텍스트와 인라인으로 나타납니다
Add organization logos to Profile and Membership & Permissions tabs
- Fetch security provider organization logo and display next to Profile tab - Fetch current organization logo and display next to Membership & Permissions tab -...
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...
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...
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
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...
Add Manage Backgrounds button in MemberHeader
- Added handleManageBackgroundsClick prop to MemberHeader - Added Manage Backgrounds button next to URL input when custom background is enabled - BackgroundMana...
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...
Add avatar fallback logic to chat components and member list
- Created avatarUtils.ts with utility functions for avatar fallback (member -> user -> initials) - Updated HexHeadGroup to fetch and display avatars with fallba...
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
Fix TypeScript error: replace 'any' with 'unknown' in error handling
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...
MuiAvatar를 사용하여 img 태그를 올바르게 표시 avatar 이미지
- 더 나은 이미지 렌더링을위한 MuiAvatar 구성 요소 대신 네이티브 img 태그 사용 - 원형 디스플레이를 위해 적당한 스타일링을 가진 상자 콘테이너에 있는 포장 img - 모든 기존 기능 유지 (오류 처리, 로딩 콜백) - avatar 이미지가 선택 메뉴에서 표시되지 않은 문제...