immobile 26.1150.0 Заметное

Immobile 26.1100.0–26.1200.0: команды ботов по «/», AI-задачи из сообщений и папка «Вайбкод»

2 мин чтения
Узнавайте о ломающих изменениях Битрикса раньше, чем они доедут до прода: свежие разборы — в канале @bxmax_updates

Модуль immobile обновился в коробочном Битрикс24 трижды: 26.1100.0 (в одной поставке с im 26.1000.0), 26.1150.0 и 26.1200.0 (вместе с im 26.1100.0 и call 26.800.0). PHP-API модуля только вырос: четыре метода Settings и класс вкладки VibecodeApp. Почти всё новое включается опциями im или immobile и нативными флагами приложения, так что на портале с настройками по умолчанию большей части изменений пользователи не увидят.

Новое

Команды бота открываются по «/» (26.1200.0)

Если набрать «/» в поле ввода, приложение покажет панель команд ботов этого чата. Список приходит из im.v2.Chat.Command.list, кешируется на телефоне по чату и языку и обновляется при каждом открытии панели. Экстранет-пользователь не увидит команды с EXTRANET_SUPPORT = 'N', гостю панель не показывается совсем. На портале панель включает опция im/chat_bot_commands_available (по умолчанию N), а кнопке «/» нужна ещё свежая сборка приложения.

Проверьте, как регистрируются ваши команды. Если флаг EXTRANET_SUPPORT не передан, Command::register() пишет 'N'. Команда модуля без METHOD_LANG_GET получает HIDDEN = 'Y' и в панель не попадёт ни у кого. Команда без BOT_ID в панель тоже не попадёт. Без COMMON = 'Y' команда видна только в чатах, где есть бот. Бот, с которым работает экстранет, регистрирует команду так:

        <?php

declare(strict_types=1);

use Bitrix\Im\Command;
use Bitrix\Main\Loader;
use Vendor\Helpdesk\Bot\TicketCommand;

Loader::requireModule('im');

Command::register([
    'MODULE_ID' => 'vendor.helpdesk',
    'BOT_ID' => $botId,
    'COMMAND' => 'ticket',
    'EXTRANET_SUPPORT' => 'Y',
    'CLASS' => TicketCommand::class,
    'METHOD_COMMAND_ADD' => 'onCommandAdd',
    // получает код команды и язык, возвращает ['TITLE' => ..., 'PARAMS' => ...]
    'METHOD_LANG_GET' => 'onCommandLang',
]);

    

Пример собран по коду ядра, в приложении мы его не запускали.

Задача из переписки (26.1100.0)

В меню сообщения появился пункт «Создать задачу с AI», в режиме выделения есть такая же кнопка для нескольких сообщений. Приложение отправляет их id в im.v2.Chat.Task.createByAi, а ход создания показывает панель над чатом по pull-событиям autoTaskStatus. Пункт появится, если включена опция im/ai_task_creation_from_messages_available (по умолчанию N) и на портале доступна текстовая модель модуля ai. Только тогда и удаление переезжает в «Ещё».

BitrixGPT: стоп, файлы, план рассуждений (26.1100.0, 26.1200.0)

Пока BitrixGPT генерирует ответ, кнопка отправки работает как «стоп» и вызывает im.v2.Copilot.Generation.stop (26.1100.0). Ограничения на файлы для BitrixGPT теперь приходят с сервера (расширения, размер, сколько файлов в одном сообщении), и приложение отсекает неподходящие файлы ещё до прикрепления. HEIC с айфона проходит, если разрешён jpg, потому что большие фото нативный загрузчик сам перекодирует в jpg. В 26.1200.0 пустой экран BitrixGPT здоровается по времени суток и дню недели с учётом выходных портала, а в «простом режиме», пока ответ готовится, в сообщении-заглушке сменяются шаги плана рассуждений, который присылает сервер.

Формы в сообщениях бота (26.1100.0)

Приложение научилось отправлять интерактивные формы из блочных сообщений. Кнопка формы шлёт значения полей в im.v2.Chat.Message.Block.Form.submit, на время запроса форма блокируется, и повторный тап второй запрос не создаёт. Кнопку отправки приложение принимает только внутри элемента form, тап по такой же кнопке в другом элементе игнорируется. Пока на портале выключена опция im/message_form_block_available (так по умолчанию), форма рисуется заглушкой неподдерживаемого блока. Серверную часть смотрите в разборе im.

Папка «Вайбкод» с чатами приложений (26.1100.0–26.1200.0)

В 26.1150.0 приложение научилось показывать системную папку im с чатами приложений Вайбкода. Папку включает опция im/vibecode_apps_folder_available (по умолчанию N), вкладку описывает новый класс Bitrix\ImMobile\NavigationTab\Tab\VibecodeApp. Такой чат нельзя скрыть или переложить в личную папку, поэтому в меню строки остались только «без звука», закрепление и отметка о прочтении. В сайдбаре чата приложения есть кнопка, которая открывает само приложение. Опция immobile/vibecode_app_chat_send_permission_available (по умолчанию Y) запрещает писать в чат приложения, если права чата этого не дают.

