Решите MultipleBagFetchException и исправьте сохранение пользовательской формы
- Упрощенный запрос CustomFormRepository, чтобы избежать множественных захватов пакетов - Фиксированный LeadMarketService для правильной экономии и загрузки пол...
Правильно сохранять и загружать пользовательские ассоциации для рынков
- Удаление удаленных репозиторий, теперь использование удаления сирот JPA для очистки Инициировать ленивый рынокCustomForms сбор перед клирингом Обеспечить иниц...
Решение MultipleBagFetchException в CustomFormRepository
Упрощенный поискByIdAndOrganizationId запрос, чтобы избежать извлечения нескольких пакетов - Removed LEFT JOIN FETCH для стеков и полей в одном запросе Сборы те...
Reload market after create/update to initialize lazy collections
- Updated createMarket and updateMarket to reload market using getMarketById - This ensures all lazy collections (marketCustomForms, vendorProducts) are initial...
Добавьте SalesSubType в интерфейс LeadMarket и используйте его в форме редактирования
Добавлено поле salesSubType в интерфейс LeadMarket в соответствии с DTO Обновленная ручкаEditClick для использования SalesSubType от DTO при установке типов род...
Решить MultipleBagFetchException с помощью транзакционной ленивой загрузки
- LeadMarketRepository: возвращается к простому запросу без нескольких JOIN FETCH - LeadMarketService: Добавлено @Transactional (readOnly=true) для getMarketByI...
Тип ошибки: Block-scoped variable 'getAgentFilterMember Использовался до его объявления.
Использование пройденных системных полей для группирования интерфейсов отображения полей
Использование пройденных системных полей для группирования интерфейсов отображения полей
Интерфейс отображения полей: фиксированный getSystemFieldsByCategory для использования пройденного в системе Fields prop вместо BASE SYSTEM FIELDS Интерфейс ото...
Correct path handling for mortgage fields and custom form data in lead imports
- Fixed mortgage fields to use 2-part paths (mortgageFields.loanAmount) in setNestedFieldOnCreateRequest - Fixed custom form data to use 3-part paths **********...
Добавьте нетерпеливую загрузку для запросов репозитория, чтобы исправить ленивые проблемы загрузки
CustomFormRepository: Добавлена левая часть JOIN FETCH для стеков и полей в findBy IdAndОрганизацияId - LeadMarketRepository: Добавлено LEFT JOIN FETCH для mark...
Make email/username login case-insensitive
- Normalize input username/email to lowercase before comparison - Use LOWER() function on database column for case-insensitive matching - Fixes issue where user...
Перезагрузка состояния на рынке неспособность предотвратить устаревшие данные
- Добавлена перезагрузка состояния в другом блоке, когда ответ.ok ложный - Обеспечивает, чтобы выбранные MarketConfig и пользовательские поля были очищены от не...
Исправить ошибку синтаксиса и добавить отладку для загрузки рынка
Фиксированная синтаксическая ошибка в утверждении сложного типа путем взлома правильных интерфейсов - Добавлена отладка для отслеживания рыночных данных, продаж...
Используйте SalesSubType для обнаружения ипотечных полей в ручном импорте
Обновленный интерфейс LeadMarket в соответствии со структурой DTO (в пользовательских формах изначально есть только базовая информация) Фиксированный комментари...
Добавить поле SalesSubType в LeadMarketDTO для обнаружения ипотечного поля
Добавлено поле SaleSubType, чтобы различать родительский SaleType и подтипы Когда у SaleType есть родитель (например, RESIDENTIAL MORTGAGE), SalesType становитс...
Добавьте полный логотип Kamo SVG со всеми 14 дорожками
Встроить полный контент SVG напрямую вместо частичных путей
Используйте CSS-подход для логотипа Kamo
Снято сломанное монтирование файла SVG с использованием фонового изображения CSS Загрузка внешнего логотипа непосредственно на элемент #logo
Исправьте logo.svg со ссылкой на внешний URL логотипа Kamo
Используйте элемент изображения SVG для встраивания внешнего логотипа вместо Сложные пути со сломанными трансформациями
Заменить логотип Roundcube.svg логотипом Kamo SVG
Mount custom logo.svg to **************** Замена водяного знака / логотипа Roundcube
Добавьте пользовательский файл CSS, чтобы отменить логотип водяного знака Roundcube
- Создан custom.css с водяным знаком override - Файл Mount CSS to /var/www/html/custom.css Настройка Roundcube для загрузки дополнительных stylesheets
Замените все логотипы Roundcube логотипом Kamo, включая водяной знак
Обновленная конфигурация skin logo для формата массива для покрытия: Логотип главного заголовка - Маленький лого заголовка Входящие водяные знаки/фоновый логоти...
Добавить почтовый поддомен в список Auto-Cert SUBDOMAINS
Автоматическое создание SSL-сертификата для mail.kamocrm.com
Merge pull request #3834 from ****************
Bump jws from 3.2.2 to 3.2.3
Порты 25 и 587 Postfix через hostPort для входящей почты
Требуется для приема внешних соединений SMTP на K1M1
Add missing Next.js API routes for leads endpoints
- Added /api/security/leads route for GET (all leads) and POST (create lead) - Added /api/security/leads/[id] route for GET, PUT, DELETE operations - Added ****...
Настройка Roundcube для использования Mailgun SMTP напрямую
Обход локального Postfix для исходящей почты, подключение непосредственно к smtp.mailgun.org с TLS на порту 587
Switch Postfix для развертывания в Альпах с поддержкой MySQL
Как и Dovecot, Alpine 3.18 использует пакет postfix-mysql установлена во время выполнения для надежной поддержки виртуальных карт MySQL
Fix postfix command to use apt-get instead of apk
boky/postfix is Debian-based, not Alpine
Add postfix-mysql support for MySQL virtual maps
Installed postfix-mysql package at container startup to enable MySQL dictionary lookups for virtual domains/users/aliases
Add auth debugging and ensure MySQL driver packages for Dovecot
- Enable auth_debug, auth_debug_passwords, auth_verbose - Add dovecot-mysql package for proper SQL support - Add mariadb-connector-c for MySQL protocol compatib...
Add MySQL auth fix job for MariaDB client compatibility
Changes kamo user from caching_sha2_password to mysql_native_password Required for Dovecot (Alpine/MariaDB) to connect to MySQL 8
Replace Roundcube logo with Kamo logo
Added skin_logo config pointing to **************** Updated deployment annotation to trigger pod restart
Fix MySQL auth: change kamo user to mysql_native_password
Alpine's MariaDB client doesn't support caching_sha2_password plugin This prevents Dovecot from connecting to MySQL for authentication
Force Roundcube pod restart to pick up ConfigMap change
Added annotation to trigger pod recreation since ConfigMap with subPath doesn't auto-update in running pods
Remove 'name' property reference in updateLead function
- Lead interface only has 'primaryContact', not 'name' - Removed fallback to patch.name in updateLead - Completes the fix for type safety
Remove non-existent 'name' property references in leadsApi
- Lead interface only has 'primaryContact', not 'name' - Removed fallback to leadData.name in createLead and updateLead - Ensures type safety and correct API be...
Fix Roundcube redirect loop - disable force_https
Traefik handles TLS termination, so internal traffic is HTTP Setting force_https=true caused Roundcube to redirect to HTTPS internally creating an infinite redi...
Reference kamocrm.com wildcard cert in mail IngressRoute
The certificate secret is in kamo namespace, copied to mail namespace tls.secretName explicitly references wildcard-kamocrm-com
Fix mail IngressRoute to use auto-cert service
Changed tls from certResolver: letsencrypt to tls: {} This allows the auto-cert service to automatically generate certs when mail.kamocrm.com is accessed
Fix Roundcube readiness probe - use TCP socket instead of HTTP
Roundcube redirects / to login page (302), failing HTTP readiness probe TCP socket check on port 80 works correctly
Replace remaining Grid closing tags with GridLegacy in CreateLeadClient
- Fixed all remaining </Grid> tags that should be </GridLegacy> - Ensures proper closing of GridLegacy item components - Resolves JSX syntax error
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.