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...
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...
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 ...
将 MuiAvatar 替换为 img 标记, 以正确显示 avatar 图像
- 使用本地的 Ing 标记而不是 MuiAvatar 组件来更好的图像渲染 - 将印入 " 盒 " 容器,并配有适当的外型,供循环显示 - 维持所有现有功能(处理错误,加载回调) - 解决在选定的菜单中未显示阿凡达图像的问题
Avatar URL 生成和显示问题
- 在 API 代理中添加 X- Forwarded-Host 标题转发, 这样后端可以生成正确的主题域 URL - 增加Avatar上传和取取操作的综合记录 - 改进变形AvatarUrl功能的 URL 处理 - 为图像加载失败添加错误处理器 - 更好的空/空 URL 检查和倒置预览生成 - 上传失败的增强错误信息
改进虚拟管理UI和功能
- 在 Select Avatar popup 中修复阿凡达显示, 以显示所有阿凡达的图像( 缺少 URL 时生成 SVG 客户端) 。 - 修正上传照片功能,改进文件输入处理 - 将所有“ Avatar 创建者” 文本替换为“ avatar ” , 以便保持一致性 - 将“ 管理阿凡达 ” 的按钮文字改为“ 管理相片...
