Live Change Loglog

Посмотрите, что мы строим в реальном времени. Все функции, исправления и улучшения отправляются через платформу.

17,924
Общие изменения
4,611
Особенности
4,537
Исправления
32
Проекты
Фильтр по проекту
Все проекты17,924AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService373InitializerService300KBService74KlusterServices546MCPGatewayService43MediaService461RAGService61SecurityService1,520TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,575kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,322kamo-signer-monorepo50kamolos102
Фильтр по типу
Все типыBuild24CI523Chore670Docs226Feature4,611Fix4,537Other6,781Performance136Refactor274Revert23Style48Test70Upgrade1
November 26, 2025
OtherSecurityService

Clear session data before deleting key to ensure session is unusable

- Set session data to empty JSON ({}) before deleting the key - Ensures session is unusable even if deletion fails or there's replication lag - Add error handli...

snadjafinia·9mo ago
OtherSecurityService

Improve logout cookie clearing - clear cookies across all domain/path combinations

- Clear cookies with base domain (e.g., .kamocrm.com) to cover all subdomains - Clear cookies for current hostname without domain attribute - Clear cookies unre...

snadjafinia·9mo ago
OtherSecurityService

Использование поля avatarType вместо комплексного обнаружения прокси

Проверить поле avatarType непосредственно для простой проверки типа Установите avatarType при создании новых аватаров Гораздо более простой и эффективный подход

snadjafinia·9mo ago
FixSecurityService

Запросить все пользовательские аватары, чтобы получить реальный объект вместо прокси

Получить userId из аватара, затем запросить findByUserId (возвращает реальные объекты) - Найти соответствующий аватар из списка и проверить экземпляр - Это позв...

snadjafinia·9mo ago
OtherSecurityService

Используйте простой фильтр, чтобы проверить, является ли аватар фотографией или создателем аватара

Удалить сложную логику обнаружения прокси Просто фильтруйте результат findById, чтобы проверить, является ли это AvatarPhoto. Если нет фото, по умолчанию создат...

snadjafinia·9mo ago
FixSecurityService

Используйте Hibernate LazyInitializer для получения фактического класса сущности от прокси

Доступ к LazyInitializer HibernateProxy для получения постоянного класса Проверьте, является ли постоянный класс AvatarPhoto или AvatarAvatar Creator. - инициал...

snadjafinia·9mo ago
FixSecurityService

Используйте прямой слепок для определения типа аватара вместо отражения

Попробуйте сначала кастинг на AvatarPhoto, чтобы заставить инициализацию прокси - Доступ к getFileExtension() непосредственно после кастинга - Возвращение в Ava...

snadjafinia·9mo ago
FixSecurityService

Улучшить обнаружение прокси-типа, поймав InvocationTargetException

Обработка ClassCastException при использовании методов прокси для определения фактического типа Сначала попробуйте getFileExtension (фото), затем getStyle (Avat...

snadjafinia·9mo ago
FixSecurityService

Улучшение обработки Hibernate proxy для обнаружения типа аватара

Иерархия классов поиска и интерфейсы для метода getFileExtension Используйте отражение для обнаружения AvatarPhoto vs AvatarAvatar Creator, когда случай неудачи...

snadjafinia·9mo ago
FixSecurityService

Перезагрузить аватар из хранилища для решения проблемы Hibernate proxy

Сущности Avatar, загруженные из отношений, могут быть прокси-серверами Hibernate, которые не выполняют проверку Перезагрузка аватара из хранилища для получения ...

snadjafinia·9mo ago
OtherSecurityService

Добавьте подробную запись в генерацию URL аватара для отладки

Войдите, когда генерируются URL-адреса аватара, какие URL-адреса создаются Лог, когда аватары отсутствуют или URL-адреса являются нулевыми Это поможет определит...

snadjafinia·9mo ago
FixSecurityService

Determine active avatar by checking user.getAvatar() instead of RecordState

- Backend now correctly marks which avatar is active by comparing to user.getAvatar() - This ensures the isActive flag in the API response reflects the actual a...

snadjafinia·9mo ago
OtherSecurityService

Add avatar URLs to members by-department endpoint with override mechanism

- Include avatar URL in each member response from **************** - Respect override mechanism: member avatar (if exists) → user avatar (default) - Frontend ...

snadjafinia·9mo ago
November 25, 2025
FixSecurityService

Handle ISO date format and improve avatarId type parsing

- Added support for ISO date format (YYYY-MM-DD) in addition to M/d/yyyy - Improved avatarId parsing to handle Number types (Double, BigDecimal, etc.) from JSON...

snadjafinia·9mo ago
FixSecurityService

Add better error handling and logging for user/member save operations

- Added try-catch around user save operation with detailed error logging - Added try-catch around member save operation with detailed error logging - Improved d...

snadjafinia·9mo ago
FixSecurityService

Improve avatarId parsing to handle string, integer, and long types

- Added support for parsing avatarId from String type - Better error handling for invalid avatarId formats - Added logging for avatar assignment and errors

snadjafinia·9mo ago
FixSecurityService

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...

snadjafinia·9mo ago
FixSecurityService

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...

snadjafinia·9mo ago
FeatureSecurityService

Store avatar hash and extension in *** session data

- Added updateSession method to KSessionService for updating session fields - Updated setActiveAvatar to store userAvatarHash and userAvatarExtension in session...

snadjafinia·9mo ago
FeatureSecurityService

Include avatar URLs in member profile response

- Added helper methods to generate avatar URLs (getThemeDomain, getPublicBucketName, generateFileHash, getPublicBucketUrl, generateAvatarUrl) - Updated getMembe...

snadjafinia·9mo ago
FixSecurityService

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...

snadjafinia·9mo ago
FixSecurityService

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...

snadjafinia·9mo ago
RefactorSecurityService

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 - ...

snadjafinia·9mo ago
FixSecurityService

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 ...

snadjafinia·9mo ago
FeatureSecurityService

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...

snadjafinia·9mo ago
FixSecurityService

Ensure theme domain URL includes https:// protocol

snadjafinia·9mo ago
FixSecurityService

Use theme domain for presigned URLs in AvatarController

snadjafinia·9mo ago
November 24, 2025

Как вы видите судоходство?

Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.

Начните бесплатно навсегдаПосмотреть цены