Add ThemeBackgroundController with hash-based storage and public bucket support
Добавить объект и репозиторий ThemeBackground с отношениями Пользователь / Участник
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
Исправьте дублированный импорт React, вызывающий ошибку сборки
Исправьте импорт Swiper: используйте динамический импорт для решения проблемы модуля CommonJS / ESM
Fix TypeScript error: replace 'any' with 'unknown' in error handling
Исправление использования компонента Grid API в соответствии с MUI v7 Grid API
Создайте макет Avatar, чтобы соответствовать дизайну регистра Камо
Реорганизуйте вкладку «Создать Аватар» с верхним рядом для быстрых настроек (Style, Seed) Разделите нижний ряд на две колонки: Preview (слева) и Advanced Settin...
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...
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...
Remove ID-based fallback code, use only hash-based naming
- Remove all try-catch fallback logic for missing fileHash column - Remove ID-based file naming fallbacks - Code now exclusively uses hash-based file storage - ...
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 с надлежащим стилем для кругового ото...
Implement hash-based file storage for avatars
- Generate SHA-256 hash from avatar ID after persistence - Store hash in database fileHash field - Upload files to MinIO using hash-based naming: {hash}.{fileEx...
Добавление поля fileHash в объект Avatar для безопасного хранения файлов
Добавить колонку fileHash для хранения хэша SHA-256 идентификатора аватара Hash используется для именования файлов MinIO для предотвращения атак перечисления. Ф...
Генерация 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 - парам теперь асинхронизированы
Консолидация типов аватаров в общий файл для согласованности
Удалите неиспользуемый прокси-маршрут хранения - с использованием предварительно подписанных URL-адресов напрямую
Как вы видите судоходство?
Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.
