Журнал змін
Что нового.
Все усовершенствования платформы, как только она будет запущена.
· SecurityService
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}.{fileExtension} - Update all URL generation to use hash instead of ID - Add backward compatibility: generate hash for old avatars without hash - Update photo upload, Avatar Creator creation, update, and delete operations - Prevents enumeration attacks by making file names unpredictable
· kamo-shared-library
Додати файлПриховати поле до суб'єкта Avatar для безпечного зберігання файлів
- Додати файлГаш стовпець для зберігання SHA-256 хеш аватара ID - Hash використовується для обробки файлів Minio, щоб запобігти атакам акметації - Формат: {hash}.{fileExtension} замість {id}.{fileExtension}
· kamo-internal
Rebuild avatar UI - сучасний, інтерактивний, полірований. Backend повертає URL-адреси безпосередньо
· SecurityService
Rebuild avatar system - backend generates presigned URLs directly like backgrounds
· kamo-internal
Додати облікові дані Minio до k8s configmap
· kamo-internal
Generate presigned URL в Next.js за допомогою MinIO SDK з темним доменом
· kamo-shared-library
Додати getPresignedUrlWithEndpoint метод для користувацького кінцевого пункту, призначених URL
· kamo-internal
Додати створення аватара Аватара, фонове управління з переадресацією та повною підтримкою бібліотеки аватара / фону
· SecurityService
Add avatar and background management endpoints
· kamo-shared-library
Додати класи AvatarPhoto та AvatarAvatar Creator, рефактор структуру спадщини Avatar
· SecurityService
Organize MinIO storage with folder structure and add Avatar Creator SVG support
- Updated storage paths to use organized folder structure: * members/avatars/photos/ for photo avatars * members/avatars/vector/ for Avatar Creator SVG avatars * members/backgrounds/ for background images - Added SVG file generation and storage for Avatar Creator avatars - Avatar Creator avatar creation/update now accepts SVG string and saves to MinIO - All presigned URL generation updated to use new folder paths - SVG files are saved when Avatar Creator avatars are created or updated
· SecurityService
Add avatar, background, and member profile management endpoints
- Added AvatarController with CRUD operations for avatars (photo and Avatar Creator) - Added UserBackgroundController for managing user background images - Extended MemberController with GET/PUT endpoints for member profile data - All endpoints support MinIO uploads to 'internal' bucket with presigned URL generation - Avatar endpoints support photo uploads and Avatar Creator avatar creation - Background endpoints support member-specific backgrounds - Member profile endpoints support updating avatar selection from user's collection
· kamo-shared-library
Додайте репозиторії Avatar і UserBackground і передали підтримку URL
- Додано АватарРепозиторію з методами пошуку аватарів користувачем - Додано UserBackgroundRepository з методами пошуку фонів користувачем/членом - Додано методи GetPresignedUrl до MinIOStorageService для створення URL-адрес доступу для тимчасової дії - Визначені URL-адреси за замовчуванням до 7 днів, настроюється час
· kamo-shared-library
Додати КористувачаФото та КористувачБакерські особи з відносинами з Користувачем
- Створений КористувачФото-об'єкт для зберігання фотографій профілю користувача та учасника - Створена особа користувача - Обидві особи, які підтримують рівень користувача (член=нуль) та асоціації членів-рівневих (членів) - UserPhoto включає в себе поле Set, щоб вказати, що фото в даний час активний - UserBackground включає в себе сортування поле для замовлення декількох фонів - Обидві особи використовують EmbRecordState для створення відстеження, оновлення та активного статусу - Додано відповідні індекси бази даних для оптимізації продуктивності
· kamo-internal
Додати спільний компонент Учасника з аватаром/фоном
- Створено спільний компонент Учасника з фоновими зображеннями та аватарним дисплеєм - Додано параметри перевизначення рівня учасників для аватару та фону (користувацький користувач за замовчуванням проти специфікацій) - Оновлений профільТаб для використання спільного компонента - Оновлений компонент членських вад - Заголовок тепер з'являється на профільних та членських вкладках - Додано перемикачі для "Використовувати за замовчуванням Користувач Avatar" і "Використовувати за замовчуванням користувальницький фон" - Підтримує URL-адресу користувацького фону при використанні фону за замовчуванням
· kamo-marketing
Додавання сенсорної підтримки для мобільних пристроїв
· kamo-internal
Зміна сітки для автоматичногоВисотне планування, щоб показати всі записи без прокрутки
- Встановити domLayout для автоматичноговисокої сітки розширюється, щоб відповідати всім рядам - Видаліть перелив: приховані з сітки контейнерних коробок - Видаліть висоту: 100% обмеження з коробки обгортання сітки - Сітка тепер показує всі записи на поточній сторінці без вертикальної прокрутки
· kamo-internal
Замініть стовпець адреси з стовпчиками державного та вуличного призначення
- Видаліть стовпець адреси та адреса - Додати державний стовпець після контакту (покази підрозділу/державного коду) - Додати стельовий стовпчик після стану (душ, формат міста) - Замініть адресуФільтрВальвія з державоюФільтрВалуе та вул.ФільтрВалуе - Додайте фільтр для скидання стану з усіма державами США - Додати поле текстового фільтра - Оновлення логіки фільтрації для державних і вуличних колон - Видалення адресного фільтрування з скидання
· kamo-internal
Оновлення ширини стовпців до зазначених значень
- Зміна ширини колонки Провідного ID від 300px до 245px - Контактний стовпчик залишається гнучким: 1, щоб взяти решту ширину - ширина стовпця змінного стану від 200px до 65px - Зміна ширини стовпа Sub Статус від 200px до 120px - Ширина стовпа змінного агента від 150px до 120px - Оновити відповідні ширини контейнера фільтра для відповідних стовпців - Додайте чіткі мінуси та максимальні обмеження, де потрібно
· kamo-internal
Оновлення mock свинцю ID до випадкових альфа-нумеричних і встановити адресний стовпчик до 170px
- Додати функцію генеруватиRandomLeadId для створення випадкових альфа-нумеричних рядків довжини 13 - Зміна ідентифікаторів mock від послідовних чисел до випадкових альфа-нумеричних (наприклад, '34FDK69HWGPPK') - Оновлення ширини адресного стовпа від 250px до 170px з явною хв/max - Розширення адресного фільтра ширина контейнера для відповідності 170px
· kamo-internal
Оновлення параметрів стовпчика і замініть кнопки дії
- Змінено дату стовпців шириною від 155px до 170px - Оновлення дати фільтра поля контейнерів для відповідності 170px ширина - Замініть "Export Selected', 'Поділитися', і 'Виберіть вибрані' кнопки з: - 'Визначте вибране ({amount вибраний})' з іконкою Народна - 'Змінити статус вибраного ({amount вибраний})' з іконкою SwapHoriz - Імпорт народних і обмінних знаків з матеріалів-UI - Кнопки динамічно відображають кількість на етикетках
· kamo-internal
Додати тонкий світло-сірий нижній кордон до вторинних вкладок
- Додати кордонРозгортання: '1px твердий rgba(0, 0, 0.12)' до контейнерів стану - Відповідає укладку, знайдену на /leads/view/page - Створення візуального поділу між вкладками та змістом нижче
· kamo-internal
Додайте сірі фони, щоб залишилися фільтрові поля і вирівняти донизу
- Зміна вирівнюючого ряду від центру до флекс-енду (знизу вирівнювання) - Додати сірий фон (#f8fafc) на всі інші контейнери для фільтрів - Додати радіус кордонів і насипати до дати фільтрування - Регулярні поля фільтра вирівнюються донизу, що відповідає висоті поля дати - Поле дати залишаються високорослі зі складеним макетом - Всі поля фільтра тепер мають стабільну сіру фонову обробку
· kamo-internal
Поле фільтра стійки вертикально з ізольованим сірим фоном
- Зміна дати фільтра полів з горизонтального до вертикального планування (флектор: стовпчик) - Додайте сірий фон (#f8fafc) тільки до дати фільтра коробки, не весь фільтровий ряд - Визначте точну ширину 220px для полів фільтра - Видаліть сірий фон з основного контейнера фільтрувального ряду - Додати радіус кордону до датних фільтрів для кращого візуального поділу
· kamo-internal
Покращити UI макет і збільшити кількість даних
- Зробіть текст меншим для полів фільтра дати (fontSize: 0.75rem для введення, 0.7rem для етикеток) - Перемістити швидкий пошук в одній лінії, як вкладки стану, вирівняні праворуч - Підвищений гачок веде від 50 до 250 - Видаліть стовпчик дії з сітки - Очищення макета шляхом видалення дублікатів пошуку
· kamo-internal
Додавання елементів фільтра дати для створених та призначених стовпців
- Додавання змінних стану для фільтрів, що створюються та присвоєно термін дії (податкові дати) - Створіть компоненти фільтра дати та кінцевих даних - Додавання елементів фільтра дати для індивідуального фільтрувального ряду для створених та призначених стовпців - Update filteredRowData логіка для фільтрування за дата- діапазонами - Поле дати Empty не обмежується (всі дати для цього кінця) - Оновлення функції скиданняФілтери для очищення фільтрів діапазону дати - Фільтри, що підтримують часткові діапазони (тільки початок, тільки кінець, або обидва)
· kamo-internal
Зробіть контактні імена, натиснувши посилання і додайте подвійний клацання, щоб відкрити свинець
- Оновлення КонтактРендера для відображення першого та останнього імені як заблокованих клацання посилань - Додати обробник Click для контактних імен, які відкриває свинцю через onViewLead або навігації до /leads/view/:id - Додати наRowDoubleClicked обробник до AgGridReact, щоб відкрити свинець, коли рядок подвійний клацання - Зв'язатися з іменами тепер мають первинний колір, підкреслений і ефект конюшини - Подвійний клацання в будь-якому місці на ряді відкриває лід
· kamo-internal
Додайте іконки до фільтра та оновлення субстатуса
- Оновлення 'Вимкніть підпис' до 'Contracts Sent', щоб відповідати Java Enum - Змінити ікону для контрактів, що надходять від підпису на іконку - Додати іконки до елементів меню фільтра під-статус - Імпорт Відправити іконку від Матеріал-УІ - Ікона відображається поруч з кожним параметром підстатю в фільтрі крапель
· kamo-internal
Додати унікальні іконки для кожного підстатю з квітами батьківського статусу
- Додати унікальні, відповідні іконки для кожного субстатуса (наприклад, PersonAdd for New Lead, Повідомлення про ліве повідомлення) - Ікони зберігають батьківський колір статусу (зелений для свіжого, синього для реконструювання, апельсин для ферми, червоний для Грім, сірий для неоїда) - Імпорт додаткових іконок УІ для субстатусів - Оновлення getSubStatusIcon на карті кожного субстату - Свіжий: PersonAdd, повідомлення, Захід, Розклад, PlayArrow, Опис, ShoppingCart, Оплата - Реквізити: Синхронізація, Призначення, Присвоєння - Ферма: LocalFlorist, ThumbDown, PhoneDisabled, Бізнес, ПрикріпитиMoney, ДоступністьNew, Блок - Грім: Друк, SignalWifiOff, PersonOff, Попередження, DoNotDisturb, RestoreЗ альбомуTrash - Воїда: Наука, ContentCopy
· kamo-internal
Додайте іконки до підстатку стовпа, що відповідає кольору батьківського статусу
- Додати функцію помічника getSubStatusIcon для визначення ікони на основі батьківського статусу - Підстатеві іконки використовують однакові іконки і кольори як їх батьківський статус - Свіжі під-статуси: зелений іконка NewReleases - Реквізити під-статуси: синя ікона Гавель - Ферма під-статуси: іконка помаранчевого сільського господарства - Підстатуси Grim: червона ікона - Неймовірні підстатки: сірий значок скасування

Твій всесвіт чекає.
Почати безкоштовно за декілька хвилин. Додати продукти, коли ви будете готові — без перенесення, без нових реєстрацій.
Безкоштовно назавжди — не потрібна кредитна карта