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 для правильного отображения изображений аватара
Используйте нативный имг-тег вместо компонента MuiAvatar для лучшего рендеринга изображений - Обертывание в контейнере Box с надлежащим стилем для кругового ото...
Генерация URL-адресов Avatar и проблемы отображения
Добавьте переадресацию заголовка X-Forwarded-Host в прокси-сервер API, чтобы backend мог генерировать правильные URL домена темы - Добавить всестороннюю регистр...
Улучшение UI и функциональности управления аватарами
Исправьте отображение аватара в всплывающем файле Select Avatar, чтобы показать изображения для всех аватаров (сгенерируйте клиентскую сторону SVG, когда URL от...
Удалите вызовы TransformAvatarUrl - отображайте изображения непосредственно из обратных URL-адресов
Обновление avatarUrlTransform для возврата неопределенного вместо нулевого
Add logging and ensure public bucket URL format matches working pattern
Переключите аватары на публичное ведро - не требуется авт, прямые URL темы
Обновление Next.js 15 обработчик маршрутов парам обработки для прокси-сервера хранения аватара
Применяйте преобразование URL-адресов в URL-адреса аватаров в MemberHeader и ProfileTab
Добавьте прокси-маршрут и преобразование URL-адресов для изображений аватара для исправления ошибок смешанного контента
Revert to getPresignedUrl like backgrounds - getPresignedUrlWithEndpoint was breaking uploads
Add retry logic for Maven dependency downloads to handle transient Central failures
Обновление обработчиков маршрутов для Next.js 15 - парам теперь асинхронизированы
Упростите StorageController - проверьте OTK, получите изображение, пропустите его
Проверка OTK непосредственно в StorageController и потоковое изображение
Используйте прокси-маршрут для URL-адресов аватаров вместо URL-адресов, подписанных MinIO SDK
Возврат объектаPath вместо предварительно подписанных URL-адресов для аватаров
Обычно генерируют предварительно подписанные URL-адреса, а затем заменяют имя хоста доменом темы
Используйте getPresignedUrlWithEndpoint с доменом темы для всех URL-адресов аватара
Используйте метод getPresignedUrl, который работает вместо getPresignedUrlWithEndpoint
Generate presigned URLs with theme domain directly in backend for avatars
Backend теперь генерирует URL-адреса с доменом темы напрямую, frontend использует их как есть
Используйте прямые URL-адреса домена темы для аватаров - создайте URL-адреса, используя логику пути темы по запросу
Как вы видите судоходство?
Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.
