messageservice 26.100.0: публичный UI-слой редактора сообщений и селектора каналов

3 мин чтения

Крупный релиз почти без ломающих изменений: модуль обзавёлся публичным Public\UI — фабрикой, из которой любой модуль собирает редактор сообщения, селектор канала или слайдер подключений. Раньше каждый потребитель (CRM, рассылки, роботы бизнес-процессов) рисовал этот интерфейс сам.

Что решает Factory

Точка входа одна, регистрируется в .settings.php как сервис messageservice.public.ui.factory:

        $factory = \Bitrix\Main\DI\ServiceLocator::getInstance()
    ->get('messageservice.public.ui.factory');

$editor    = $factory->createEditor($scene, $context);
$selector  = $factory->createSelector($scene, $context);
$slider    = $factory->createConnectionsSlider();

    

Scene и Context — это то, ради чего фабрика вообще нужна: один и тот же редактор должен выглядеть по-разному в карточке сделки, в роботе и в рассылке — разный набор каналов, разные плейсхолдеры, разные ограничения. Вместо копии компонента на каждый случай сцена описывает контекст, а сборку берёт на себя модуль.

Слои:

  • Редактор — MessageEditor\Editor, Layout, Context, Scene (+ NullScene), ViewChannel с Appearance / Backend / Icon, каналы Channel\From и Channel\To, провайдеры контента (ContentProvider\Copilot, Files, интерфейс Showable), NotificationTemplate с Placeholder, Preferences, PromoBanner.
  • Селектор каналов — ChannelSelector\Selector, ViewChannel.
  • Слайдер подключений — ConnectionsSlider со страницами Recommendations и Sms и секциями. Компонент bitrix:messageservice.connections теперь просто дёргает фабрику.

Плюс Public\UI\SenderCode с константами SMS_PROVIDER и BITRIX24 — код провайдера перестал быть строковым литералом на стороне вызывающего.

Настройки поведения вынесены в Infrastructure\UI\Message\Editor\GlobalConfig и читаются из опций модуля: message_editor_max_visible_channels (10), message_editor_min_visible_channels (1), message_editor_recommended_max_message_length (200). JS-конфиги расширений берут GlobalConfig из ServiceLocator по FQCN — так что крутить эти числа можно централизованно, без правки бандлов.

Для IDE в модуле появился .phpstorm.meta.php на код сервиса — автодополнение по ServiceLocator::get('messageservice.public.ui.factory') работает.

Единственное изменение поведения существующего API

Sender\Sms\Wazzup::isSupported() больше не проверяет imconnector.feature_wazzup и Bitrix\Crm\Feature\TelegramActivity — остался только parent::isSupported(). Проще говоря, провайдер стал доступен там, где раньше отсекался фичефлагами. Если ваш код завязан на то, что Wazzup недоступен без включённого коннектора, — проверьте, что список провайдеров у вас не поехал.

Ломающих удалений в api.diff нет: релиз только добавляет.

Мелочи, которые видно только в диффе

  • У Wazzup появились константы CHANNEL_TYPE_TGAPI и CHANNEL_TYPE_WHATSAPP, а URL контакт-центра берётся через Integration\ImOpenLines::getContactCenterUrl() — то же сделано для Edna WhatsApp Informant.
  • Converter::convertOptions() избавился от литералов 'smsru' и 'twilio' в пользу SmsRu::ID / Twilio::ID.
  • Integration\Notifications вырос: canSendMessage, isAvailableInRegion, isLimited, isModulesInstalled, переводы шаблонов и константа SCENARIO_CRM_PAYMENT.

Что делать

  • Если вы рисуете свой выбор SMS-канала или форму отправки сообщения — посмотрите на Public\UI\Factory прежде чем поддерживать свою копию дальше. Это ровно тот случай, когда самописный компонент можно списать.
  • Проверьте доступность Wazzup в своих сценариях.
  • Новые лимиты редактора настраиваются опциями модуля, а не правкой JS.

Читайте дальше

voximplant 26.700.0 Ломающее Свежее

Voximplant 26.700.0: оценку качества связи убрали, у notifyAdmins() появился тип

Модуль телефонии voximplant 26.700.0 вышел в коробочный Битрикс24 11 сентября 2026 года, по данным официального канала «Битрикс24 changelog». Из карточки звонка убрали оценку качества связи вместе с её JS-событиями, у `Im::notifyAdmins()` появился тип параметра, а публичные константы `SipStatusInfor...

3 мин
ui 26.687.0 Рутинное Свежее

UI 26.687.0: триал VibePlus в облаке и дизайн чипа TintedBitrixGpt

`Bitrix\UI\Controller\InfoHelper` при активации демо сначала спрашивает у модуля bitrix24, включён ли старт VibePlus, и если да, запускает триал VibePlus вместо обычного демо тарифа. Ветка срабатывает только при подключённом модуле bitrix24 и определённой константе `BX24_HOST_NAME`. В `ui.system.chi...

1 мин
ui 26.675.0 Ломающее Свежее

UI 26.675.0: ui.actionpanel переехал в бандл, а rich_text по-новому обходится с квадратными скобками

Модуль ui 26.675.0 собран 26 августа 2026. Из PHP поменялись `Converter` и `Whitelist` в `Bitrix\UI\Format\BBCode`, и пользовательские поля типа `rich_text` теперь иначе сохраняют и индексируют текст с квадратными скобками. На фронтенде старую панель групповых действий `ui.actionpanel` перевели на б...

4 мин
ui 26.650.0 Рутинное Свежее

UI 26.650.0: клавиатура в пикере реакций и аудио во вьюере

Релиз на 2 МБ, из PHP в нём только `config.php` расширений и номер версии. Пикером реакций теперь можно управлять с клавиатуры (роль `menu`, стрелки, Escape), у него появились опции `priorityReaction` и `contextAction` и методы `focus()` и `destroy()`. Если пикер привязан к кнопке, ссылке или элемен...

1 мин
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…
Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти