Scope SettingsSearchBar to components.settings namespace
Use **************** with searchBar.* keys instead of global t() with full dotted paths.
Drop language search filter on My Language step
The supported language list is short enough to scan visually; the search input added complexity without user value.
Разделенные API-интерфейсы; покажите целевую организацию субподрядчиков; добавьте владельца счетов для продвижения пользовательского интерфейса
billingApi делит участников на членов AccountMembers (canManageBilling, isAccountManager) и подписные участники (isLicensee, canManageSubscription) ************...
Субподрядчики нацелены на суборг; члены на субподрядчиков отделены от администраторов учетных записей
Подписки теперь требуют целевой организации Id по созданию — (счет, рынок, target org) triple - новый ключ уникальности. Компания AccountBillingMemberService ра...
Сплит-администраторы уровня аккаунта от каждого участника; субподрядчики получают target org
Добавляет SubscriptionMember (лицензиат на подписку + флаги субменеджера) Учетная запись в орге KamoCRM может содержать несколько подписок, каждая из которых на...
Rename AccountBillingMember -> AccountMember; isGroupPlanManager ->
Переименование уровня типа через платежный клиент и вкладку PlansBillingTab: - AccountBillingMember Type -> Участник - isGroupPlanManager flag -> - поле groupPl...
Используйте Account.members через AccountMember; переименуйте в GroupPlanManager -> isAccountManager
Аккаунт теперь является группой, поэтому все ссылки на старые Предприятие AccountBillingMember указывает на новый общий **************************** сущность. Ф...
Бросьте пользователей / MasterAccountHolder, используйте Account.members + PrimaryMember
AccountController отражает модель Account-as-group: - computeDisplayName / extractEmail / extractPhone resolve through the Основной участник (член) вместо выпав...
Создайте учетную запись группы; замените набор пользователей на набор участников + участник
Счет теперь сам по себе является «группой» — нет отдельной биллинг-группы. Концепция. Участники (сопровождаемые по орг-скапу) принадлежат к Счету непосредственн...
Переписать клиента BillingApi на конечные точки на основе учетной записи
billingApi теперь разговаривает с ******************* Старые маршруты /groups/. Типы верхнего уровня переименованы: - BillingGroup Бухгалтерский учет - BillingG...
Переписать BillingService на учетные записи
BillingService теперь ориентирован на учет. Потоки, управляемые членами (например, «Добавить карту», «подписаться на план» теперь проходят через Аккаунт, которы...
Переход от BillingGroup к учетным лицензиям
EntitlementService разрешает членские права против AccountLicense Записи, принадлежащие счету участника. Права членов Форма теперь выставляет аккаунтUid + аккау...
Миграция из BillingGroup на счет в качестве принципала выставления счетов
В настоящее время счет является единственным клиентом Stripe. Член, нуждающийся для оплаты (например, за подписку) автоматически создает счет; этот счет Затем д...
Ориентируйте живые записи на профиль адреса учетной записи, снимите исторические адреса
Записи прямой торговли Orient ссылаются на первичную доставку / биллинг профиля учетной записи адреса, с моментальными снимками, сделанными только тогда, когда ...
Переключите Account.java на встраиваемые файлы; добавьте объект AccountAddress для списков доставки / выставления счетов
- Add AccountAddressType enum (ВЫБОР, БИЛЛИНГ) - Add AccountAddress entity (счет FK, тип, этикетка, EmbAddress, временные метки) Добавить аккаунтAddressReposito...
Move Create Lead action into header, drop sticky bar
Замените верхнюю правую кнопку «Отменить» основным действием «Создать лидерство» и полностью удалить нижнюю липкую панель действий. Скачать IconButton Слева от ...
Лучший контакт Время свободного текстового поля
Заменить утреннее/полуденное/вечернее выпадение на Добавить свинец и свинец Просмотр форм редактирования с простым вводом текста, чтобы члены могли описать конк...
Заголовок страницы редактора Drop, переименованный в General sub-tab
- Удалить заднюю стрелку IconButton + значок экрана + заголовок + подзаголовок Верхняя часть редактора модели безопасности / мастер-модели. Кнопка отмены в липк...
Drop teamMemberPayFeesSetting от DataLoader
Провайдер «Мастер-модель» больше не пропускает снятые трехгосударственные платежи настройка при создании мастер-модели безопасности — поле ушло от ChildOrgSecur...
Drop teamMemberPayFeesНастройка параметра
Зеркало изменения общей библиотеки — SecurityModelController MasterModelController и AppliedModelController перестали читать и писать Разработчик:MemberPayFeesS...
Разработчик:MemberPayFeesSetting
Политика самооплаты сотрудников ушла — рефактор BillingGroup обрабатывает выставление счетов по группам, а не по модели безопасности. Удалить The TeamMemberPayF...
Drop My Profile Наконечник баннер + унифицировать интервал раздела
Все четыре раздела моего профиля теперь имеют одинаковый вертикальный ритм. 8px между заголовком каждой секции и ее полем (полями), 16px между Секции. Баннер оп...
Tidy My Profile Макет + проверка телефона
Реорганизуйте шаг «Мой профиль», чтобы все четыре раздела были одинаковыми макет и формат заголовка. Заказ теперь является юридическим именем, псевдонимом, элек...
Бросьте проверку SMS для поля телефона при регистрации
Номер телефона, полученный при регистрации самообслуживания, теперь является простое дополнительное текстовое поле — нет /регистрации/телефона/инициативы, нет S...
Drop RegistrationPhoneCode entity + репозиторий
Регистрация самообслуживания больше не использует проверку SMS-кода поле телефона — форма регистра собирает номер телефона в виде простого текста и сохраняет ег...
Поделиться PostAuth***Сервис между входом и входом
Извлеките сборку после аутентификации *** (расширение для всех, профиль SQL, Заголовки филиалов, создайте Сессию) в PostAuth***Service, так что введите, как исп...
Удалить телефон + страницы вопросов безопасности
Они были добавлены в камо-интернал по ошибке — сбор телефона Вопросы номеров и безопасности входят в регистрационный поток Камо-регистрация, и была перенесена т...
Удалить DB CHECK на SubscriptionEvent.event type (зафиксировано в инициализаторе)
Слить шаблон по умолчанию без протирки папки Org
Полное положение больше не удаляет префикс org перед копированием. Копия из public/default перезаписывает только совпадающие ключи; другие объекты папка остаетс...
Извлеките AliasesTab, SharedMailboxTab; сделайте EmailMailboxManager тонким маршрутизатором
Компактный заголовок редактора — удалите большой заголовок / вкладки, переместите действия в строку nav
Удалите липкую карту заголовка (заголовок, подзаголовок, Save/Cancel/Preview) кнопки, панель вкладок Edit/Preview) от EmailTemplateEdit для восстановления ~200p...
Перенаправить EMAIL NOT VERIFIED для регистрации / проверки отправки
Удалить встроенную карту EmailVerifyCard со страницы входа в систему и все связанные с ней Состояние/отзывы. На EMAIL NOT VERIFIED пользователь перенаправляется...
Удалите нетерпеливую загрузку функций из getOrganizationByDomain
Особенности являются проблемой уровня организации, не связанной с большинством абонентов этого метода. (например, регистрация, разрешение домена входа). Принуди...
Замените кэширование сеанса Redis прямым выходом Java API в маршруте org
Tighten KamoCRMAgeReqUpdateRunner per review
- Restore Javadoc paragraph explaining @Order(10) rationale. - Test now references the UPDATE_SQL constant directly instead of duplicating the SQL string, so ...
Честный маркетинг — выравнивание страниц с реальными возможностями платформы
Полный обзор маркетинговых страниц с учетом реальных возможностей продукта KamoCRM. Сняты сфабрикованные утверждения о функциях, не построенных сегодня, и перен...
Позвоните в BillingService напрямую через k8s DNS вместо APIService
Прокси-сервер Next.js теперь звонит в BillingService **************************** непосредственно, пропуская Необходимый переход через APIService. Использует BI...
Remove translate config from application.yml — belongs in k8s/configmap.yaml
Удалить конфигурацию перевода из application.yml — относится к k8s/configmap.yaml
Remove redundant translation table SQL — Hibernate ddl-auto handles them
Перезапись MultiFileUploader с загрузкой на основе очереди и настройками каждого файла
Удалить область действия/assocType из SettingsSignersTab, переименовать в Doc Description, добавить подписчика Active Member
Добавить MemberType к пользовательской информации, переименовать шаблонName в docDescription в магазине настроек шаблона
Добавить поле MemberType из колонки дискриминатора организации-члена User-info API и UseUserInfo hook. Переименовать шаблонName в docDescription в templateSetti...
Переместите все маршруты API визуализации из SecurityService в ConversionService/DocsService
Маршруты загрузки теперь вызывают ConversionService напрямую через CONVERSION SERVICE URL: - POST /api/imaging/upload → /api/conversion/imaging/upload - POST/ap...
Удалите ImagingController и beans/imaging — перейдите в ConversionService и DocsService
Конечные точки загрузки теперь находятся в ConversionService по адресу /api/conversion/imaging/*. Все конечные точки управления и загрузки теперь живут в DocsSe...
Delegate thumbnail generation to ConversionService, remove PDFBox dependency
ThumbnailGenerationJob now POSTs the converted PDF to ConversionService **************** unzips the response, and stores each thumb_p{n}.png in MinIO. PDFBox re...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.