Решить прикладную модель для дополнительного запроса orgId с помощью проверки членства
Корректировка источника прикладной модели и нормализация соответствия API
Используйте разрешение разрешителя для BRANCH TYPE против MASTER вместо вывода из Только ветвьTypeID. Нормализовать буквалы соответствия FALSE/TRUE в прикладной...
Пропагандировать соответствие основных моделей и возрастные правила для моделей безопасности отраслевого типа
Написать globals.css перед уборкой; запустить уборку async
Обновление для записиConfigFiles (цвета, конфигурация, манифест) Перед очисткой фонового файла. Перезагрузить орг из DB для свежих цветов. Запустите уборкуExtr...
Применять выделенные цвета для MinIO globals.css
Перезагрузить Организацию из БД в начале предоставления асинхронизации ConfigFiles видит цвета, сохраненные PATCH / Colors (снимок контроллера) Может быть несве...
Маркировка DNS-проверенных пользовательских доменов как isDefault в домене API
Ранее только поддомены *.kamocrm.com были помечены по умолчанию, поэтому с проверенным пользовательским доменом apex (например, kamocrm.com) Дефолтный домен = н...
Выравнивайте детали домена и проверяйте доступ к DNS с членством в Org
Разрешить брендинг, когда пользователь является владельцем организации TeamMember
Предоставление тем и загрузка логотипа / фона проверяется только Организацией. владелец FK; приложение UI рассматривает владельца организации как владельца Team...
Очистить пользователя и члена FK перед удалением строки аватара
Удаление аватара не удалось с ограничением DB, когда он все еще был активным аватаром пользователя или оверрайдом для конкретного члена, который соответствовал ...
Разрешить хост папки темы без строгой проверки DNS
Требуется предоставление темы для каждого домена, поэтому организации используют только Поддомен kamocrm.com по умолчанию никогда не начинал работу с асинхрониз...
Опубликовать тематическое обеспечение прогресса по основным НАТС
Поток JetStream CHAT MESSAGES настроен только для чата. ************* Неудачная проверка потока и пользовательский интерфейс Никакого прогресса. Используйте Con...
Настройка EmbRecordState.isActive на wizard create-org так что orgs.is active не является нулевой
Возвратить орган по созданию JSON-safe вместо того, чтобы сериализовать организацию
Свяжите Create-org JSON вручную и разверните двойные кодированные тела
Parse create-org с простым ObjectMapper и возвращением сообщения Джексона на 400
Parse create-org JSON путем удаления поля домена волшебника перед картографированием организации
Parse create-org JSON без @RequestBody избежать 415
Spring возвращает неподдерживаемый тип медиа, когда отсутствует тип контента или нет Принято для @RequestBody. Читайте байты и используйте ObjectMapper Прокси-с...
По умолчанию нулевые настройки для NOT SPECIFIED при создании/обновлении
Пропустить обновление модели безопасности, когда роль блокирует изменения безопасности
Прочитайте права сеанса в виде списка или унаследованного CSV для конечных точек участников
Права KSessionService и SecurityRoleController Store в виде List<String> Имена правильных типов. MemberScurityController отлил на String и разделил на Запятая, ...
Verify-dns проверяет каждую ярлык KnownAliases; пропустить устаревшее приложение / СМИ в дополнительном
Избегайте отравления транзакциями DDL и затвердевайте многоподовые гонки
Предыдущее самовосстановление поместило DDL в @Transactional syncAll(). Когда альтер TABLE ADD CONSTRAINT выстрелил по существующему ограничению (обычный случай...
Удалить звонки getType() от OrganizationController после Organization Удаление типа
Используйте getOrganizationByIdWithFeatures в AppAvailability Перехватчик
Resolves LazyInitializationException on /api/security/leads and all Другие пути, связанные с CRM/POS. Перехватчик называется org.getFeatures(). после закрытия т...
Закладка Resolve Members показывает пустой из-за проблемы базового класса Hibernate TYPE
TYPE(m) Hibernate = :type JPQL filter возвращает 0 результатов при связывании Параметром является базовый класс участника (JOINED наследование). Это влияет на К...
Allow god-mode users to provision ownerless orgs; prefer FQDNs in domain resolution
Add @Transactional to provision-theme for lazy domain loading; remove hardcoded domain from provision request
Добавить конечную точку PATCH/org/{id}/colors для безопасного обновления только полей цветовой палитры
Use memberID session key and include creatorType in creatable branch-types response
Use correct session key 'memberID' instead of 'MID'
KSessionService stores member ID under key 'memberID' but both **************** and OrganizationController were reading session.get("MID") which always returned...
Exclude master model from models list; add debug log to child-org creation check
SecurityModelController now filters out the org's master model (identified by org.getMasterModelID()) from the /api/security/models response — it is managed exc...
Read session rights as List<String> names, not CSV of integer IDs
Session rights are stored as a JSON array of RoleRightType name strings. Both **************** and OrganizationController were casting them to String (causing C...
Add org-scoping, password length validation, and code quality improvements to PasswordChangeController
Add @Transactional to DataLoader.run to fix LazyInitializationException on startup
Use JPA entity traversal for grant-all detection (covers dept/job roles)
Filter null rights in buildAppliedRightsWithSources; upgrade shared-lib to 1.5.0
Use core NATS pub/sub for email-verified SSE fan-out
Replaces in-memory ConcurrentHashMap broadcast with NATS core pub/sub so all pods receive verification events regardless of which pod handled the token. Falls b...
Use avatarType field + JDBC for photo URL generation to handle Hibernate proxies
**************** previously used instanceof AvatarPhoto to determine avatar type and cast to read fileExtension. When Hibernate returns a base-class proxy (e.g....
Populate all EMAIL_VERIFICATION template variables
Was sending only {token, code} — template also needs orgName, firstName, verifyLink, and expiryMinutes. Load org and user to build the full vars map, and resolv...
Use subdomain-aware SQL to match findByDomain JPQL logic
Org domain lookup in resendVerification was doing an exact-match query that failed for subdomains stored as child records (e.g. 'api' with parent 'kamocrm.com')...
Correct EmailService URL port in configmap (4203 -> 80)
EmailService K8s service exposes port 80, not 4203. Verification emails were timing out on every registration attempt.
Bypass JPA org lookup to avoid Hibernate cascade flush error
**************** triggers **************** which causes a Hibernate auto-flush. That flush fails because Organization.features was previously replaced with a pl...
Use getReferenceById to avoid cascade orphanRemoval flush error on registration
Loading Organization via findById inside @Transactional caused Hibernate to detect the features collection was de-referenced during auto-flush, throwing JpaSyst...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.