С 26.1100.0 на кнопке Вайбкода в шапке мессенджера вместо точки стоит число новых приложений. Когда включена папка, коннектор может этот счётчик убрать (Settings::isVibecodeNewAppsBadgeAvailable(), 26.1150.0). В 26.1200.0 опция immobile/vibecode_recent_action_available (по умолчанию N) добавляет кнопку открытия приложения прямо в строку списка чатов.

Что ещё заметит пользователь

  • «Прочитать все» заработало во вложенных вкладках: задачи, чаты коллаба, BitrixGPT проекта, календарь (26.1100.0).
  • Роль «Администраторы» в чатах теперь называется «Модераторы» (26.1100.0).
  • Основную быструю реакцию можно выбрать, она хранится на сервере (im.v2.Settings.General.list и update) и расходится по устройствам pull-событием settingsUpdate (26.1200.0).
  • Если упомянуть человека не из чата, приложение предложит его добавить. Включается опцией im/mention_add_to_chat_popup_available (26.1200.0).
  • У видеокружков появилась скорость воспроизведения под опцией im/video_note_playback_rate_available (26.1200.0).

Мелочи и находки

  • Кнопку Вайбкода больше не включить одной опцией immobile/is_vibecode_button_available (26.1100.0). Settings::isVibecodeButtonAvailable() спрашивает модуль vibecodeconnector, без него возвращает false, а экстранет-пользователям кнопка не показывается.
  • Аудиопанель в 26.1200.0 смотрит на флаг Bitrix\Mobile\Feature\AudioPlayerV2Feature вместо опции im/can_use_audio_panel, и старая опция больше ничего не включает. В mobile 26.1200.0 этот класс уже удалён, а его замены в immobile 26.1200.0 ещё нет, поэтому на нашем эталоне с этими двумя версиями аудиопанель выключена. Вместе с ней не виден и новый аудиоплеер 26.1200.0 для голосовых и вкладки «Аудио» в сайдбаре, потому что приложение берёт его, только когда аудиопанель включена. Про переезд флагов написано в разборе mobile.
  • Фразы про модераторов получили новые ключи с суффиксом _MSGVER_1. Если вы переопределяли старые ключи в user_lang, переводы придётся перенести.
  • CopilotChat::getFileUploadPolicyPublicData() (26.1100.0) и GreetingProvider (26.1200.0) модуль вызывает только под Loader::includeModule('im'), хотя Settings::isVideoNotePlaybackRateAvailable() в 26.1200.0 версию im через method_exists проверяет. Первый появился в im 26.1000.0, второй в im 26.1100.0, в более старых версиях im их нет.

Новая версия вышла — разбор уже в Telegram

В канале @bxmax_updates публикуем каждый свежий разбор: что сломается, что устарело и что появилось в API. Узнаете до того, как обновите прод.

Подписаться

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

socialnetwork 26.200.0 Безопасность Свежее

Socialnetwork 26.200.0: XSS в заявках и списке участников, копирование проекта по праву редактирования и курсор в log.blogpost.get

Socialnetwork 26.200.0 закрывает XSS в списке участников проекта и в заявках в группы, подмену ссылок через название группы и утечку задач в контекст AI. Копировать проект теперь можно только с правом на редактирование. Администраторам, у которых стояли 26.100.0 или 26.150.0, стоит проверить права с…

2 мин
sign 26.800.0 Безопасность Свежее

Sign 26.800.0: закрыли доступ к чужим документам, к приглашению на подпись можно дописать текст

Sign 26.800.0 для коробочного Битрикс24 закрывает несколько дыр в проверке прав: часть AJAX-экшенов модуля не проверяла, есть ли у пользователя доступ к конкретному документу, группе или участнику. Если на портале подписывают документы, с сотрудниками или с клиентами, обновляйтесь. Из нового — текст…

2 мин
search 26.100.0 Ломающее Свежее

Search 26.0.0–26.100.0: новые атрибуты Sphinx, переиндексация из консоли и исправленная проверка прав

Модуль поиска обновился сразу на две версии: 25.200.0 → 26.0.0 → 26.100.0. Без правки sphinx.conf индексация на Sphinx перестанет работать, а у встроенного движка и FULLTEXT MySQL/PostgreSQL, судя по коду, заголовки новых записей больше не попадают в индексируемый текст. В 26.100.0 закрыли пропуск п…

2 мин
rest 26.800.0 Ломающее Свежее

Rest 26.700.0–26.800.0: отложенная установка приложений, строгий bool в REST 3.0 и вебхуки со сроком действия

В БУС вышли подряд две версии `rest`: 26.700.0 и 26.800.0. В 26.700.0 у входящих вебхуков появился срок действия, а сотрудник без права установки может попросить администратора поставить приложение. В 26.800.0 поменялось время срабатывания `OnRestAppInstall`, REST 3.0 стал строже проверять входные д…

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

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

на связи

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

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

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

Войти